matlab-实验报告----证券投资选择

来源:工作范文网 时间:2020-09-22 08:31:26

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

=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) 经过对风险与收益的关系图可知,在转折点处,风险较小但受益最大。

通过对结果的分析可以得出最佳的投资策略(投资比例) :

风险度

收益

x0

X1

X2

X3

0.0200

0.4000

0

0

0

1.0000

九.

总结体会

本题目考察了 matlab 软件中 for 语句的灵活运用, 以及各种语句之间的配合,

体现了该

软件灵活丰富的编程功能。

实验锻炼了我们分析实际问题、 转化问题、 并用所学解决问题的能力。

 尤其是将身边的实际问题转化为数学问题,再将数学问题经过模型建立、简化,运用软件解决问题的能力。

实验中小组成员之间的相互协作, 提高了解决问题的效率, 同时增强了我们的团

队 意 识

X