市场上有n种资产si(i=1,2,L,n)可以选择,现用数额为M的相当大的资金作一个时期的投资。这n种资产在这一时期内购买si的平均收益率为ri,风险损失率为qi,投资越分散,总的风险越小,总体风险可用投资的si中最大的一个风险来度量。
购买si时要付交易费,费率为pi,当购买额不超过给定值ui时,交易费按购买ui计算。另外,假定同期银行存款利率是r0,既无交易费又无风险(r0=5%)。
已知n=4时相关数据如表1.1。
表1.1 投资的相关数据
si | ri(%) | qi(%) | pi(%) | ui(元) |
---|---|---|---|---|
s1 | 28 | 2.5 | 1 | 103 |
s2 | 21 | 1.5 | 2 | 198 |
s3 | 23 | 5.5 | 4.5 | 52 |
s4 | 25 | 2.6 | 6.5 | 40 |
试给该公司设计一种投资组合方案,即用给定资金M,有选择地购买或存银行生息,使净收益尽可能大,使总体风险尽可能小。
符号规定:
si表示第i种投资项目,如股票,债券等,i=0,1,L,n,期中s0指存入银行;
ri,pi,qi分别表示si的平均收益率,交易费率,风险损失率,i=0,1,L,n,其中p0=0,q0=0;
ui表示si的交易定额,i=1,L,n;
xi表示投资项目si的资金,i=0,1,L,n;
a表示投资风险度;
Q表示总体收益。
基本假设:
1.总体风险用所投资的si中最大的一个风险来衡量,即
max{qixi|i=1,2,L,n}.
2.购买si(i=1,L,n)所付交易费是一个分段函数,即
交 易 费 = { p i x i , x i > u i p i u i , x i ≤ u i 交易费= \begin{cases} p_ix_i, x_i > u_i\\ p_iu_i, x_i \leq u_i \end{cases} 交易费={ pixi,xi>uipiui,xi≤ui
而题目所给的定值ui(单位:元)相对总投资M很少,piui更小,这样购买si的净收益可以简化为(ri-pi)xi。
3.要使净收益尽可能大,总体风险尽可能小,这是一个多目标规划模型,但是可以转化成线性规划。
目标函数为
{ m a x ∑ i = 0 n ( r i − p i ) x i m i n m a x { q i x i } \begin{cases} max \sum_{i=0}^n(r_i-p_i)x_i\\ min max\{q_ix_i\} \end{cases} { max∑i=0n(ri−pi)ximinmax{ qixi}
约束条件为
{ ∑ i = 0 n ( 1 + p i ) x i = M x i ≥ 0 , i = 0 , 1 , … , n \begin{cases} \sum_{i=0}^n(1+p_i)x_i=M\\ x_i \geq 0, i=0,1,…,n \end{cases} { ∑i=0n(1+pi)xi=Mxi≥0,i=0,1,…,n
a)在实际投资中,投资者承受风险的程度不一样,若给定风险一个界限a,使最大的一个风险
q i x i M ≤ a {q_ix_i\over M} \leq a Mqixi≤a
,可找到相应的投资方案。这样把多目标规划变成一个目标的线性规划。
模型一 固定风险水平,优化收益
m a x ∑ i = 0 n ( r i − p i ) x i max \sum_{i=0}^n(r_i-p_i)x_i maxi=0∑n(ri−pi)xi
s . t . { q i x i M ≤ a ∑ i = 0 n ( 1 + p i ) x i = M , x i ≥ 0 , i = 0 , 1 , … , n s.t. \begin{cases} {q_ix_i\over M} \leq a\\ \sum_{i=0}^n(1+p_i)x_i=M,x_i\geq0,i=0,1,…,n \end{cases} s.t.{ Mqixi≤a∑i=0n(1+pi)xi=M,xi≥0,i=0,1,…,n
模型二 固定盈利水平,极小化风险
m i n { m a x { q i x i } } min \{max\{q_ix_i\}\} min{ max{ qixi}}
s . t . { ∑ i = 0 n ( r i − p i ) x i ≥ k ∑ i = 0 n ( 1 + p i ) x i = M , x i ≥ 0 , i = 0 , 1 , … , n s.t. \begin{cases} \sum_{i=0}^n(r_i-p_i)x_i \geq k\\ \sum_{i=0}^n(1+p_i)x_i =M,x_i\geq0,i=0,1,…,n \end{cases} s.t.{ ∑i=0n(ri−pi)xi≥k∑i=0n(1+pi)xi=M,xi≥0,i=0,1,…,n
c)投资者在权衡资产风险和预期收益两方面时,希望选择一个令自己满意的投资组合。因此对风险、收益分别赋予权重
s(0 < s <=1)和(1-s),s称为投资偏好系数。
模型三
m i n s { m a x { q i x i } } − ( 1 − s ) ∑ i = 0 n ( r i − p i ) x i min s\{max\{q_ix_i\}\}-(1-s)\sum_{i=0}^n(r_i-p_i)x_i mins{ max{ qixi}}−(1−s)i=0∑n(ri−pi)xi
s . t . ∑ i = 0 n ( 1 + p i ) x i = M , x i ≥ 0 , i = 0 , 1 , 2 , … , n s.t. \sum_{i=0}^n(1+p_i)x_i=M,x_i \geq 0,i=0,1,2,…,n s.t.i=0∑n(1+pi)xi=M,xi≥0,i=0,1,2,…,n
m i n f = ( − 0.05 , − 0.27 , − 0.19 , − 0.185 , − 0.185 ) ( x 0 , x 1 , x 2 , x 3 , x 4 ) T minf=(-0.05,-0.27,-0.19,-0.185,-0.185)(x_0,x_1,x_2,x_3,x_4)^T minf=(−0.05,−0.27,−0.19,−0.185,−0.185)(x0,x1,x2,x3,x4)T
s . t . { x 0 + 1.01 x 1 + 1.02 x 2 + 1.045 x 3 + 1.065 x 4 = 1 0.025 x 1 ≤ a 0.015 x 2 ≤ a 0.055 x 3 ≤ a 0.026 x 4 ≤ a x i ≥ 0 ( i = 0 , 1 , … , 4 ) s.t. \begin{cases} x_0+1.01x_1+1.02x_2+1.045x_3+1.065x_4=1\\ 0.025x_1 \leq a\\ 0.015x_2 \leq a\\ 0.055x_3 \leq a\\ 0.026x_4 \leq a\\ x_i \geq 0 (i=0,1,…,4)\\ \end{cases} s.t.⎩⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎧x0+1.01x1+1.02x2+1.045x3+1.065x4=10.025x1≤a0.015x2≤a0.055x3≤a0.026x4≤axi≥0(i=0,1,…,4)
由于a是任意给定的风险度,到底怎么样没有一个准则,不同的投资者有不同的风险度。我们从a=0开始,以步长Δa=0.001进行循环,编程如下:
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')
通过运行结果可以看出