ooFFiioo
2022/09/03阅读:41主题:前端之巅同款
多因子系列报告复现
韭菜的多因子测试方法(一):因子测试框架之单因子回归模型(Cross-Section Regression)
在对股票的不断研究中,逐渐发现因子十分的重要。因此在借鉴了很多大佬的代码和文档之后,我完成了这个复现研报的测试框架。所有的文章引用仅作为个人学习使用,不作为商业用途,如有侵权,请及时告知。
一、样本筛选
(1)剔除选股日的 ST/PT 股票
(2)剔除上市不满一年的股票
(3)剔除选股日由于停牌等原因而无法买入的股票
Special Treatment:一是上市公司经审计两个会计年度的净利润均为负值,二是上市公司最近一个会计年度经审计的每股净资产低于股票面值。股票报价日涨跌幅限制为 5%。
Particular Transfer:上市公司出现连续三年亏损等情况,其股票将暂停上市。
交易时间不同。PT 股只在每周五的开市时间内进行,一周只有一个交易日可以进行买卖。 涨跌幅限制不同。据最新规定,PT股只有5%的涨幅限制,没有跌幅限制,风险相应增大。 撮合方式不同。正常股票交易是在每交易日 9:15-9:25 之间进行集合竞价,集合竞价未成交的申报则进入 9:30 以后连续竞价排队成交。而 PT 股是交易所在周五 15:00 收市后一次性对当天所有有效申报委托以集合竞价方式进行撮合,产生唯一的成交价格,所有符合条件的委托申报均按此价格成交。 PT 股作为一种特别转让服务,其所交易的股票并不是真正意义上的上市交易股票,因此股票不计入指数计算,转让信息只能在当天收盘行情中看到。

二、数据清洗
-
数据常是一种厚尾分布的形式
厚尾分布(Fat-Tailed distribution:它是一种重尾分布,但是它的偏度或峰度极端的大。
-
处理异常值和缺失值,使用绝对中位数法( Median Absolute Deviation)


原理讲解好文,根据这篇文章实践一下,去剔除异常值

缺少值处理,对于缺失率小于20%处理,大于20%淘汰

三、因子标准化
使用z-core算法归一化,否则使用min-max标准化,可以参考3种标准化方法

四、因子中性化:OLS
参考资料:
https://www.matongxue.com/madocs/818/ https://www.zhihu.com/question/37031188 https://www.cnblogs.com/pinard/p/5976811.html
OLS算法说简单也简单,说复杂也复杂,最简单调个包算一下就能得到结果,要复杂也可以放到矩阵运算中去理解,并且可以结合三维的图像去理解矢量运算的含义,具体可以参照这个视频去理解
在这里,我们运用到了OLS来求解股票的行业因子暴露,即求解哑变量,有点像是最大隶属度的概念,即映射到高元的点进行回归



五、单因子有效性检验
5.1 因子收益序列和假设检验t值
使用算法:RLM 参考资料:
https://www.heywhale.com/mw/project/60939484352d740017af3dcc 论文,但是看不懂。。:https://arxiv.org/pdf/1404.6274.pdf
总之,RLM算法就是使用了一个迭代的过程,在初始的OLS基础上根据残差确定权重,消除了很多偏离点的影响。
计算因子收益序列𝑓𝑖和回归假 设检验 t 检验的 t 值序列。



5.2 信息系数IC和信息比率IR
使用Pearson系数进行计算,得到IC和IR,进行检验,绝对值越大越好 可以参考Investopedia的内容学习和这篇详解

5.3 IC衰退
IC衰退为观察随着滞后时间的延长,因子有效性降低的速度

六、因子测试



作者介绍