天软多因子框架基准收益率的实现
提供新类TSMultiFactor_User继承天软公用框架TSMultiFactor,重写方法CalTrailingReturn(Data,cy,PDiv),给需要的用户使用。
使用说明:
导入附件中模型保存为用户私有类,在实例实现中,将Type TMyMultiFactor=class(TSMultiFactor),改成Type TMyMultiFactor=class(TSMultiFactor_User)即可,其它的不变
附件:附件:TSMultiFactor_User.fun
实现案例:
factorarr:= array(("因子名称":"my_pe","因子公式":"1/stockpe(EndT)","因子方向":1,"因子比例(%)":50),("因子名称":"近一月涨幅(%)","因子公式":"stockzf(incmonth(endt,-1)+1,endt)","因子方向":1,"因子比例(%)":50));
obj:=new TSMultiFactor_User();
obj.FBegT:=20181231T;
obj.FEndT:=20191231T;
obj.FIndexId:='SH000016';
obj.FCycle:=cy_month();
obj.FFactorArr:=factorarr;
obj.BackTest();
return array(
'调仓日':obj.GetTimeSeries(),
'所有调仓日因子值及分组':obj.GetGroupFactorValue(),
'-----收益率-----':'-----------',
'日累计收益率(%)':obj.GetGroupReturn(1,cy_day()),
'日累计超额收益率(%)':obj.GetGroupReturn(3,cy_day()),
'月度收益率(%)':obj.GetGroupReturn(0,cy_month()),
'月度超额收益率(%)':obj.GetGroupReturn(2,cy_month()),
'多空月度收益率(%)':obj.GetGroupReturn(4,cy_month()),
'-----因子检验-----':'-----------',
'因子收益率检验':obj.GetTrailingReturn(cy_month()),
'因子显著性检验':obj.GetSignificanceStatistics(cy_month()),
'因子区分度检验':obj.GetLongShortStatistics(cy_month()),
'因子延续性检验':obj.GetInformationCoefficient(),
'因子贡献度检验1':obj.GetLinearEvaluationResult(0),
'因子贡献度检验2':obj.GetPrincipalComponentResult(0.85,0)
);
返回结果: