求助啊~~资金投资优化组合决策问题......急....
<p>市场上有几种资金(股票,债券)Si(i=1,….n)供投资者选择,现一公司有M万元的资金可用做一段时期的投资,公司财务分析人员对几种资产进行了评估,估算出此时期内购买Si平均收益率为ri,并预测出购买Si的风险损失率为qi,考虑到投资越分散,总风险越小,公司决定用此资金购买若干资产,总体风险可用所投资的Si中最大的一个风险来度量。 <br/><br/>购买Si时要付交易费,费率pi,当购买不超过给定值ui时,交易费按购买ui计算。另外,假定同期银行存款利率 ( =5%),既无交易费,有无风险。 <br/><br/> n=4时,数据如图 <br/><br/>Si ri(%) qi(%) pi(%) ui(%) <br/><br/>S1 28 2.5 1 103 <br/><br/>S2 21 1.5 2 198 <br/><br/>S3 23 5.5 4.5 52 <br/><br/>S4 25 2.6 6.5 40 <br/><br/>要求为此公司设计一种最佳投资组合方案,用给定的资金M,有选择购买若干资产或存在银行生息,使净收益率尽可能大,总风险尽可能小。 <br/><br/>各位大哥大姐啊,这道题怎么用matlab建模啊....... <br/><br/>用惩罚函数做了,结果感觉不太对,哪位能帮一下啊~~~~~~任何方法都行</p> <p>%编写惩罚函数pen.m <br/>function y=pen(x) <br/> s=0; <br/> for i=1:1:length(x) <br/> s=s+x(i) <br/> end <br/> y=min(0,min(x)).^2+(1-s).^2; <br/>%编写交易费用函数h.m <br/>function y=h(x,u,p) <br/> if(x>u) <br/> y=x*p <br/> else <br/> if(i>0) <br/> y=x*p <br/> else <br/> y=0 <br/> end <br/> end <br/> %编写目标函数f.m <br/> function y=f(x) <br/> global w; <br/> global M; <br/> r=; <br/> q=0.01*; <br/> p=0.01*; <br/> u=; <br/> penalty=1e-25; <br/> t=0; <br/> for i=1:1:4 <br/> t=t+h(x(i)*M,u(1),p(i)); <br/> end <br/> <br/> t=t-M*sum(r.*x); <br/> y=w*t-(1-w)*max(x.*q)*M+penalty*pen(x); <br/> <br/> for k=1:1:11 <br/> w=(k-1)*0.1; <br/> s=5000; <br/> for j=1:1:50 <br/> c=rand(1,5); <br/> d=sum©; <br/> x0=c/d; <br/> =fminsearch('f',x0); <br/> if(f(x)<s) <br/> s=f(x); <br/> xc=x; <br/> end <br/> t=0; <br/> for i=1:1:4 <br/> t=t=h(xc(i)*M,u(i),p(i)); <br/> end <br/> FR(k)=f(xc); <br/> net(k)=t+M*sum(r.*xc); <br/> risk(k)=M*max(xc.q); <br/> xn(k,:)=xc; <br/> end <br/> figure(1); <br/> plot(w,xn(:,1),'.',w,xn(:2),'-',w,xn(:3),'--',w,xn(:,4),'\-',w,xn(:,5),'\'); <br/><br/> 自己找了这个方法,但是最后为什么画不出表啊~~~~~~<cc></cc></p><p> </p> 不会啊 <p>这个问题你解决了吧?</p><p>哦 都过去快一年了诶 </p><p>姐姐 我拿到了同样的题目 你可以帮我吗??</p>
页:
[1]