利用python构建马科维茨_Python_画马科维茨有效前沿

本文介绍了如何利用Python构建马科维茨投资组合理论中的有效前沿。通过导入相关模块,获取股票数据,计算组合的收益和风险,绘制了马科维茨有效前沿图,并展示了不同数量股票组合的有效前沿形态。
摘要由CSDN通过智能技术生成

0. Backgound

有效前沿是在给定投资范围,return-risk约束条件下同等风险情况下收益最大的的资产配置集合。

说白了,就是给一堆可投资券,求各种配比的组合下,相同return方差最小(或者相同方差return最大)的点集合。

更形象来说,就是在return-σ象限把投资组合的各种配比可能性都点在图上,左上方的edge就是这个有效前沿。

1. 导入模块

import pandas as pd

import numpy as np

import matplotlib.pyplot as plt

#用于正常显示中文标签

plt.rcParams["font.sans-serif"]=["SimHei"]

plt.rcParams["axes.unicode_minus"] = False

# 启动windpy接口

from WindPy import w

w.start()

2. 准备函数

def risk_free_rate(date):

r = w.wsd("SHIBOR6M.IR", "close,settle", date, date, "")

if r.ErrorCode !=0:

print("WIND数据读取有误,ErrorCode=" + str(r.ErrorCode))

sys.exit()

r = r.Data[0][0]/100

return r

def stock_close_data(stock_list,st

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值