您的位置:首页 > 编程语言 > MATLAB

如何用matlab,frontcon函数画出有效市场边缘和资本市场线

2016-10-24 01:42 851 查看
既上一篇有效市场边缘的作图:http://blog.csdn.net/alanguoo/article/details/52905121

这次来说一下怎么在有效市场边缘上画出切线,即资本市场线,CAL ( capital market line )

同样地,两个资产期望收益率: 8%, 5%

风险,即标准差:25%, 20%

相关系数:0.925

这里主要用到 frontcon 这个函数,读者可以自行查阅该函数用法。



代码如下:

ExpReturn = [.08, .05];
ExpRisk =[ .25, .2];
r0 = .02;
NumPorts = 100000;
corr = [1, 0.925; 0.925, 1];
cov = corr2cov(ExpRisk, corr);
[PortRisk, PortReturn, PortWts] = frontcon( ExpReturn, cov, NumPorts,[],[-15, -15;15, 15]);
SharpeRatio = (PortReturn - r0)./PortRisk;
[SR, index] = max(SharpeRatio);
h = figure;
scatter(PortRisk, PortReturn,3, 'r','filled')

title('Mean-variance-efficient frontier');
xlabel('Risk(Standard deviation)');
ylabel('Expected return');
hold on;
plot([0, PortRisk(index)], [r0, PortReturn(index)], 'k');
text(PortRisk(index),PortReturn(index),{['Sharpe Ratio: ',num2str(SR)];['Return: ',...
num2str(PortReturn(index))];['Risk: ',num2str(PortRisk(index))];['W1 = 9'];['W2 = -8']});当然这里可以增加资产数,这样的画相关系数矩阵也随之扩大。 如果是4个资产,就需要4*4的相关系数矩阵
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息