关于投资收益和风险的例题(线性规划)
本題選自1998年全國大學生數學建模競賽A題
例:市場上有種資產(如股票、債券、……)si(i=1,2,...,n)供投資者選擇,某公司有數額為M的一筆相當大的資金可用作一個時期的投資。公司財務分析人員對這n種資產進行了評估,估算出在這一時期內購買資產si的平均收益率為ri,并預測出購買si的風險損失率為qi??紤]到投資越分散,總的風險越小,公司確定,當用這筆資金購買若干種資產時,總體風險可用所投資的si中最大的一個風險來度量。
購買si要付交易費,費率為pi,并且當購買額不超過給定ui時,交易費按購買ui計算(不買當然無需付費)。另外,假定同期銀行存款利率是r0(r0=5%),且既無交易費又無風險。
已知n=4時的相關數據如表所示。
問題分析
這是一個組合投資問題:已知市場上可供投資的n+1種資產的平均收益率、風險損失率以及購買資產時產生的交易費費率,設計一種投資組合方案,也就是要將可供投資的資金分成數量不等的n+1份分別購買n+1種資產。不同類型的資產的平均收益率和風險損失率也各不相同,因此在進行投資時,要同時兼顧兩個目標:投資的凈收益和風險。
符號說明
si:可供投資的第i種資產,i=0,1,2,...,n,其中s0表示存入銀行;
xi:投資到資產si的資金數量,i=0,1,2,...,n,其中x0表示存到銀行的資金數量;
ri:資產si的平均收益率,i=0,1,2,...,n;
qi:資產si的風險損失率,i=0,1,2,...,n,其中q0=0;
pi:資產si的交易費費率,i=0,1,2,...,n,其中p0=0;
ui:資產si的投資閾值,i=1,2,...,n。
模型假設
(1)可供投資的資金數額M相當大;
(2)投資越分散,總的風險越小,總體風險可用所投資的si中最大的一個風險來度量;
(3)可供選擇的n+1種資產(含銀行存款)之間是相互獨立的;
(4)每種資產可購買的數量為任意值;
(5)在當前投資周期內,ri,qi,pi,ui(i=0,1,...,n)固定不變;
(6)不考慮在資產交易過程總產生的其他費用,如股票交易印花稅等。
模型建立
(1)總體風險用所投資的si中最大的一個風險來衡量,即
max{qixi|i=1,2,...n}.
(2)購買si(i=1,2,...,n)所付交易費是一個分段函數,即
而題目所給的定值ui(單位:元)相對總投資M很少,piui更小,這樣購買si的凈收益可以簡化為(ri-pi)xi。
目標函數:
約束條件:
模型簡化:
①在實際投資中,投資者承擔風險的程度不一樣,若給定風險一個界限a,使最大的一個風險qixi/M≤a,可找到相應的投資方案。這樣把多目標規劃變成單目標的線性規劃。
模型一:固定風險水平,優化收益。
②若投資者希望總盈利至少達到水平k以上,在風險最小的情況下尋求相應的投資組合。
模型二:固定盈利水平,極小化風險。
③投資者在權衡資產風險和預期兩方面時,希望選擇一個能令自己滿意的投資組合。因此對風險、收益分別賦予權重w(0≤w≤1)和(1-w),w稱為投資偏好系數。
模型三:兩個目標函數加權求和。
下面求解模型一和模型三,求解時不妨取M=10000元。
模型一的求解與分析
由于a是任意給定的風險度,到底怎樣沒有一個準則,不同的投資者有不同的風險度。我們從a=0開始,以步長是△a=0.001進行循環搜索,編制程序如下:
clc, clear, close all
prob=optimproblem('ObjectiveSense','max');
x = optimvar('x',5,1,'LowerBound',0);
c=[0.05,0.27,0.19,0.185,0.185]; %凈收益率
Aeq=[1,1.01,1.02,1.045,1.065];? %等號約束矩陣
prob.Objective = c*x; M = 10000;
prob.Constraints.con1 = Aeq*x==M; %等號約束條件
q=[0.025,0.015,0.055,0.026]'; %風險損失率
a = 0; aa = []; QQ = []; XX = []; hold on
while a<0.05
prob.Constraints.con2 = q.*x(2:end)<=a*M;
[sol,Q,flag,out]= solve(prob);
aa = [aa; a]; QQ = [QQ,Q];
XX = [XX; sol.x']; a=a+0.001;
end
plot(aa, QQ, '*k')
xlabel('$a$','Interpreter','Latex'),
ylabel('$Q$','Interpreter','Latex','Rotation',0)
(2)結果分析
風險a與收益Q之間的關系見圖。
從圖中可以看出:
①風險大,收益也大。
②當投資越分散時,投資者承擔的風險越小,這與題意一致。冒險的投資者會出現集中投資的情況,保守的投資者則盡量分散投資。
③在a=0.006附近有一個轉折點,在這一點左邊風險增加很少時,利潤增長很快。在這一點右邊,風險增加很大時,利潤增加很緩慢,所以對于風險和收益沒有特殊偏好的投資者來說,應選擇曲線的轉折點作為最優投資組合,大約是a=0.6%,Q=2000,所對應投資方案為
風險度a=0.006,收益Q=2019元,x0=0元,x1=2400元,x2=4000元,x3=1091元,x4=2212元。
模型三的求解及分析
(1)線性化
具體求解時,我們需要把目標函數線性化,引進變量xn+1=max{qixi}(1≤i≤n},則模型可線性化為:
(2)求解及分析
可以得到當w取不同值時風險和收益的計算結果如表所示
從以上數據可以看出,當投資偏好系數w≤0.7時所對應的收益和風險均達到最大值。此時,收益為2673.27元,風險為247.52元,全部資金均用來購買資產si;當w由0.7增加到1.0時,收益和風險均呈下降趨勢,特別,當w=1.0時,收益和風險均達到最小值,收益為500元,風險為0,此時應將所有資金全部存入銀行。
為更好地描述收益與風險的對應關系,可將w的取值進一步細化,重新計算的部分數據如表所示
繪制收益和風險的函數關系圖像如圖所示
從圖可以看出,投資的收益越大,風險也越大。投資者可以根據自己對風險喜好的不同,選擇合適的投資方案。曲線的拐點坐標約為(59.4,2016.24),此時對應的投資方案是購買資產s1、s2、s3、s4的資金分別為2375.84元、3959.73元、1079.93元和2284.46元,存入銀行的資金為0元,這對于風險和收益沒有明顯偏好的投資者是一個比較合適的選擇。
clc, clear, close all, format long g
M =10000; prob = optimproblem;
x = optimvar('x',6,1,'LowerBound',0);
r=[0.05,0.28,0.21,0.23,0.25]; %收益率
p=[0, 0.01, 0.02, 0.045, 0.065]; %交易費率
q=[0, 0.025, 0.015, 0.055, 0.026]'; %風險損失率
%w = 0:0.1:1
w = [0.766, 0.767, 0.810, 0.811, 0.824, 0.825, 0.962, 0.963, 1.0]
V = []; %風險初始化
Q = []; %收益初值化
X = []; %最優解的初始化
prob.Constraints.con1 = (1+p)*x(1:end-1)==M;
prob.Constraints.con2 = q(2:end).*x(2:end-1)<=x(end);
for i = 1:length(w)
prob.Objective = w(i)*x(end)-(1-w(i))*(r-p)*x(1:end-1);
[sol,fval,flag,out]=solve(prob);
xx = sol.x; V=[V,max(q.*xx(1:end-1))];
Q=[Q,(r-p)*xx(1:end-1)]; X=[X; xx'];
plot(V, Q, '*-'); grid on
xlabel('風險(元)'); ylabel('收益(元)')
end
V, Q, format
微信公眾號 | 數模or機械舵手
總結
以上是生活随笔為你收集整理的关于投资收益和风险的例题(线性规划)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Qt开发】QSplitter的使用和设
- 下一篇: 深入浅出JVM-内存模型