
一、摘要
本论文主要讨论并解决了在组合投资问题中的投资收益与风险的有关问题。
分别在不考虑投资项目之间的影响和考虑投资项目之间的影响以及不考虑风险和考虑风险的情况下,建立相应的数学模型,来使得投获得的总利润达到最大。
模型一应用多目标决策方法建立模型,以投资效益没目标,对投资问题建立个一个优化模型,不同的投资方式具有不同的风险和效益,该模型根据优化模型的原理,提出了两个准则,并从众多的投资方案中选出若干个,使在投资额一定的条件下,经济效益尽可能大,风险尽可能小。
模型二给出了组合投资方案设计的一个线性规划模型,主要思想是通过线性加权综合两个设计目标:假设在投资规模相当大的基础上,将交易费函数近似线性化,通过决策变量化解风险函数的非线性。
二、关键字:
经济效益 线性规划模型 有效投资方案 线性加权
三、问题重述
市场上有n种资产(如储蓄、保险、国债、股票、基金、期货、外汇、房地产、珠宝、邮票、古玩字画、钱币及拍卖品等)Si ( i=1,…n) 供投资者选择,将数额1000万的一笔相当大的资金可用作一个时期的投资。现对这n种资产进行了评估,估算出在这一时期内购买Si的平均收益率为并预测出购买Si的风险损失率为。考虑到投资越分散,总的风险越小,当用这笔资金购买若干种资产时,总体风险用所投资的Si中最大的一个风险来度量。
购买Si要付交易费,费率为,并且当购买额不超过给定值时,交易按购买计算(不买当然无须付费)。另外,假定同期银行存款利率是, 且既无交易费又无风险。(=5%)
已知n = 4时的相关数据如下:
| 资产 | 收益率(%) | 风险率(%) | 交易率(%) | 阀值(元) |
| 28 | 2.5 | 1 | 103 | |
| 21 | 1.5 | 2 | 198 | |
| 23 | 5.5 | 4.5 | 52 | |
| 25 | 2.6 | 6.5 | 40 |
2、试就一般情况对以上问题进行讨论,并利用以下数据进行计算
| 资产 | 收益率(%) | 风险率(%) | 交易率(%) | 阀值(元) |
| 9.6 | 42 | 2.1 | 181 | |
| 18.5 | 54 | 3.2 | 407 | |
| 49.4 | 60 | 6.0 | 428 | |
| 23.9 | 42 | 1.5 | 549 | |
| 8.1 | 1.2 | 7.6 | 270 | |
| 14 | 39 | 3.4 | 397 | |
| 40.7 | 68 | 5.6 | 178 | |
| 31.2 | 33.43 | 3.1 | 220 | |
| 33.6 | 53.5 | 2.7 | 475 | |
| 36.8 | 40 | 2.9 | 248 | |
| 11.8 | 31 | 5.1 | 195 | |
| 9 | 5.5 | 5.7 | 320 | |
| 35 | 46 | 2.7. | 267 | |
| 9.4 | 5.3 | 4.5 | 328 | |
| 15 | 23 | 7.6 | 131 |
这是一个优化问题,要决策的是每种资产的投资额,要达到目标包括两方面的要求:净收益最大和总风险最低,即本题是一个双优化的问题,一般情况下,这两个目标是矛盾的,因为净收益越大则风险也会随着增加,反之也是一样的,所以,我们很难或者不可能提出同时满足这两个目标的决策方案,我们只能做到的是:在收益一定的情况下,使得风险最小的决策,或者在风险一定的情况下,使得净收益最大,或者在收益和风险按确定好的偏好比例的情况下设计出最好的决策方案,这样的话,我们得到的不再是一个方案,而是一个方案的组合,简称组合方案。
设购买Si (i=0,1…….n;S0表示存入银行,)的金额为xi;所支付的交易费为ci(xi),则:
对Si 投资的净收益为: (i=0,1,„,n)
对Si投资的风险为:
对Si 投资所需资金(即购买金额 xi 与所需的手续费 ci(xi) 之和)是
投资方案用 x=(x0,x1,„,xn)表示,那么,
净收益总额为: R(x)=
总风险为: Q(x)=
所需资金为:F(x)=
所以,总收益最大,总风险最小的双目标优化模型表示为: min|F(x)=M,x
但是像这样的双目标模型用一般的方法很难求解出来的,所以经过分析把次模
型转化为三种较简单的单目标模型。
四、模型的假设与符号说明
1.模型的假设:
(1)在短时期内所给出的平均收益率,损失率和交易的费率不变。
(2)在短时期内所购买的各种资产(如股票,证券等)不进行买卖交易。即在买入后就不再卖出。
(3)每种投资是否收益是相互的。
(4)在投资的过程中,无论盈利与否必须先付交易费。
2.符号说明:
| 参数 | 范围 | 说明 |
| Si | i=1,2…n | 欲购买的第i种资产的种类 |
| M | 相当大 | 现有的投资总额 |
| xi | i=1,2…n | 购买Si烦人金额 |
| ri | i=1,2…n | 购买Si的平均收益率 |
| qi | i=1,2…n | 购买Si的平均损失率 |
| pi | i=1,2…n | 购买Si超过ui时所付的交易费 |
| Ei | i=1,2…n | 购买资产Si所或得的收益 |
| k | 0.1~1 | 权因子 |
| A | 不等式右端的系数矩阵 | |
| f | 目标向量 |
由于资产预期收益的不确定性,导致它的风险特性,在这里投资Si的平均收益率为xiri,风险损失为xiqi。要使投资者的净收益尽可能大,而风险损失尽可能小,第一个解决方法就是进行投资组合,分散风险,以期待获得较高的收益,模型的目的就在于求解最优投资组合,当然最优投资还决定于个人的因素,即投资者对风险,收益的偏好程度,怎样解决二者的相互关系也是模型要解决的一个重要问题。
本题所给的投资问题是利用原给的数据,通过计算分析得到一种尽量让人满意的投资方案,并推广到一般情况,利用第二问进行验证,下面是实际要考虑的两点情况:
(1)在风险一定的情况下,取得最大的收益
(2)在收益一定的情况下,所冒的风险最小
当然,不同的投资者对利益和风险的侧重点不同,将在一定的范围内视为正常,所以只需要给出一种尽量好的模型,即风险尽量小,收益尽量大,这是一般投资者的心里。
对于模型一,在问题一的情况下,可对五种项目投资,其中银行的无风险,收益r0=5%为定值,在投资期间是不会变动的,其它的投资项目虽都有一定的风险,但其收益可能大于银行的利率,我们拟建立一个模型,这个模型对一般的投资者都适用,并根据他们风险承受能力的不同提出多个实用于各种类型人的投资方案(一般投资者分为:冒险型与保守型。即越冒险的人对风险损失的承受能力越强)。
对于模型二:由于资产预期收益的不确定性,导致它的风险特性,将资产的风险预期收益率用一定的表达式表示出来,在这里,投资Si的平均收益为X(i)*r(i),风险损失为r(i)*q(i).要使投资者的净收益尽可能大,而风险损失尽可能小。
六、模型的建立与求解
投资者的净收益为购买各种资产及银行的收益减去此过程中的交易费用。
在对资产Si进行投资时,对于投资金额xi的不同,所付的交易费用也有所不同步投资时不付费,投资额大于ui时交易费为xipi,否则交易费为uipi,记
即题中所给的交易费的计算数额是一个分段函数,在实际的计算中不容易处理,但我们注意到,在表1中,ui的数值非常小,=103+198+52+40=387元,对其中最大的ui来说,u2=198<200元,而已知M是一笔相当大的资金,同时交易费率pi的值也很小,即使在xi 设购买的金额为,所付的交易费 ()为 ()=0。 因为投资额M相当大,所以总可以假设对每个的投资, 这时(1)式可化简为 (2) 对Si投资的净收益: (3) 对投资的风险: (4) 对投资所需资金(投资金额与所需的手机费 ()之和)即 (5) 当购买的金额为(i=0~n),投资组合x=(,,……,)的净收益总额 (6) 整体风险: (7) 资金约束: (8) 多目标数学规划模型 净收益总额R( x)进、尽可能大,而整体风险Q(x)又尽可能小,则该问题的数学模型可规划为多目标规划模型,即 (9) 模型(9)属于多目标规划模型,为了对其求解,可把多目标规划转化为单目标规划。 假定投资的平均 风险水平,则投资M的风险k=M,若要求整体风险Q(x)在风险k以内,即Q(x)<=k,则模式(9)可转化为 (10) 2、模型一的求解 (1)求多目标规划模型(9)的非劣解 由多目标规划理论可知,模型(9)非劣解的必要条件(Kuhn-Tucker条件)为,存在,,>0使 问题在于如何求 (7)式给出的Q(x)的导数。 (2)求模型(10)的最优解 由于模型(10)中的约束条件Q(X) k,即 所以此约束条件可转化为: 这是模型(10)可转化为如下的线性规划: (11) 给定k,可方便的求解模型(11)。 具体计算时,为了方便起见,可令M=1,于是(1+)可视作投资的比例。 下面针对n=4,M=1的情形,按原问题给定的数据,模型(11)可变为: 3、模型二:问题分析与求解 我们的目标是对各种资产投资以后,不仅收益尽可能大,同时总体风险还要尽可能小,所以我们的目标函数应为收益和风险两个函数,由于在一般时间内的各种资产的平均收益率和风险损失率已由表中给出,因此我们可以建立数学模型 目标1:max 目标2:min s.t.: 这是一个多目标非线性数学规划模型,且不是xi的连续函数,优化求解困难,下面我们将它转化为一个线性规划模型 线性规划模型 1、目标函数的确定 多目标规划有多种方法化为单目标问题解决,我们使用线性加权 总目标函数:min 反映了风险投资中投资者的主观因素,越小表示投资越冒险,当=0是表示只顾收益不顾风险,这样的人有可能取得最大收益;=1时表示只顾风险不顾收益,这样的人会将所有的资金存入银行 2、交易费函数的线性化近似 本题中不是的连续函数,现将近似为的线性函数: 3、、风险函数的转化 令,那么必有(i=1,2,3…n)由于目标函数优化f,从而优化解必可达到使达到,这样得到线性规划模型 Min s.t 4.模型二的求解: (一)采用MATLAB优化工具箱中的线性规划函数求解,它优化下列线性规划模型: s.t 使用格式为X=lp(C,A,b,vlb,vub,,N) 其中vlb,vub分别是上下界,X0为初始值,N表示约束条件中前N个约束为等式约束 (二)计算步骤 1.输入数据,选取权因子; 2.生成矩阵C,A,b 3.根据需要取vlb,vub,X0,N(问题中vlb取零向量,V去1,vub和X0没有特殊的要求,设为空集) 4..使用MATLAB函数lp求解; 七、模型的结果分析与评价 1.结果分析 模型一: 风险投资种类n=4时,建立模型求解,任意给定投资风险上限k,在风险不超过k的情况下确定最优组合,列表1如下: 由列表(1)和图(1)可知,收益y随着风险上限k的增加而增加,在0~0.007附近增长速度最快,之后增长速度变缓慢。 在k=0.007时,得出一个较优的投资组合 收益y=0.2066, X=0 0.28 0.4667 0.1273 0.1016 n=15时的风险收益图如下: 由列表(2)和图(2)同样可知,收益y随着风险上限k的增加而增加,在0~0.08附近增长速度最快,之后增长速度变缓慢。 在k=0.08时,可以得出一个较优的投资组合 收益y=0.3229, X= 0 0 0 0.8333 0 0 0 0.1105 0 0 0 0 0 0 0 0 又又以上两图可知,收益关于风险是离散的。随着投资风险上限k的增加,收益y逐渐增大,投资者可以根据自己的偏好,选择满足要求的k和y,进行有效资产组合投资,考虑到y要尽量大,k要尽量小。同时分析风险收益曲线,当收益随风险增大急骤上升,这是由于随着风险增大,收益逐渐增大,人们对风险的厌恶程度减缓,投资者逐渐走向风险型。当上升曲线渐趋平缓,这是由于当风险大到一定程度时,风险-收益大的资产均已投资,收益变化不大。 模型二: 对于问题一: 使用线性加权法分别求解当k=0.1…1.0时的最优决策及风险和收益如下表: 表一:(收益、风险) 表二:(收益、风险) (1)从表一、表二中的结果可知,得到问题一的四个典型最优组合,问题二的7个典型最优组合,对于不同风险的承受能力,选择该风险水平下的最优投资组合,对于问题一,假如风险承受水平为0.2,那么取k=0.2时的方案是最优决策。 (2) 从图一、图二中的结果可知,净收益高和风险都是k(权因子)的单调下降函数,即说明谨慎程度越强,风险越小,但是收益也越小,具有明确的实际意义。 (3) 从如下的图三、图四可知,得出更详细的计算结果,我们用k=0~1内300等分点,求得最优投资组合集合及他们形成的有效投资曲线,这条曲线上的任一点都表示该风险水平的最大可能收益和该收益要求的最小风险,实际上我们发现其有效投资曲线是离散的,问题一只有5个最优方案,问题二中有13个最优方案,其中问题一风险0.0059(即权因子k=0.9)的决策(0.2376 ,0.3960,0.1080,0.2284,0)和问题二风险0.0995(权因子k=0.3)的决策(0,0,0.1658,0,0,0,0.1463,0,0.1867,0.2487,0,0,0.2163,0,0,0)具有特别重要的意义,因为它们对应在风险增长较慢情形下的最大收益,可认为是一般意义上的最优解。 (4) 适用性分析:当0 (1) 模型优点 (1)本文通过将风险函数转化为不等式约束,建立了线性规划模型,直接采用程序进行计算,得出优化决策方案,并且给出了有效投资曲线,根据投资者的主观偏好,选择投资方向。 (2)模型一采用线性规划模型,将多目标规划转化为单目标规划,选取了风险上限值来决定收益,根据收益风险图,投资者可根据自己的喜好来选择投资方向。 (3)模型二采用线性加权模型求解时,计算过程稳定性好,速度快,对不同的权因子进行比较,得出最优决策方案,并且给出了有效投资曲线,根据投资者的主观偏好,选择投资方向。 (2)模型缺点 当投资金额小于固定值时,建立的线性规划模型得到的结果可能不是最优解,要根据公司的资金M决策模型的优良。对于不同的金额,得到的结果不具有代表性,我们建立的模型中采用的只是M的一个特列,具有单一性。 八、 参考文献 范正森 谢兆鸿等,数学建模技术,北京,中国水利水电出版社,2003 王敏生 王庚, 现代数学建模方法, 北京,科学出版社 2006 冯杰 黄力伟等,数学建模原理与案例,北京,科学出版社,2007 李志林 欧宜贵 数学建模及典型案例分析 北京,化学工业出版社 2006 附录:Mat;ab程序 1.模型一的Matlab程序 %子程序一,问题一的求解 clear f=-[0.05,0.27,0.19,0.185,0.185]';%目标向量 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];%不等式左端的系数矩阵 aeq=[1,1.01,1.02,1.045,1.065];%等式左端的系数矩阵 beq=[1];%等式右端 lb=zeros(5,1); i=1; for k=0.001:0.002:0.05 b=[k,k,k,k]'; [x,fval,exitflag,options,output]=linprog(f,A,b,aeq,beq,lb); x y(i)=-fval i=i+1; end k=0.001:0.002:0.05; plot(k,y);xlabel('k 风险');ylabel('y 收益'); title('风险收益图1') %子程序二:问题二的求解 clear f=-[0.05,0.075,0.153,0.434,0.224,0.005,0.106,0.351,0.281,0.309,0.339,0.067,0.033,0.323,0.049,0.074]'; %目标向量 A=zeros(15,15); a=[0.42,0.54,0.6,0.42,0.012,0.39,0.68,0.3343,0.533,0.4,0.31,0.055,0.46,0.053,0.23]; B=diag(a,0); a=zeros(15,1); A=[a,B]; %不等式左端的系数矩阵 aeq=[1,1.021,1.032,1.06,1.015,1.076,1.034,1.056,1.031,1.027,1.029,1.051,1.057,1.027,1.045,1.076]; beq=[1]; lb=zeros(16,1); i=1; for k=0.001:0.05:0.65 b=[k,k,k,k,k,k,k,k,k,k,k,k,k,k,k]'; [x,fval,exitflag,options,output]=linprog(f,A,b,aeq,beq,lb); x y(i)=-fval i=i+1; end k=0.001:0.05:0.65; plot(k,y);xlabel('k 风险');ylabel('y 收益'); title('风险收益图2') 2. 模型二的Matlab程序 %子程序一:问题一的计算 clear i=1; for k=0.1:0.1:1; f=[-0.27*(1-k) -0.19*(1-k) -0.185*(1-k) -0.185*(1-k) -0.05*(1-k) k]'; %根据题目建立的目标向量 A=[0.025 0 0 0 0 -1;0 0.015 0 0 0 -1; 0 0 0.055 0 0 -1;0 0 0 0.026 0 -1];%不等式左端的数据矩阵 b=[0 0 0 0]';%不等式右端向量 aeq=[1.01 1.02 1.045 1.065 1 0]; %等式左端的系数向量 beq=[1];%等式右端 lb=zeros(6,1); [x,fval,exitflag,options,output]=linprog(f,A,b,aeq,beq,lb); x y(i)=-fval;i=i+1; end k=0.1:0.1:1; figure(1); plot(k,y,'g-');xlabel('k 权因子') ;ylabel('y 收益'); title('图一:净收益和风险关于权因子的函数') %子程序二:问题二的计算 clear i=1; for k=0.1:0.1:1; f=[-0.075*(1-k) -0.163*(1-k) -0.434*(1-k) -0.224*(1-k) -0.005*(1-k) -0.106*(1-k) -0.351*(1-k) -0.281*(1-k) ... -0.309*(1-k) -0.339*(1-k) -0.067*(1-k) -0.033*(1-k) -0.323*(1-k) -0.049*(1-k) -0.074*(1-k) -0.05*(1-k) k]';%根据题目建立的目标向量 a=[0.42 0.54 0.6 0.42 0.012 0.39 0.68 0.3343 0.533 0.4 0.31 0.055 0.46 0.053 0.23 ];%风险损失率的数据向量 b=diag(a,0);%建立一个以a向量的元素为对角线的矩阵 c=zeros(15,1); d=(-1)*ones(15,1); e=[c,d]; A=[b,e]; %生成不等式左端的系数矩阵 b=zeros(15,1)'; aeq=[1.021 1.032 1.06 1.015 1.076 1.034 1.056 1.031 1.027 1.029 1.051 1.057 1.027 1.045 1.076 1 0];%等式左端的系数向量 beq=[1]; %等式右端 lb=zeros(17,1); [x,fval,exitflag,options,output]=linprog(f,A,b,aeq,beq,lb); x y(i)=-fval;i=i+1; end k=0.1:0.1:1; plot(k,y,'r');xlabel('k 权因子') ;ylabel('y 收益') title('图二:净收益和风险关于权因子的函数') %子程序三:画出有效投资曲线图 subplot(1,2,1); x=[0.0248 0.0092 0.0059 0.000];%风险 y=[0.2673 0.2165 0.2014 0.05];%收益 plot(x,y,'r*'); xlabel('风险');ylabel('收益'); title('图三:有效投资曲线(n=4)'); subplot(1,2,2); x1=[0.5660 0.1231 0.0995 0.0761 0.03 0.0573 0.0367 0.0000];%风险 y1=[0.4094 0.3433 0.3352 0.3205 0.3050 0.2130 0.2130 0.0500];%收益 plot(x1,y1,'g*'); xlabel('风险');ylabel('收益'); title('图四:有效投资曲线(n=15)');
风险投资种类n=15时,建立模型求解,任意给定投资风险上限k,在风险不超过k的情况下确定最优组合,列表2如下:风险k 0.002 0.003 0.006 0.007 0.008 0.01 0.02 0.03 0.04 收益y 0.1011 0.1266 0.2019 0.2066 0.2112 0.219 0.2518 0.2673 0.2673
n=4是的风险收益图如下:风险k 0.06 0.07 0.08 0.09 0.1 0.2 0.3 0.4 0.5 收益y 0.2945 0.3132 0.3229 0.3292 0.3353 0.3586 0.3732 0.3868 0.4004
对于问题二:使用上述方法分别求解当k=0.1…1.0时的最优决策及风险和收益如下表:Si k=0.1..0.7 k=0.8 k=0.9 k=1.0 S1 0.9901 0.3690 0.2376 0.0000 S2 0.0000 0.6150 0.3960 0.0000 S3 0.0000 0.0000 0.1080 0.0000 S4 0.0000 0.0000 0.2284 0.0000 存银行 0.0000 0.0000 0.0000 1.0000 净收益 0.2673 0.2165 0.2014 0.0500 风险 0.0248 0.0092 0.0059 0.0000
将净收益和风险有关权因子的函数作图观察,得到如下图:Si k=0.1 k=0.2 k=0.3 k=0.4~0.5 k=0.6 K=0.7 k=0.8 k=0.9~1.0 S1 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0875 0.0000 S2 0.0000 0.0000 0.0000 0.0000 0.0000 0.1060 0.0680 0.0000 S3 0.9434 0.2051 0.1658 0.1269 0.1072 0.0954 0.0612 0.0000 S4 0.0000 0.0000 0.0000 0.0000 0.1531 0.1363 0.0875 0.0000 S5 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 S6 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0942 0.0000 S7 0.0000 0.1810 0.1463 0.1120 0.0946 0.0842 0.0540 0.0000 S8 0.0000 0.0000 0.0000 0.2277 0.1923 0.1713 0.1099 0.000 S9 0.0000 0.0000 0.1867 0.1428 0.1206 0.1074 0.06 0.0000 S10 0.0000 0.3077 0.2487 0.1903 0.1607 0.1432 0.0918 0.0000 S11 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 S12 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 S13 0.0000 0.2676 0.2163 0.1655 0.1398 0.1245 0.0799 0.0000 S14 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 S15 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.1597 0.0000 存银行 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 1.000 净收益 0.4094 0.3433 0.3352 0.3205 0.3050 0.2130 0.2130 0.0500 风险 0.5660 0.1231 0.0995 0.0761 0.03 0.0573 0.0367 0.0000
