具体题目就不复述了,毕竟大家都查到这里了~
想看具体题目及分析的可以搜索“MATLAB 投资最小化风险”之类的关键词,有很多文章解答模型 一的。
然后这里主要是完成了这个作业,自己在写的时候怎么都找不到帮助,所以交了作业之后就来分享一下,因此该文是作业导向,然后可能会有一些问题,但是足够交作业了,不过有能手愿意帮我改进一下的我也感激不尽哈。
以下是作业。
模型分析:
代码部分:
k=0;
while k<=0.27
for p=[0.025 0.015 0.055 0.026]
c=[0 0 0 0 0 p];
Aeq=[1 1.01 1.02 1.045 1.065 0];
Beq=[1];
A=[-0.05 -0.27 -0.19 -0.185 -0.185 0;0 0.025 0 0 0 -p;0 0 0.015 0 0 -p;0 0 0 0.055 0 -p;0 0 0 0 0.026 -p];
b=[-k;0;0;0;0];
Lb=[0 0 0 0 0 0];
Ub=[];
[x,val]=linprog(c,A,b,Aeq,Beq,Lb,Ub);
end
k
x=x'
R=val
plot(k,R,'r.')
axis([0 0.27 0 0.1])
hold on
k=k+0.001;
end
xlabel('k');
ylabel('R')
然后是我的数据表格(这个我是手搓的):
我的结果图形:
结果分析:
结果分析:
- 收益越高,风险越大。
- 当投资越分散时,投资者承担的风险越小,这与题意一致,即:冒险的投资者会出现集中投资的情况,而保守的投资者则尽量分散投资。
- 上图曲线上的任一点都表示该收益水平下的最小风险和该风险要求的最大收益。对于不同的收益水平要求,选择该收益水平下的最优投资组合
- 该图共出现两个拐点,分别对应(0.1,0.0020)和(0.203,0.0062)附近。在两拐点左边左边利润增加很大时,风险增长较慢,在该点右边利润增加很少时,风险增大较快。
- 但是在k=0.1左边时,收益过小。所以对于风险和收益没有特殊偏好的投资者来说,应该选择第二个拐点处作为最优投资组合。
大约为k=0.2030,R=0.0062。
收益k | 风险R | X0 | X1 | X2 | X3 | X4 |
0.2030
| 0.0062
| 0
| 0.2493 | 0.4155 | 0.1133 | 0.1934 |
以上就是作业的全部内容了。
其中的一些基础框架,包括模型分析和代码以及结果分析,都是在老师提供的基础上改进完成的。然后那几张蓝色的图也是截自老师的PPT。
有点创新的部分就是在取风险的时候,因为是最大值近似,所以:
手写的,尽量看哈。
当然这个代码可能是有一些小问题的,然后最终的数据也有一些bug,不过问题不大~
记得改数据!!!