运用Matlab求解投资线性规划模型

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xiaohen123456/article/details/82836530

       问题:通过对投资的相关数据进行分析,建立相关的模型,给该公司设计一种投资组合方案,即用给定资金M,有选择的购买若干种资产或存银行生息,使得净收益尽可能大,总体风险尽可能的小。

       在这里简单而言是利用MATLAB软件建立线性规划的模型,通过代入数据进行求解,再检验模型,分析模型,最后求出最优解。

        对于概念,例题是最好的讲解!

1. 符号规定

(1)si表示第i种投资项目,如股票、债券等等。S0指存入银行;

(2)ri,pi,qi分别表示si的平均收益率,交易费率、风险损失率,其中p0=0,q0=0;

(3)ui表示si的交易金额;

(4)xi表示投资项目si的资金,i=0、1、2...n;

(5)a表示投资风险度;

(6)Q表示总体收益。

2.基本假设

(1)投资越分散,总的风险越小;

(2)总体风险用投资项目中最大的一个风险来度量;

(3)n+1种资产之间si是相互独立的;

(4)在投资这一时期内,ri,pi,qi为定值,不受意外因素影响;

(5)净收益和总体风险只受ri,pi,qi影响,不受其他因素干扰;

(6)投资M相当大,假设M=1。

3.模型的分析与建立

总体风险用所投资的Si中最大的一个风险来衡量,即

max{qi*xi|i=1,2,3…n}

模型的简化可得:

 

4. 模型的求解

上式的模型为:

                 min f=[-0.05,-0.27,-0.19,-0.185,-0.185]·[x0,x1,x2,x3,x4]’;

风险a与收益Q之间的关系如图1.1所示。

从图1.1可以看出:

(1)风险越大,收益也大;

(2)当投资越分散时,投资者承担的风险也越小。

(3)在a=0.006附近有一个转折点,在这点左边,风险增加很小时,利润增长很快;而在右边利润增长较为缓慢。

故在a=0.6%,Q=20%时投资最优;

5.总结

通过对上述模型的分析,我们可以了解到风险的评估可以利用线性规划来求解,并且在得知收益率,交易费率,风险损失率后,我们能够得到风险与收益的关系,进而能够帮助投资者选择最好的投资方法。

附录

clc,clear
a=0;
hold on;
while a<0.05
    c=[-0.05,-0.27,-0.19,-0.185,-0.185];
  A=[zeros(4,1),diag([0.025,0.015,0.055,0.026])];
    b=a*ones(4,1);
    Aeq=[1,1.01,1.02,1.045,1.065];
    beq=1;
    LB=zeros(5,1);
    [x,Q]=linprog(c,A,b,Aeq,beq,LB);
    Q=-Q;
    plot(a,Q,'*k');
    a=a+0.001;
end
xlabel('a'),ylabel('Q')

猜你喜欢

转载自blog.csdn.net/xiaohen123456/article/details/82836530
今日推荐