天天减肥网,内容丰富有趣,生活中的好帮手!
天天减肥网 > (二十一)资产(组合)的预期收益率和风险

(二十一)资产(组合)的预期收益率和风险

时间:2024-04-10 00:29:24

相关推荐

(二十一)资产(组合)的预期收益率和风险

两种资产组合的收益与方差

例1:两个资产组合权重向量为XT=[0.75,0.25]T,每个资产的方差均为0.1且协方差为0.05,求组合方差:

import numpy as npimport pandas as pdx=np.mat('0.75;0.25')v=np.mat('0.1 0.05;0.05 0.1')#矩阵的每一行用分号隔开,每一列用空格隔开x.T*v*xOut[1]: matrix([[0.08125]])#或者直接用两种资产的方差公式:(0.75**2)*0.1+(0.25**2)*0.1+0.75*0.25*2*0.05Out[2]: 0.08125

多种资产组合的收益与方差

例2:从中挑出4支A股股票,随机分配权重生成投资组合P,求P的预期收益率与波动率。

step1:挑选4支看似相关性不大的股票,汇总它们在的收盘价数据并可视化:

from datetime import dateimport pandas_datareader.data as webdf1=web.DataReader("600519.SS","yahoo",date(,1,1),date(,1,1))['Adj Close']df2=web.DataReader("600276.SS","yahoo",date(,1,1),date(,1,1))['Adj Close']df3=web.DataReader("600900.SS","yahoo",date(,1,1),date(,1,1))['Adj Close']df4=web.DataReader("002739.SZ","yahoo",date(,1,1),date(,1,1))['Adj Close']data=pd.concat([df1,df2,df3,df4],axis=1)data.columns=['贵州茅台','恒瑞医药','长江电力','万达电影']#注意修改列名的函数格式data.head()Out[3]: 贵州茅台 恒瑞医药 长江电力 万达电影Date -01-02 590.239502 44.011105 14.840364 21.920000-01-03 581.390564 42.432388 14.984726 21.549999-01-04 593.215454 45.157700 14.744123 21.780001-01-07 596.654480 44.509624 14.667130 22.370001-01-08 595.964722 44.850212 14.975102 22.059999from pylab import mplmpl.rcParams['font.sans-serif']=['SimHei']mpl.rcParams['axes.unicode_minus']=False(data/data.iloc[0]).plot()#在首个交易日归一化并画图

step2:生成4支股票的对数收益率序列:

r=np.log(data/data.shift(1))#对应位置元素相除,data.shift(1)表示所有数据往下掉一行r=r.dropna()r.describe()Out[5]: 贵州茅台 恒瑞医药 长江电力 万达电影count 242.000000 242.000000 242.000000 242.000000mean0.002684 0.002848 0.000904 -0.000591std0.018873 0.05 0.010518 0.025125min-0.049550 -0.073313 -0.032278 -0.12384525%-0.008131 -0.007375 -0.005041 -0.01387450%0.001124 0.003114 0.000000 0.00000075%0.011745 0.013627 0.006933 0.011773max0.057168 0.065688 0.033779 0.095310

step3:生成4支股票的随机权重:

x=np.random.rand(4)#在0~1中生成4个服从均匀分布的随机数w=(x/sum(x)).round(3);wOut[6]: array([0.249, 0.379, 0.257, 0.115])#可以猜到按照这个权重配置的资产组合收益率一定很高

step4:计算4支股票的平均收益率、协方差矩阵、相关系数矩阵(可选)和波动率(可选),注意要对日数据年化处理

r_mean=r.mean()*252;r_meanOut[7]: 贵州茅台 0.676281恒瑞医药 0.717733长江电力 0.227838万达电影 -0.148868dtype: float64r_cov=r.cov()*252;r_covOut[8]: 贵州茅台恒瑞医药长江电力万达电影贵州茅台 0.089764 0.049025 0.004747 0.021752恒瑞医药 0.049025 0.102264 0.009374 0.018367长江电力 0.004747 0.009374 0.027876 0.000882万达电影 0.021752 0.018367 0.000882 0.159079r_corr=r.corr();r_corrOut[9]: 贵州茅台恒瑞医药长江电力万达电影贵州茅台 1.000000 0.511690 0.094888 0.182029恒瑞医药 0.511690 1.000000 0.175577 0.144004长江电力 0.094888 0.175577 1.000000 0.013252万达电影 0.182029 0.144004 0.013252 1.000000r_vol=r.std()*np.sqrt(252);r_volOut[10]: 贵州茅台 0.299606恒瑞医药 0.319787长江电力 0.166961万达电影 0.398847dtype: float64

step5:计算由这4支股票和随机权重构成的组合平均收益率和收益波动率:

Rp=sum(r_mean*w);round(Rp,4)Out[11]: 0.4818#该组合的平均收益率为48.18%/年w=np.mat(w);r_cov=np.mat(r_cov)volp=np.sqrt(w*r_cov*w.T);volp.round(4)Out[51]: array([[0.1969]])#该组合的收益波动率为19.69%/年

如果觉得《(二十一)资产(组合)的预期收益率和风险》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。