ooFFiioo

V1

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 股作为一种特别转让服务,其所交易的股票并不是真正意义上的上市交易股票,因此股票不计入指数计算,转让信息只能在当天收盘行情中看到。

二、数据清洗

  1. 数据常是一种厚尾分布的形式

厚尾分布(Fat-Tailed distribution:它是一种重尾分布,但是它的偏度或峰度极端的大。

  1. 处理异常值和缺失值,使用绝对中位数法( Median Absolute Deviation)

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

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

三、因子标准化

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

四、因子中性化:OLS

参考资料:

  1. https://www.matongxue.com/madocs/818/
  2. https://www.zhihu.com/question/37031188
  3. https://www.cnblogs.com/pinard/p/5976811.html

OLS算法说简单也简单,说复杂也复杂,最简单调个包算一下就能得到结果,要复杂也可以放到矩阵运算中去理解,并且可以结合三维的图像去理解矢量运算的含义,具体可以参照这个视频去理解

在这里,我们运用到了OLS来求解股票的行业因子暴露,即求解哑变量,有点像是最大隶属度的概念,即映射到高元的点进行回归

形成总的哑变量矩阵
OLS函数
得到OLS的残值

五、单因子有效性检验

5.1 因子收益序列和假设检验t值

使用算法:RLM 参考资料:

  1. https://www.heywhale.com/mw/project/60939484352d740017af3dcc
  2. 论文,但是看不懂。。:https://arxiv.org/pdf/1404.6274.pdf

总之,RLM算法就是使用了一个迭代的过程,在初始的OLS基础上根据残差确定权重,消除了很多偏离点的影响。

计算因子收益序列𝑓𝑖和回归假 设检验 t 检验的 t 值序列。

RLM回归函数
计算f和t的值
验证f和t的值

5.2 信息系数IC和信息比率IR

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

计算和验证IC的值

5.3 IC衰退

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

IC衰退表

六、因子测试

IC较为一般,IC为负表示因子值越小越好,IC为正表示因子值越大越好
IC衰退较为不明显
IR较为一般,IR大于0.5时因子稳定获取超额收益能力较强

分类:

其他

标签:

金融

作者介绍

ooFFiioo
V1