量化 - 多因子策略2 : 单因子有效性,多因子相关性,多因子合成
学习目标:

一、多因子的筛选阶段介绍


1.1 挖掘因子的过程

二、单因子有效性分析 - 目的



三、单因子有效性分析 - 因子IC分析 (信息系数 Information Coefficient)


3.1 信息系数IC的定义

什么是因子暴露值
其实就是因子本身在某一天的值。。。

信息系数IC计算方式 - 斯皮尔曼相关系数
越靠近1,正相关越强;
越靠近-1,负相关越强


3.2 如何求收益率
收益率区间:

计算公式:

3.3 案例:单因子某天的IC分析
需求:
![]()
步骤:


3.4 因子分析工具 - Alphalens

alphalens独特的数据结构


factor数据结构:

price数据结构:

alphalens常用API
注意:这部分API需要传入数据的格式,是上一part return的merged_data

3.5 案例:使用alphalens进行单个因子的IC分析
。。。
3.6 因子IC效果图分析
三种图形分析

时间序列图 + 移动平均图

因子IC分布直方图

因子IC Q-Q图

3.7 因子有效性分析表格填充
IC > 0.02


IR = IC mean / IC std -- 代表因子的稳定性


四、单因子有效性分析 - 因子收益率分析

为了得出如下结论:

4.1 什么是因子收益率


注意:这里求出来的系数(因子收益率),应该只有一个值!

4.2 因子收益率计算

计算数值结果

分位数分组结果
这里1-5的含义是:根据所选因子(这里是earnings_per_share)在所选股票列表(近3000只股票)中的因子值,按照0.2,0.4,0.6,0.8分成5组
可以看到大于0.8的这一组 -- 也就是第5组,平均收益表现最好。其因子方向是“因子降序” -- 因子越大越好
因此如果该因子将来用在回测中进行选股,就要选择因子值大的那部分股票进行交易。


4.3 因子在周期内的平均收益 率



五、单因子测试框架 和 单因子回测框架搭建

5.1 单因子测试框架

将所有统计的因子打分排名

5.2 单因子回测框架
这里的1-5组,依然是之前说的:按照0.2,0.4,0.6,0.8分成5组 。真实回测一次,验证是否是第5组收益最好。

5.3 分类因子

六、多因子相关性分析
通过之前的各种代码,从5.3节每一类的因子中,筛选出表现最好的1-2(数量自定)个因子后,需要对这些因子的IC序列进行斯皮尔曼相关系数计算。
一般来说,同类别的相关性强一些;不同类别的相关性弱一些。
需要把(同一大类别里)相关性较高的,找出来。

6.1 如何计算因子间的相关性


结果样例:
这里把相关性大于0.7的都标红了,表示相关性高。

七、多因子合成
应用PCA(主成分分析)进行多个高相关因子的合成。
是在回测的时候,做因子合成进行选股。
对于因子的暴露值--某一天的因子值(而不是因子的序列值--一段时间的因子序列)进行合成。
7.1 多因子合成代码

浙公网安备 33010602011771号