📄 sharpreg.m
字号:
function [w,r2,z]=sharpreg(f,groupreturn,fenggefile,chois) % 作sharp回归用,f为要求最小值的目标函数,groupreturn为组平均属性行
% fenggefile为风格资产属性文件(xls),行为资产,列为属性
% chois为列向量,指参加回归的风格资产编号
% w回归系数,r2为拟合优度,z为f在最优时取值
fengge=xlsread(fenggefile);
n=length(chois);
options=optimset('TolFun',1e-16,'TolCon',1e-16,'TolX',1e-16,'MaxIter',10000,'LargeScale','on','MaxFunEvals',10000);
%'DiffMaxChange',1e-8,'DiffMinChange',1e-16);
%options=[];
%[w,z]=constr(f,[1;zeros(n-1,1)],)
[w,z]=FMINCON(f,[1;zeros(n-1,1)],[],[],ones(1,n),1,zeros(n,1),ones(n,1),[],options,groupreturn,fengge,chois); % 最小化f
%[w,z]=FMINUNC(f,zeros(n,1),options,groupreturn,fengge,chois);
r2=1-var(groupreturn'-fengge(chois,:)'*w)/var(groupreturn');
%X=FMINCON(FUN,X0,A,B,Aeq,Beq,LB,UB,NONLCON,OPTIONS,P1,P2,...) passes the
% problem-dependent parameters P1,P2,... directly to the functions FUN
% and NONLCON: feval(FUN,X,P1,P2,...) and feval(NONLCON,X,P1,P2,...). Pass
% empty matrices for A, B, Aeq, Beq, OPTIONS, LB, UB, and NONLCON to use the
% default values.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -