求matlab作业

做最优投资组合,该问题实际上就是求目标函数的最大值或最小值。所以该类问题,可以用fmincon非线性规划最优化函数来求。由于题主给出的条件不足无法求解,但其求解过程如下:
1、建立目标函数,如
function f =myfunc(x);
f=x(1)+x(2)+x(3)+x(4)+x(5); %最小值
2、建立约束函数,如
function [c,ceq]=myconc(x)
c(1)=[15.70-(0.5*fix(x(1))+1*fix(x(2))+5*fix(x(3))+10*fix(x(4))+20*fix(x(5)))];
c(2)=[30-x(1)];
。。。
ceq=[];
3、建立主程序
x0=[0,0,0,0,0]; 初值
A=[];b=[ ];
Aeq=[];beq=[];
lb=[];ub=[30,15,3,2,1];
[x,fval,exitflag]=fmincon(@(x)myfunc(x),x0,A,b,Aeq,beq,lb,ub,@(x)myconc(x))追问

这个需要从广发证券下载数据,然后做最有组合。这个程序的话在哪引用程序呢?

追答

因你没有具体的各样本数据,其无法计算得到最优组合

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-06-03
有什么算法吗?可以直接编写代码,我用了matlab 16年,希望可以帮到你追答

这个的风险值可以直接计算,直接选择三个最小风险的不是就可以了,为什么要分散这1000??