公众号

TSL课堂

登录
  • 目录
  • 资料
  • 介绍
  • 评论
  •  课时12020-05-13 因子归因框架
因子归因框架
本视频主要从三个方面介绍如何使用天软业务框架-因子归因框架TSFactorAttribution
(1)介绍天软因子归因框架的背景和原理,以及因子归因的作用
(2)介绍天软因子归因框架的构建流程和用户关注的重点
(3)结合具体的案例讲解如何使用天软因子归因框架,以及对结果的解读
课程:'$CatalogInfo[0]['Name']$'X
160
精彩评论
暂无评论
发表评论
专题练习
1、(程序) 已知有如下多个分类的相关因子: 1、大类因子:盈利因子,因子名称:净资产收益率(%)ROE,因子公式:Last12MData(RDate,9900100); 2、大类因子:盈利因子,因子名称:总资产报酬率(%)ROA,因子公式:Last12MData(RDate,9900105); 3、大类因子:成长因子,因子名称:营业利润增长率(%),因子公式:Last12MData(RDate,9900602); 4、大类因子:成长因子,因子名称:利润总额增长率(%),因子公式:Last12MData(RDate,9900603) 请使用天软因子归因框架,对指定市场上证50(SH000016),做因子归因,时间2021-1-1到2021-12-31。 各因子计算条件设置: 是否去奇异值:True 是否标准化:True 是否参与归因:True

查看解析 》
【参考答案】
Begin
BegT:=20210101T;
EndT:=20211231T;
IndexId:='SH000016';
FactorArr:=array(
("大类因子":"盈利因子","因子名称":"净资产收益率(%)ROE","因子公式":"Last12MData(RDate,9900100)","是否去奇异值":1.0,"是否标准化":1.0,"是否参与归因":1.0),
("大类因子":"盈利因子","因子名称":"总资产报酬率(%)ROA","因子公式":"Last12MData(RDate,9900105)","是否去奇异值":1.0,"是否标准化":1.0,"是否参与归因":1.0),
("大类因子":"成长因子","因子名称":"营业利润增长率(%)","因子公式":"Last12MData(RDate,9900602)","是否去奇异值":1.0,"是否标准化":1.0,"是否参与归因":1.0),
("大类因子":"成长因子","因子名称":"利润总额增长率(%)","因子公式":"Last12MData(RDate,9900603)","是否去奇异值":1.0,"是否标准化":1.0,"是否参与归因":1.0));
Obj:=new myFactorAttribution();
//开始日期
Obj.FBegT:=BegT;
//截止日期
Obj.FEndT:=EndT;
//归因因子库
Obj.FFactorArr:=FactorArr;
//回归方式
Obj.FRegType:=0;
//是否使用网格计算
Obj.FGridComputing:=false;
//网格个数 、
Obj.FGridNo:=5;
//普通最小二乘法
obj.FRegType:=0 ;
//指定市场(指数)ID
Obj.MyIndexId:=IndexId;
//归因
Obj.AttributionTest();

return array(
'统计-总收益': Obj.GetPSummaryReturn(),

'----评价(汇总)----':'-----------',
'统计-因子敞口':Obj.GetPFactorExposure(),
'统计-因子收益':Obj.GetPFactorReturn(),
'统计-因子贡献':Obj.GetPFactorContri(),
'统计-残差贡献':Obj.GetPAssetContri(),

'----评价(详情)----':'-----------',
'详情-总收益': Obj.GetPSummaryReturnDetail(1),
'详情-因子敞口':Obj.GetPFactorExposureDetail(),
'详情-因子收益':Obj.GetPFactorReturnDetail(1),
'详情-因子贡献':Obj.GetPFactorContriDetail(1),
'详情-残差贡献':Obj.GetPAssetContriDetail(1),

'----回归检验----':'-----------',
'回归R方':Obj.GetPRegresSquared(),
'回归T值':Obj.GetPRegresTTest(),
'回归矩阵':obj.GetRegressionMatrix(EndT),

'----因子库----':'-----------',
'在线因子': Data,
'本地因子': FactorArr,
);
End;
type myFactorAttribution=class(TSFactorAttribution)
MyIndexId;
function GetPortfolioWeightandReturn(vEndT);override;
begin
pd:=MarketLastTradeDay(vEndT);
GetBkWeightByDate(MyIndexId,pd,t);
PData:=select ["代码"],
pd as "截止日",
["比例(%)"] as "比例(%)",
spec(StockZf4(vEndT),["代码"]) as "涨幅(%)"
from t end;

return PData;
end

function GetBenchmarkWeightandReturn(vEndT);override;
begin
return array();
end
end;

预约申请

×
*
*