这个问题我用matlab尝试了一下
借鉴前人的经验,从雅虎财经上拔取了四只股票的数据
( http://finance.cn.yahoo.com/mark/history.php?code=sh000001&type=history)
分别选取浦发银行(600000sh)、皖通高速(600012sh)、老白干酒(600559sh)、国药股份(600511sh)四只股票从2009.01.01至2012.10.28每月最后一个交易日的收盘价作为初始数据,计算出每只股票的月收益率,保存在“股票.xlsx”文件里(注意:这个文件一定要放在matlab工作区的文件夹里,否则找不到)。
>>A=xlsread('股票.xlsx') %从execl中读取数据到matlab
>>R1=A(1:45,2) %R1为浦发银行600000sh的月收益率
>>R2=A(1:45,4) %R2为皖通高速600012sh的月收益率
>>R3=A(1:45,6) %R3为老白干酒600559sh的月收益率
>>R4=A(1:45,8) %R4为国药股份600511sh的月收益率
>>R=[R1,R2,R3,R4] %R为四只股票的收益率矩阵
>>ER=mean(R) %期望收益率ER=[0.0082 0.0072 0.0426 0.0056]
>>DR=cov(R) %协方差矩阵sigma=DR的元素如下
% 0.0106 0.0053 0.0055 0.0004
% 0.0053 0.0092 0.0043 0.0026
% 0.0055 0.0043 0.0306 0.0071
% 0.0004 0.0026 0.0071 0.0095
>> frontcon(ER,DR)