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

来源:互联网 发布:sql sa登陆失败233 编辑:程序博客网 时间:2024/04/27 20:56

既上一篇有效市场边缘的作图: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的相关系数矩阵

1 0