[问题提出]
随着经济的发展,人们的生活水平越来越高,于是就有了剩余的资金,为了让剩余的资金获得更多的利润,所以人们就把剩余的资金进行投资,市场上有n种资产si进行投资,某公司有一大笔资金M进行投资,于是公司财务人员对市场上这n种资产进行评估,估算出在这一时期内购买Si的平均收益率为,并预测出购买Si的风险损失率为。考虑到投资越分散,总的风险越小,公司规定,当用这笔资金购买若干种资产时,总体风险可用所投资的Si中最大的一个风险来度量。购买Si要付交易费,费率为,并且当购买额不超过给定值时,交易费按购买计算(不买当然无须付费)。另外,假定同期银行存款利率是, 且既无交易费又无风险(=5%)。于是公司要求设计一种投资组合方案,即用给定的资金,有选择地购买若干种资产或存银行生息,使净收益尽可能大,而总体风险尽可能小。
[问题分析]
由题目可得,该公司财务人员对这n种资产进行评估投资,使得净收益最大,总体风险最小,于是就得到投资模型
[变量定义]
M=总投资金额
Si=第i种资产(i=1,2,3……n)
ri=购买Si的平均收益率
qi=购买Si的风险率
pi=购买Si的交易费率
r0=银行存款利率
Mi=购买Si的金额
Di=所需交易费
y=净收益
Ui=Si的交易定额
=衡量资产优劣的指标
[模型假设]
1.投资数额M足够大,设为1,假设购买额Si都大于ui,;
2.各种资产不相互影响,相互的,且不受外界因素影响;
3.投资方不会中途撤离或追加资金;
4.投资越分散,总的风险越小。
5.总体风险可用投资Si的中最大的一个风险来度量。
6.净收益和总体风险不受意外因素的影响。
[模型建立]
1.总体风险可用投资Si的中最大的一个风险来度量,即
Max{Miqi/i=1,2,……n}
2.各项投资净收益可表示为:
- (Mi>uI)
y= 0 (Mi=0)
- (Mi<=ui)
3.为使净收益最大,投资风险最小,可得出一个目标函数:
MAX{-}
MIN{ Max(Miqi/i=1,2,……n)}
约束条件:
Mi≥0;i=0,1,2……,n
4.从3中可以看出,要同时满足净收益最大,投资风险最小,得到的是一个多目标规划。将这个问题转化为数学问题,可以把这个多目标规划转换为单目标规划问题。于是得到以下两种模型:
模型一:净收益水平不变,投资风险最小
在投资收益和投资风险的矛盾权衡中,有许多投资者并不追求收益率最大或是风险最小,而是追求在收益率不低于市场平均收益率的情况下,使其投资的组合风险最小。所以我们假设净收益水平不变(设最低净收益水平为a),使投资风险最小。
目标函数:
Z1= MIN{ Max(Miqi/i=1,2,……n)}
约束条件:
{-}≥a
Mi≥0;i=0,1,2……,n
模型二:风险程度不变,净收益最大
激烈的市场竞争使得企业不得不重视风险的存在。为此我们提出控制风险,谋求最大净收益的模型,即在风险一定(不大于z)的情况下,给出可使净收益Z2?最大的投资方案。所以假设投资风险程度最大为z,使净收益最大。
目标函数:
Z2=MAX{-}
约束条件:
{ Max(Miqi/i=1,2,……n)}≤z
Mi≥0;i=0,1,2……,n
【模型求解】:
模型一求解(运用lingo):
Lingo程序如下:
model:
min=@SMAX(0.025*M1,0.015*M2,0.055*M3,0.026*M4);
0.05*M0+0.27*M1+0.19*M2+0.185*M3+0.185*M4>=a;
M0+1.01*M1+1.02*M2+1.045*M3+1.065*M4=1;
a=0.12;
end
取步长为0.02,将a从0.12到0.26依次赋值,可以得出如下结果
收益
投资金额 | 0.12 | 0.14 | 0.16 | 0.18 | 0.20 | 0.22 | 0.24 | 0.26 |
M0 | 0.538 | 0.406 | 0.0275 | 0.143 | 0.107 | 0.000 | 0.000 | 0.000 |
M1 | 0.110 | 0.141 | 0.172 | 0.204 | 0.235 | 0.412 | 0.656 | 0.901 |
M2 | 0.183 | 0.235 | 0.287 | 0.400 | 0.392 | 0.572 | 0.331 | 0.0 |
M3 | 0.050 | 0.0 | 0.783 | 0.926 | 0.107 | 0.000 | 0.000 | 0.000 |
M4 | 0.105 | 0.136 | 0.166 | 0.196 | 0.226 | 0.000 | 0.000 | 0.000 |
总风险Z1 | 0.002 | 0.003 | 0.004 | 0.005 | 0.006 | 0.010 | 0.016 | 0.023 |
在获取净收益尽可能大的同时,保持投资风险尽量小,才是最佳的投资方案。根据模型一求解结果可以得出:若保守投资,使投资风险最小,那么就无法获得可观的收益;如果追求净收益最大,则投资金额会较为集中,投资就会面临较大的风险;将风险和收益综合考虑,根据上表格可以得出一个理想的投资方案应为银行存款占总投资金额的10.7%,投入资产S1的金额占总投资金额的23.5%,投入S2的金额占总投资金额的39.2%,投入资产S3的金额占总投资金额的10.7%,投入资产S4的金额占总投资金额的22.6%。此时的最优解为(0.006,0.20)。
模型二求解(运用MATLAB):
r=-[0.05 0.27 0.19 0.185 0.185]'
q=[0 0.025 0 0 0;0 0 0.015 0 0;0 0 0 0.055 0;0 0 0 0 0.026]
Aeq=[1 1.01 1.02 1.045 1.056];
beq=[1];
lb=zeros(5,1);
vb=[1;1;1;1;1];
i=1;
for z=0.001:0.002:0.05
b=[z;z;z;z];
[x,fval]=linprog(r,q,b,Aeq,beq,lb);
x
y(i)=-fval;
i=i+1;
end
z=0.001:0.002:0.05;
plot(z,y,'r');xlabel('z 风险');ylabel('y 收益');
title('风险收益图1')
hold on
plot(0.007,0.2066,'g*');
运行后得到的结果如下图:
风险Z2
投资金额 | 0.001 | 0.003 | 0.005 | 0.007 | 0.009 | 0.011 |
M0 | 0.8320 | 0.4960 | 0.1599 | 0.0000 | 0.0000 | 0.0000 |
M1 | 0.0400 | 0.1200 | 0.2000 | 0.2800 | 0.3600 | 0.4400 |
M2 | 0.0667 | 0.2000 | 0.3333 | 0.4667 | 0.6000 | 0.5447 |
M3 | 0.0182 | 0.0545 | 0.0909 | 0.1273 | 0.0233 | 0.0000 |
M4 | 0.0385 | 0.1154 | 0.1923 | 0.1025 | 0.0000 | 0.0000 |
净收益y | 0.0755 | 0.1266 | 0.1777 | 0.2068 | 0.2155 | 0.2223 |
图形中绿色标记处为所求最优解(0.007,0.2068),即总体风险为0.007时,总体收益尽可能最大为0.2068,与之对应的投资方案应为在银行投资金额占总投资金额的0%,投入资产S1的金额占总投资金额的28.0%,投入S2的金额占总投资金额的46.67%,投入资产S3的金额占总投资金额的12.73%,投入资产S4的金额占总投资金额的10.25%。
对于一般模型n=15进行求解
模型的求解
对于一般情形下的,下面进行计算。
由于一般情形中假设投资额较小时,可以忽略,验证该情况下的交易费:
可以看出,对于相当大的M,该值不计是符合的。运用相同的方法计算得到最佳抉择与收益及其风险见表2:
表2:时的投资组合方案
0 | 0.01 | 0.02~0.03 | 0.04~0.05 | 0.06~0.07 | 0.08 | 0.09 | 0.1~1 | |
0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0518 | 0.0000 | |
0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0453 | 0.0425 | 0.0403 | 0.0000 | |
0.9434 | 0.0498 | 0.0456 | 0.0427 | 0.0407 | 0.0383 | 0.0362 | 0.0000 | |
0.0000 | 0.0000 | 0.0000 | 0.0611 | 0.0582 | 0.0547 | 0.0518 | 0.0000 | |
0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | |
0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.05 | 0.0558 | 0.0000 | |
0.0000 | 0.0439 | 0.0402 | 0.0377 | 0.0359 | 0.0338 | 0.0320 | 0.0000 | |
0.0000 | 0.0000 | 0.0818 | 0.0768 | 0.0732 | 0.0687 | 0.0651 | 0.0000 | |
0.0000 | 0.0560 | 0.0513 | 0.0481 | 0.0459 | 0.0431 | 0.0408 | 0.0000 | |
0.0000 | 0.0746 | 0.0683 | 0.01 | 0.0611 | 0.0574 | 0.0544 | 0.0000 | |
0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | |
0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | |
0.0000 | 0.74 | 0.6834 | 0.11 | 0.6111 | 0.5739 | 0.5436 | 0.0000 | |
0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | |
0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | |
存银行S0 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 1.0000 |
净收益y | 0.4094 | 0.3207 | 0.3166 | 0.3107 | 0.3031 | 0.2909 | 0.2794 | 0.0500 |
风险值z | 0.5660 | 0.0299 | 0.0273 | 0.0256 | 0.0244 | 0.0230 | 0.0217 | 0.0000 |
上表中投资组合表中的收益与风险值之间的关系见图2:
图2:时收益与风险关系
由图可以看到,收益值增加的同时,风险也在增大。我们可以通过简单的曲线拟合来建立收益—风险函数,找到最优情况下的组合。
[问题分析]
.一般情况下的分析
当投资相当大时,我们可以忽略给定值ui的影响,则净收益为
Mi(ri — pi)。
当投资收益率小于银行存款利率(r0)时,我们一般不考虑投资,而是把资金存在银行,在总风险一定的情况下,资金竟可能的流向收益率高的资产项目上,在收益相同的情况下,资金流向交易费较小的那一个投资项目,因此,我们可以对资产按照净收益率进行排序,结果为:s1 s2 s3 s4 s0;由运算可以看出,随着总体风险的不断减小,投资顺序为:s1 s2 s3 s4 s0,该结果与我们按原则排序是相同的。在一定时期内,风险损失率一定的情况下,投资越分散,风险越小,当n=15时,如果继续增大n的值时,风险继续减小,此时已无意义。
综上所述:可得一个理性投资者的投资规律:
1>.当投资的收益率小于银行的利息率时,则,投资者会把资金存在没有风险和交易费的银行里,而不用来进行投资。
2>.在对多种资产进行投资的时候,在总收益一定的情况下,交易费越低的则越先进行投资;在总风险一定时,则将资金尽可能的投向收益率较高的资产项目上。
3>.n越大,风险越小,当n=15时,如果继续增大,则无意义。
[模型推广]
1、模型的优点 本问题在一定程度上综合考虑了投资的利弊,给出了一个多目标的线性模型,在M 充分大的条件下,再利用加权系数法,使问题简化,转变为线性规划模型,运用MATLAB,LINGO中的优化工具箱得到解。
2、模型的缺点 在加权系数给定的同时,发现计算数据跳跃比较大,而没有再细化值,让数据比较连贯。另外,该模型是仅在M充分大的情况下适用。忽略了交易费Ui大小的影响。而在实际生活中,尽管交易费定额Ui很低,但是在多次交易当中,该部分就不得不重视,所以模型有待进一步的改进与完善。
3、模型的推广 该问题可以推广到n种情况的投资,用来组合投资,让收益值最大而风险值最小。