這是本階段最後一次學習馬科維茨投資組合理論的軟體實作。
一、建立投資組合
%模拟N種資産的收益率
mu=[10 20 30 50 60 90 120];sigma=[0.06 0.01 0.2 0.8 1.5 6 3.5];
M=100;N=7;
for i=1:N
R(:,i)=normrnd(mu(i),sigma(i),M,1);
ER(i)=mean(R(:,i));
ECov=cov(R);
end
%設定投資組合的基本資訊與初始權重
p=Portfolio;
p=setAssetMoments(p,ER,ECov);
p=setInitPort(p,1/N);
%估計在初始權重下的風險R1與回報率R2
[R1,R2]=estimatePortMoments(p,p.InitPort)
%得到有效前沿下的風險與收益
p=setDefaultConstraints(p);
bestwgt=estimateFrontier(p,5);
[brsk,bret]=estimatePortMoments(p,bestwgt);
二、無風險情況
%計算無風險下的風險與收益
%無風險,即預算為0(不投資)
q=setBudget(p,0,1);
freeriskwgt=estimateFrontier(q,5);
[qrsk,qret]=estimatePortMoments(q,freeriskwgt);<