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

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

  • 5
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值