看完一道例题,感觉按照书上这样的步骤是挺好的。
1、问题提出
2、符号规定和基本假设
3、模型分析与建立
4、求解
5、结果分析
市场上有n种资产si,(i=1,2,.,n)可以选择,现用数额为M的相当大的资金作一个时期的投资。这n种资产在这一时期内购买 si;的平均收益率为ri;,风险损失率为qi;,投资越分散,总的风险越少,总体风险可用投资的si;中最大的一个风险来度量。购买si;时要付交易费,费率为pi;,当购买额不超过给定值ui;时,交易费按购买u;计算。另外,假定同期银行存款利率是T0,既无交易费又无风险(r0 =5%)。
已知n=4时相关数据如下表所列。 siri/%qi/%pi/%ui/元s1282.51103s2211.52198s3235.54.552s4252.66.540
试给该公司设计一种投资组合方案,即用给定资金M ,有选择地购买若干种资产或存银行利息,使净收益尽可能大,总体风险尽可能小。
si 表示第i种投资项目
ri,pi,qi分别表示si的平均收益率、交易费率、风险损失率
ui表示si的交易定额
xi表示投资项目si的资金
a表示投资风险度
Q表示总体收益
假设M=1
投资越分散,总风险越小
总风险用投资项目si中最大的风险来度量
n+1种资产是相互独立的
在投资的这一时期ri,pi,qi为定值
净收益和总体风险只受ri,pi,qi影响,不受其他因素影响
(1)风险评估
(2)交易费
当 xi > ui 时,为 pixi。反之,为piui。
但由于交易金额巨大,这里ui偏小,所以,交易费的值为pixi。
这样净收益就为(ri-pi)xi。
(3)收益尽可能大,风险尽可能小
目标函数
约束条件
(4)模型简化
给定一共风险一个固定的界限a,使最大的一个风险率为a,即qixi/M<=a( i =1,2,…,n),这样把多目标规划变成一个目标的线性规划。
根据题目所给的数据
这里设置初始a为0,步长为0.001,最大为0.065。
得出数据图:
这里根据图可以看出,若投资者追寻极致的收益,则,当第二个转折点a=0.025时,收益饱和。
但是若投资者对于风险和收益没有特殊偏好,应该选择第一个转折点,该店左边,收益增加很快,但是右边收益增加变缓慢。该点约是 a = 0.006, Q=0.2。代码中设置一下就可以得到比较精确的数值了。
所以对应的投资方案为