TS_StyleFactor
简述
TS_StyleFactor函数主要用于提取指定日股票列表的天软风格因子,该函数调用了天软中的因子处理框架——TSMF_ProcessFactors,不仅使得对因子的处理方法更加灵活,而且可以查看因子的中间处理结果,返回相应的最终描述因子与加权后的风格因子。
TS_StyleFactor(EndT:Date;StockArr:Array;Factors:Array;IndexID:String;RiskFreeRate:Numeric;FillNaN:Boolean;FillMiss:Integer;Normalization:Integer;Standardization:Integer):Array
| 名称 | 类型 | 说明 |
|---|
| EndT | Date | 截止日,日期类型,返回截止日的天软风格因子 |
| StockArr | Array | 股票列表,一维字符串数组,返回该股票列表的天软风格因子,如getbk(“沪深300”); |
| Factors | Array | 因子列表,数据表类型,目前是根据3天软风格因子的处理来设置的,如范例所示。用户若需自定义因子算法,需修改相应设置。一般情况下,因子列表是不变的。更多详情请参考专题文档
标准的因子列表:
|
字段 |
数据类型 |
是否非空 |
缺省值/对应参数 |
作用 | |
一级分类 |
String |
是 |
|
计算大类因子 | |
因子名称 |
String |
是 |
|
小类因子 | |
因子公式 |
String |
是 |
|
小类因子 | |
缺失值处理 |
Integer |
否 |
FillMiss |
小类因子初始值到最终值的处理过程 | |
极值处理 |
Integer |
否 |
Normalization |
| |
标准化处理 |
Integer |
否 |
Standardization |
| |
行业中性化 |
0 or 1 |
否 |
0 |
| |
市值中性化 |
0 or 1 |
否 |
0 |
| |
beta中性化 |
0 or 1 |
否 |
0 |
| |
大类比例(%) |
Real |
是 |
|
大类因子比例 |
|
| IndexID | String | 指数代码,字符串类型,代表市场指数,主要用于计算beta因子,如SH000300 |
| RiskFreeRate | Numeric | 每日无风险利率(%),实数,用于计算超额收益率,默认为0 |
| FillNaN | Boolean | 是否填充已剔除的股票因子值,布尔类型,为真表示以NaN填充剔除股票的因子值,否则不填充。默认取0,不用NAN填充。剔除的股票为当日停牌以及上市日不足525个交易日的股票。 |
| FillMiss | Integer | 缺失值填充方式,缺失值包括nil、nan等非数值类型,当FillNaN为真时,就通过该参数来填充被剔除股票的因子值。
|
取值 |
含义 | |
0(默认) |
剔除 | |
1 |
均值填充 | |
2 |
中位数填充 |
|
| Normalization | Integer | 极值处理方式
|
取值 |
含义 | |
0(默认) |
不处理 | |
1 |
中位数 | |
2 |
3倍标准差 | |
3 |
四分位法 |
|
| Standardization | Integer | 标准化处理方式
|
取值 |
含义 | |
-1 |
用户自定义 | |
0(默认) |
不处理 | |
1 |
z方法 | |
2 |
[-1,1] | |
3 |
[0,1] | |
4 |
百分位排名 |
|
| 返回 | Array | 数组:
(1)标准因子表:标准的因子配置表,包括“一级分类”、“因子名称”、“因子公式”、“缺失值处理”、“极值处理”、“标准化处理”、“行业中性化”、“市值中性化”、“beta中性化”、“大类比例(%)”字段。
(2)因子处理过程:返回描述因子(小类因子)的初始因子值、奇异处理后因子值、标准化后因子值以及中性化后因子值
(3)最终描述因子:经过去极值、标准化、中性化处理后的最终描述因子,即因子列表Factors中的小类因子(“因子名称”)值
(4)最终合成因子:即风格因子,按照因子列表Factors中大类比例(%)合成的大类因子(“一级分类”)值,该风格因子也经过去极值、标准化、中性化的处理。 |
//提取2020-04-07上证50成分股的风格因子
EndT:=20200407T; //截止日
StockArr:=getbk("上证50"); //股票列表
Factors:=array(); //因子表(有默认列表,一般不变)
IndexID:="SH000300"; //市场指数
RiskFreeRate:=0; //每日无风险利率(%)
//数据处理
FillNaN:=0; //不填充缺失数据
FillMiss:=0; //剔除缺失值
Normalization:=2; //极值处理:3倍标准差
Standardization:=-1; //标准化处理:自定义
return TS_StyleFactor(EndT,StockArr,Factors,IndexID,RiskFreeRate,FillNaN,FillMiss,Normalization,Standardization);
//结果:
