您好,欢迎来到华佗健康网。
搜索
您的当前位置:首页投资的收益和风险

投资的收益和风险

来源:华佗健康网
数学实验报告

实验序号:5 日期:2007年12月9日 专业年级 试验名称 问题背景描述: 市场上有n种资产si(i=1,2……n)可以选择,现用数额为M的相当大的资金作一个时期的投资。这n种资产在这一时期内购买si的平均收益率为ri,风险损失率为qi,投资越分散,总的风险越小,总体风险可用投资的si中最大的一个风险来度量。 购买si时要付交易费,(费率应数05级 姓名 郑德壮 学号 0505030227 投资的收益和风险 pi),当购买额不超过给定值ui时,交易费按购买ui计算。另外,假定同期银行存款利率是r0,既无交易费又无风险。(r0=5%) 已知n=4时相关数据如下: si S1 S2 S3 S4 ri(%) 28 21 23 25 qi(%) 2.5 1.5 5.5 2.6 pi(%) 1 2 4.5 6.5 ui(元) 103 198 52 40 试给该公司设计一种投资组合方案,即用给定达到资金M,有选择地购买若干种资产或存银行生息,使净收益尽可能大,使总体风险尽可能小。 实验目的: 用计算机求解线性规划计算问题; 实验原理与数学模型: 基本假设: 1. 投资数额M相当大,为了便于计算,假设M=1; 2.投资越分散,总的风险越小; 3.总体风险用投资项目si中最大的一个风险来度量; 4.n种资产Si之间是相互的; 5.在投资的这一时期内, ri,pi,qi,r0为定值,不受意外因素影响; 6.净收益和总体风险只受 ri,pi,qi影响,不受其他因素干扰。 符号规定: Si ——第i种投资项目,如股票,债券 ri,pi,qi ----分别为Si的平均收益率,交易费率,风险损失率, ui ----Si的交易定额 r0 -------同期银行利率 xi -------投资项目Si的资金 a -----投资风险度

1

Q ----总体收益 ΔQ ----总体收益的增量 模型的建立与分析: 1.总体风险用所投资的Si中最大的一个风险来衡量,即max{ qixi|i=1,2,…n} 2.购买Si所付交易费是一个分段函数,即 pixi xi>ui 交易费 = piui xi≤ui 而题目所给定的定值ui(单位:元)相对总投资M很小, piui更小, 可以忽略不计,这样购买Si的净收益为(ri-pi)xi 3.要使净收益尽可能大,总体风险尽可能小,这是一个多目标规划模型: 目标函数 MAX(rp)x iiii0n MINmax{ qixi} 约束条件 (1p)x=M iii0n xi≥0 i=0,1,…n 4. 模型简化: a. 在实际投资中,投资者承受风险的程度不一样,若给定风险一个界限a,使最大的一个 风险qixi/M≤a,可找到相应的投资方案。这样把多目标规划变成一个目标的线性规划。 模型1 固定风险水平,优化收益 目标函数: Q=MAX(rp)xiii1n1i 约束条件: qixiM≤a (1p)xiiM, xi≥ 0 i=0,1,…n b.若投资者希望总盈利至少达到水平k以上,在风险最小的情况下寻找相应的投资组合。 模型2 固定盈利水平,极小化风险 目标函数: R= min{max{ qixi}} 约束条件: (ri0nipi)xi≥k, M , xi≥ 0 i=0,1,…n (1p)xii投资者在权衡资产风险和预期收益两方面时,希望选择一个令自己满意的投资组合。 因此对风险、收益赋予权重s(0<s≤1),s称为投资偏好系数. 模型3 目标函数:min s{max{qixi}} -(1-s)n(rp)xiii0ni 约束条件 (1p)x=M, x≥0 i=0,1,2,…n iiii0 2

实验所用软件及版本: 学校机房里的Matlab 6.5版本 模型1的求解 模型1为: minf = (-0.05, -0.27, -0.19, -0.185, -0.185) (x0 x1 x2 x3 x 4 ) T x0 + 1.01x1 + 1.02x2 +1.045x3 +1.065x4 =1 s.t. 0.025x1 ≤a 0.015x2 ≤a 0.055x3 ≤a 0.026x4≤a xi ≥0 (i = 0,1,…..4) 由于a是任意给定的风险度,到底怎样给定没有一个准则,不同的投资者有不同的风险度。我们从a=0开始,以步长△a=0.001进行循环搜索,编制程序如下: a=0; while(1.1-a)>1 c=[-0.05 -0.27 -0.19 -0.185 -0.185]; Aeq=[1 1.01 1.02 1.045 1.065]; beq=[1]; A=[0 0.025 0 0 0;0 0 0.015 0 0;0 0 0 0.055 0;0 0 0 0 0.026]; b=[a;a;a;a]; vlb=[0,0,0,0,0];vub=[]; [x,val]=linprog(c,A,b,Aeq,beq,vlb,vub); a x=x' Q=-val plot(a,Q,'.'),axis([0 0.1 0 0.5]),hold on a=a+0.001; end xlabel('a'),ylabel('Q') 实验过程记录(含:基本步骤、主要程序清单及异常情况记录等):1 1 先建立名为matlab1.m的文件:如下: c=[-0.4 -0.28 -0.32 -0.72 -0. -0.6]; A=[0.01 0.01 0.01 0.03 0.03 0.03;0.02 0 0 0.05 0 0;0 0.02 0 0 0.05 0;0 0 0.03 0 0 0.08]; b=[850;700;100;900]; Aeq=[ ]; beq=[ ]; vlb=[0;0;0;0;0;0]; vub=[ ]; [x,fval]=linprog(c,A,b,Aeq,beq,vlb,vub) 在matlab环境下键入命令 matlab1,得到 x = 3

1.0e+004 * 3.5000 0.5000 3.0000 0.0000 0.0000 0.0000 fval = -2.5000e+004 2.又建立名为matlab2.m的文件:如下: c=[6 3 4]; A=[0 1 0]; b=[50]; Aeq=[1 1 1]; beq=[120]; vlb=[30,0,20]; vub=[ ]; [x,fval]=linprog(c,A,b,Aeq,beq,vlb,vub) 在matlab环境下键入命令 matlab2,得到 x = 30.0000 50.0000 40.0000 fval = 490.0000 3. 又建立名为matlab3.m的文件:如下: %首先输入下列系数: f = [13 9 10 11 12 8]; A = [0.4 1.1 1 0 0 0 0 0 0 0.5 1.2 1.3]; b = [800; 900]; Aeq=[1 0 0 1 0 0 0 1 0 0 1 0 0 0 1 0 0 1]; beq=[400 600 500]; vlb = zeros(6,1); 在matlab环境下键入命令 matlab3,得到 x =

4

0.0000 600.0000 0.0000 400.0000 0.0000 500.0000 fval = 1.3800e+004 4 又建立名为matlab4.m的文件:如下: %首先输入下列系数: c = [40;36]; A=[-5 -3]; b=[-45]; Aeq=[]; beq=[]; vlb = zeros(2,1); vub=[9;15]; %然后调用linprog函数: [x,fval] = linprog(c,A,b,Aeq,beq,vlb,vub) 在matlab环境下键入命令matlab4,得到 x = 9.0000 0.0000 fval = 360 5. 又建立名为matlab5.m的文件:如下: while(1.1-a)>1 c=[-0.05 -0.27 -0.19 -0.185 -0.185]; Aeq=[1 1.01 1.02 1.045 1.065]; beq=[1]; A=[0 0.025 0 0 0;0 0 0.015 0 0;0 0 0 0.055 0;0 0 0 0 0.026]; b=[a;a;a;a]; vlb=[0,0,0,0,0]; vub=[]; [x,val]=linprog(c,A,b,Aeq,beq,vlb,vub); a x=x' Q=-val plot(a,Q,'.') axis([0 0.1 0 0.5])

5

hold on a=a+0.001; end xlabel('a'),ylabel('Q') 在matlab环境下键入命令 matlab5,得到图形: 结果分析: 1.风险大,收益也大。 2.当投资越分散时,投资者承担的风险越小,这与题意一致。即: 冒险的投资者会出现集中投资的情况,保守的投资者则尽量分散 3.曲线上的任一点都表示该风险水平的最大可能收益和该收益要求的最小 风险。对于不同风险的承受能力,选择该风险水平下的最优投资组合。 4.在a=0.006附近有一个转折点,在这一点左边,风险增加很少时,利润增长 很快。在这一点右边,风险增加很大时,利润增长很缓慢,所以对于风险和 收益没有特殊偏好的投资者来说,应该选择曲线的拐点作为最优投资组合, 大约是a*=0.6%,Q*=20% ,所对应投资方案为: 风险度 收益 x0 x1 x2 x3 x4 0.0060 0.2019 0 0.2400 0.4000 0.1091 0.2212 实验总结: 通过本次实验进一步理解了建立数学模型的方法,巩固了MATLAB 的简单操作。并能够用MATLAB求线性方程组的通解。不过在实验中还遇到一些建模方面不太理解的问题,我会通过课后的学习解决它。

6

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo0.com 版权所有 湘ICP备2023021991号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务