模型训练之前如何快速预处理

预处理
表达式引擎
标准化
中性化
标签: #<Tag:0x00007f73e1cc7430> #<Tag:0x00007f73e1cc72f0> #<Tag:0x00007f73e1cc71b0> #<Tag:0x00007f73e1cc7070>

(feynman0825) #1

金融数据(特征、因子)不能直接拿来训练模型,如研报所示:

需要对数据做极值、标准化、中性化等预处理,请问如何不用自己写代码而快速实现?


(大胡子) #2

不需要用户单独通过“自定义模块”写Python代码实现。表达式最近增加了相关的支持。
示例:cut_outliers(return_5)

标准化

标准化:将中性化处理后的因子暴露度序列减去其现在的均值、除以其标准差, 得到一个新的近似服从 N(0, 1)分布的序列。

示例:normalize(cut_outliers(return_5))

中性化

均值法:行业中性化处理能去去除因子在行业上的偏好,处理的逻辑是将行业因子值的均值调整为0,得到新的因子值,即因子减去所处行业因子均值。推荐使用

示例:pe_ttm_0 - group_mean(industry_sw_level1_0, pe_ttm_0)

回归法:行业市值中性化:将填充缺失值后的因子暴露度对行业哑变量和取对数后的市值 做线性回归,取残差作为新的因子暴露度。优点:可做任何中性化处理,不只是行业和市值。不足:花费较长时间。 示例:neutralize(normalize(cut_outliers(return_5)), [dummy(industry_sw_level1_0, drop_value=[-1, 0, 110000]), normalize(cut_outliers(log(market_cap_0)))]) <注:5年全市场,需要20分钟>

直接在输入特征列表里,写表达式处理就行,截图如下:


(a1641181638) #3

个人建议实践这个贴。比用封装好的模块不论是速度还是出错的可能都好很多


AI可视化的数据清洗
(cash01) #4

报错,好像哪里要取整?