266
Appendix B: Software
rp=[r1-mean(r1),r2-mean(r2),r3-mean(r3)]; % for cov. matrix
C=rp’*rp/N; % covariance matrix, (3.8)
CC=inv(C); % and its inverse
A=[ra’*CC*ra , ee’*CC*ra ;
% (3.16)
ra’*CC*ee , ee’*CC*ee]
AA=inv(A);
K=0;
for rho=0:0.0002:0.04; %...loop over the desired returns
lambda=AA*[rho;1];
% (3.17)
w=lambda(1)*CC*ra+lambda(2)*CC*ee;
% (3.18)
K=K+1;
rrho(K)=rho;
sig(K)=sqrt(w’*C*w);
% definition of sigma
end
plot(sig,rrho)
xlabel(’Volatility \sigma’)
ylabel(’Portfolio return \rho’)
hold on
%......plot data points for the three underlying assets
plot(sqrt(C(1,1)),ra(1),’k*’,sqrt(C(2,2)),ra(2),’k*’, ...
sqrt(C(3,3)),ra(3),’k*’)
rhomin=-AA(1,2)/AA(1,1);
% (3.20)
sigmin=sqrt(det(AA)/AA(1,1)) % (3.21)
plot(sigmin,rhomin,’*’)
text(sigmin+0.001,rhomin,’\leftarrow Minimum risk’)
%...add a zero risk asset
r0=0.008; % rate of return of the zero risk asset
deltar=ra-r0*ee; % (3.25)
K=0;
for rho=r0:0.0001:5*r0
ww=(rho-r0)/(deltar’*CC*deltar)*CC*deltar; % (3.28)
K=K+1;
rrho2(K)=rho;
sig2(K)=sqrt(ww’*C*ww);
% (3.29)
end
plot(sig2,rrho2,’r--’)
rhot=r0+(deltar’*CC*deltar)/(ee’*CC*deltar)
% (3.30)
sigmat=sqrt((deltar’*CC*deltar)/(ee’*CC*deltar)ˆ2)
plot(sigmat,rhot,’r*’)
text(sigmat+0.001,rhot-0.001, ...
’\leftarrow Tangent/Market portfolio’)
text(0.031,0.027,’\leftarrow Efficient frontier’);
text(0.015,0.033,’Capital market line \rightarrow’)
Précédent

- 272/292

Suivant