matlab 实验报告 -- 证券的投资选择
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Matlab上机实验报告
一.题目
设有三种证劵S1,S2,S3,期望收益率分别为10%,15%和40%,风险分别是10%,5%和20%。假定投资总风险用最大一种投资股票的风险来度量,且同期银行存款利率为r0=5%,无风险,为投资者建议一种投资策略(投资比例),使其尽可能获得最大收益。
二.问题分析
本题是一种投资问题,可以转化为具有约束条件的线性函数的极值求解问题。
根据各种投资方式的收益率,列出总收益与投资比例(各种投资方式的投资数目)的方程。以总投资数为1,各种投资方式的的风险不大于最大投资风险,各种投资方式投资数大于0为约束条件,建立含约束条件的线性函数。通过求极值解决问题。
三.假设约定
假设投资三种证劵的资金分别为s1,s2,s3,投资银行存款的资金为s0,总投资金额为S,投资的风险度为a,设这三种证劵之间是相互独立的,且在投资的同一时期内,证劵收益率,风险度及银行的利率都不发生变化。
四.模型建立
由题目的已知条件可以知道投资后获得的各项收益为0.05s0,0.1s1,
0.15s2,0.4s3,投资三种证劵的风险度分别为0.1s1/S, 0.05s2/S, 0.2s3/S,为
使投资者获得最大收益,在总风险不超过a的情况下,可以建立如下模型:
max 0.05s0+0.1s1+0.15s2+0.4s3
且:s0+s1+s2+s3=S
0.1s1/S<=a
0.05s2/S<=a
0.2s3/S<=a
s1>=0,s2>=0,s3>=0
五.模型简化
令xi=si/S,则原模型可以简化为:
min f=-0.05x0-0.1x1-0.15x2-0.4x3
其中:x1+x2+x3+x4=1
0.1x1<=a
0.05x2<=a
0.2x3<=a
x1>=0,x2>=0,x3>=0 六.程序代码
使用MATLAB编写的程序如下所示:
a=0;
c=[-0.05,-0.1,-0.15,-0.4];
A=[0,0.1,0,0,;0,0,0.05,0;0,0,0,0.2];
aeq=[1,1,1,1];
beq=[1];
vlb=[0,0,0,0];
vub=[0];
for a=0:0.01:0.3
b=[a,a,a,a];
[x,val]=linprog(c,A,b,aeq,beq,vlb,vub);
a
x=x’
Q=-val
plot(a,Q,’.’)
hold on
end
七.实验结果
程序运行后所得的结果如下所示
原始数据如下:
a =0.1990
x =0 0.0000 0.0050 0.9950
Q =0.3987
a =0.2000
x = 0 0.0000 0.0000 1.0000 Q = 0.4000
a =0.2010
x =0 0.0000 0.0000 1.0000
Q = 0.4000
a = 0.2020
x =0 0.0000 0.0000 1.0000
Q = 0.4000
a =0.2030
x =0 0.0000 0.0000 1.0000
Q = 0.4000
八.结果分析
(1)风险越大,收益也越大,但不承线性分布。
(2)风险较小时,收益随风险的增加较明显。风险较大时,收益随风险的增加不明显。
(3)经过对风险与收益的关系图可知,在转折点处,风险较小但受益最大。通过对结果的分析可以得出最佳的投资策略(投资比例):
九.总结体会
本题目考察了matlab软件中for语句的灵活运用,以及各种语句之间的配合,体现了该软件灵活丰富的编程功能。
实验锻炼了我们分析实际问题、转化问题、并用所学解决问题的能力。尤其是将身边的实际问题转化为数学问题,再将数学问题经过模型建立、简化,运用软件解决问题的能力。
实验中小组成员之间的相互协作,提高了解决问题的效率,同时增强了我们的团队意识