Download presentation
Presentation is loading. Please wait.
Published byΑμάλθεια Καλογιάννης Modified 5年之前
1
1.风险投资问题 2.程序 3.结果分析 实验目的:掌握非线性规划问题的matlab标准形式,掌握fmincon求解线性规划问题的使用方法。
第八单元 第2课 实验 非线性规划问题 1.风险投资问题 2.程序 3.结果分析 实验目的:掌握非线性规划问题的matlab标准形式,掌握fmincon求解线性规划问题的使用方法。
2
1.风险投资问题 function [x,Q]=RiskInvestment(M) %投资的收益和风险 %一.市场上有n种资产s_i(i=1,2,...n )可以选择, %现用数额为M的相当大的资金作一个时期的投资。 %这n种资产在这一时期内购买s_i的平均收益率为r_i, %风险损失率为q_i,投资越分散,总的风险越少, %总体风险可用投资的s_i中最大的一个风险来度量。 %购买s_i时要付交易费,费率为p_i,当购买额不超过给定值u_i时, %交易费按购买u_i计算。另外,假定同期银行存款利率是r_0, %既无交易费又无风险(r_0=5%)。 %已知n=4时相关数据如表1.1。 %表1.1 投资的相关数据 %s_i (r_i%)(q_i%)(p_i%)(u_i元) % s_1 28 2.5 1 103 % s_2 21 1.5 2 198 % s_3 23 5.5 4.5 52 % s_4 25 2.6 6.5 40
3
%二、试给该公司设计一种投资组合方案, %即用给定资金M,有选择地购买若干种 %资产或存银行生息,使净收益尽可能大, %使总体风险尽可能小。 %三、符号规定和基本假设 %符号规定 %s_i表示第i种投资项目,如股票,债券等,i=0,1,2,...,n, %其中s_0指存入银行; %r_i,p_i,q_i分别表示s_i的平均收益率,交易费率,风险损失率,i=0,1,2,...,n, %其中p_0=0,q_0=0, ; %u_i表示s_i的交易定额,i=1,2,...,n; %x_i表示投资项目s_i的资金,i=0,1,2,...,n; %a表示投资风险度;Q表示总体收益;
4
%基本假设 %(1)投资数额M相当大,为了便于计算,假设M=1 ; %(2)投资越分散,总的风险越小; %(3)总体风险用投资项目s_i中最大的一个风险来度量; %(4)n+1种资产s_i之间是相互独立的; %(5)在投资的这一时期内,r_i,p_i,q_i为定值,不受意外因素影响; %(6)净收益和总体风险只受r_i,p_i,q_i影响,不受其它因素干扰。 %四、模型的分析与建立 %1.总体风险用所投资的s_i中最大的一个风险来衡量, %即max{q_i*x_i|i=1,2,...,n} . %2.购买 s_i(i=1,2,...,n )所付交易费是一个分段函数,即 %交易费={p_i*x_i,x_i>u_i;p_i*u_i,x_i<=u_i} %而题目所给的定值u_i(单位:元)相对总投资M很少, %p_i*u_i更小,这样购买s_i的净收益可以简化为(r_i-p_i)*x_i 。
5
%3. 要使净收益尽可能大,总体风险尽可能小,这是一个多目标规划模型。 %目标函数为:{max sigma_{i=0}^n(r_i-p_i)
%3.要使净收益尽可能大,总体风险尽可能小,这是一个多目标规划模型。 %目标函数为:{max sigma_{i=0}^n(r_i-p_i)*x_i;min{max_{1<=i<=n}q_i*x_i}} %约束条件为:sigma_{i=0}^n(1+p_i)*x_i=M,x_i>=0,i=1,2,...,n %4. 模型简化 %ⅰ) 在实际投资中,投资者承受风险的程度不一样,若给定风险一个界限a, %使最大的一个风险率为a,即q_i*x_i/M<=a,(i=1,2,...,n),可找到相应的投资方案。 %这样把多目标规划变成一个目标的线性规划。 %模型: 固定风险水平,优化收益 % max sigma_{i=0}^n(r_i-p_i)*x_i % s.t. q_i*x_i/M<=a,(i=1,2,...,n); % sigma_{i=0}^n(1+p_i)*x_i=M,x_i>=0,i=1,2,...,n
6
%五、模型的求解 %模型为 % min f=[-0. 05,-0. 27,-0. 19,-0. 185,-0. 185]
%五、模型的求解 %模型为 % min f=[-0.05,-0.27,-0.19,-0.185,-0.185]*[x_0,x_1,x_2,x_3,x_4]^T % s.t. %x_0+1.01x_1+1.02x_ x_ x_4=1 %0.025x_1<=a %0.015x_2<=a %0.055x_3<=a %0.026x_4<=a %x_i>=0,i=0,1,2,3,4 %由于a是任意给定的风险度,到底怎样没有一个准则, %不同的投资者有不同的风险度。 %我们从a=0开始,以步长delta a=0.001进行循环搜索,编制
7
2.程序 clc; clear; a=0.001; c=[-0.05,-0.27,-0.19,-0.185,-0.185]; x0=[0;0.1;0.2;0.3;0.4]; %不等式约束 A=[zeros(4,1),diag([0.025,0.015,0.055,0.026])]; %等式约束 Aeq=[1,1.01,1.02,1.045,1.065]; beq=1; %范围约束 LB=zeros(5,1); risk=[]; profit_a=[]; hold on; while a<0.05 %不等式约束常数列 b=a*ones(4,1); %[x,fval]=fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options) %[x,P]=linprog(c,A,b,Aeq,beq,LB); P=-P; risk=[risk,a]; profit_a=[profit_a,P]; plot(a,P,'*k'); a=a+0.001; end
8
xlswrite('风险与收益数据.xls',[risk;profit_a]); xlabel('最大的一个风险率:a'); ylabel('总体收益:Q'); saveas(1,'最大风险与最大收益关系图','jpg'); end function fval=profit(x) c=[-0.05,-0.27,-0.19,-0.185,-0.185]; fval=c*x; end
9
3.结果分析 图30.1 风险与收益的关系图
Similar presentations