数学建模社区-数学中国

标题: 求助啊~~资金投资优化组合决策问题......急.... [打印本页]

作者: epiphany517    时间: 2007-10-22 19:25
标题: 求助啊~~资金投资优化组合决策问题......急....

市场上有几种资金(股票,债券)Si(i=1,….n)供投资者选择,现一公司有M万元的资金可用做一段时期的投资,公司财务分析人员对几种资产进行了评估,估算出此时期内购买Si平均收益率为ri,并预测出购买Si的风险损失率为qi,考虑到投资越分散,总风险越小,公司决定用此资金购买若干资产,总体风险可用所投资的Si中最大的一个风险来度量。

购买Si时要付交易费,费率pi,当购买不超过给定值ui时,交易费按购买ui计算。另外,假定同期银行存款利率  (  =5%),既无交易费,有无风险。

    n=4时,数据如图

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,有选择购买若干资产或存在银行生息,使净收益率尽可能大,总风险尽可能小。 

各位大哥大姐啊,这道题怎么用matlab建模啊.......

用惩罚函数做了,结果感觉不太对,哪位能帮一下啊~~~~~~任何方法都行


作者: epiphany517    时间: 2007-10-22 19:26

%编写惩罚函数pen.m 
function y=pen(x) 
 s=0; 
 for i=1:1:length(x) 
 s=s+x(i) 
 end 
 y=min(0,min(x)).^2+(1-s).^2; 
%编写交易费用函数h.m 
function y=h(x,u,p) 
 if(x>u) 
 y=x*p 
 else 
 if(i>0) 
 y=x*p 
 else 
 y=0 
 end 
 end 
 %编写目标函数f.m 
 function y=f(x) 
 global w; 
 global M; 
 r=[0.28,0.21,0.23,0.25,0.05]; 
 q=0.01*[2.5,1.5,5.5,2.6,0]; 
 p=0.01*[1,2,4.5,6.5,0]; 
 u=[103,198,52,40,0]; 
 penalty=1e-25; 
 t=0; 
 for i=1:1:4 
 t=t+h(x(i)*M,u(1),p(i)); 
 end 
 
 t=t-M*sum(r.*x); 
 y=w*t-(1-w)*max(x.*q)*M+penalty*pen(x); 
 
 for k=1:1:11 
 w=(k-1)*0.1; 
 s=5000; 
 for j=1:1:50 
 c=rand(1,5); 
 d=sum©; 
 x0=c/d; 
 [x,fval]=fminsearch('f',x0); 
 if(f(x)<s) 
 s=f(x); 
 xc=x; 
 end 
 t=0; 
 for i=1:1:4 
 t=t=h(xc(i)*M,u(i),p(i)); 
 end 
 FR(k)=f(xc); 
 net(k)=t+M*sum(r.*xc); 
 risk(k)=M*max(xc.q); 
 xn(k,=xc; 
 end 
 figure(1); 
 plot(w,xn(:,1),'.',w,xn(:2),'-',w,xn(:3),'--',w,xn(:,4),'\-',w,xn(:,5),'\');  

 自己找了这个方法,但是最后为什么画不出表啊~~~~~~ V. A7 ^5 i% ~! a% N5 L' o' b4 E7 X

 

[em06][em06][em06]
作者: jjcx20031007    时间: 2007-10-26 12:12
不会啊
作者: 风萧萧    时间: 2008-6-25 16:52

这个问题你解决了吧?

哦 都过去快一年了诶

姐姐 我拿到了同样的题目 你可以帮我吗??






欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5