MATLAB 投资组合有效前沿 二次规划问题求解

weixin_41861561 2018-04-21 01:52:18
function main
x0=ones(300,1)/300;
a=linspace(0,0.2,100);
for i=1:1;100
Aeq=[];
Aeq(1,:)=ones(1,300);
Aeq(2,:)=evalin('base', 'mean_data');
beq=[1;a(i)];
[x,f]=fmincon(@(x)fun(x),x0,[],[],Aeq,beq);
b(i)=sqrt(f);
plot(b,a)

end
end


function f=fun(x)
C=evalin('base','C');
f=x'*C*x;
end


我选择了300支股票的175天的收益率数据 C为相关系数矩阵300*300;mean_data为平均收益率300*1;

每次出错都是因为fmincon stopped because it exceeded the function evaluation limit,
options.MaxFunEvals = 3000 (the default value).
超出了我的限定条件限制,希望大神可以帮忙解决一下!

最后贴一下我要解决的方程
...全文
1501 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

3,423

社区成员

发帖
与我相关
我的任务
社区描述
其他开发语言 其他开发语言
社区管理员
  • 其他开发语言社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧