Fama_French_MultiFactor
简述
利用多因子框架,计算区间内Fama_French多因子,可参考文档《2021-01-29-应用专题-多因子框架01:天软多因子框架TSMultiFactor(更新版)》。
Fama_French_MultiFactor(begt:Date;endt:Date;FactorArr:DBtable;RateType:integer;Groups:string;IndexID:string;Cycle:string):array;
| 名称 | 类型 | 说明 |
|---|
| BegT | Date | 日期,区间开始日 |
| EndT | Date | 日期,区间截止日 |
| FactorArr | DBtable | 数据表,必须包含“因子名称”、“因子公式”、“因子方向”、“因子比例(%)”,在计算三四五因子时,一次只能计算一个,不同因子对应的因子公式如下:
|
计算因子 |
因子名称 |
因子公式 |
因子方向 |
因子比例(%) | |
SMB |
流通市值(万) |
StockMarketValue(endt) |
0 |
100 | |
HML |
市净率(%)倒数 |
1/StockPNA(endt) |
1 |
100 | |
MOM |
过去11个月涨幅(%) |
StockZf2(220) |
1 |
100 | |
RMW |
净资产增长率(%) |
NetEquityReturn(Rdate) |
1 |
100 | |
CMA |
总资产增长率(%) |
TotalAssetGrowRatio(Rdate) |
0 |
100 |
|
| RateType | integer | 用户自定义,加权方式
|
取值 |
含义 | |
0 |
总股本加权 | |
1 |
流通股本加权 | |
4 |
等权重 | |
5 |
等股数 | |
6 |
流通市值平方根加权 | |
7 |
总市值平方根加权 | |
31 |
自由流通股本加权 |
|
| Groups | string | 字符串,分组百分位,Groups:="0,50;50,100",表示分为两组,第一组是 0-50%,第二组 50%-100% |
| IndexID | string | 字符串,指数代码,利用指数成分股计算三四五因子,默认为中证全指 |
| Cycle | string | 调仓周期,默认为月线
注:关于参数的更多详细内容,请参考天软多因子框架文档。 |
| 返回 | array | array,返回区间内每天对应的因子及其因子收益率(%)
(1)多因子框架中的多空收益即为所求的因子,对应的输出字段为“第一组vs最后一组”;
(2)第一天的因子为零,即“第一组vs最后一组”为0,无实际含义,为多因子框架结构所致,因此若要计算2022-02-22~2022-02-28区间的因子,开始日需要往前推一个交易日,即开始日需设为2022-02-21,即真正有用的因子收益率数据从第二行开始。
(3)不支持提取一天的数据,即BegT与EndT不能设置为同一天,此时返回改天的数据都是0,无意义 |
BegT:=20220221T;
EndT:=20220228T;
IndexID:="SH000985";
Cycle:="日线";
FactorArr:=array(("因子名称":"市净率(%)倒数","因子公式":"1/StockPNA(endt)",
"因子方向":1,"因子比例(%)":100));
RateType:=4; //等权
Groups:="0,30;30,70;70,100"; //分3组
Return Fama_French_MultiFactor(BegT,EndT,FactorArr,RateType,Groups,IndexID,Cycle);
