量化因子分析学习-聚宽分析因子分析框架使用

前言

量化交易中,经常听到因子选股,因子分析,之前本人只是凭借的sql靠着粗暴的统计进行因子选择(条件过滤,本人对于因子选择的简陋理解),也是运气好,今年策略的收益率不错。借着不错的行情,觉得系统科学的学习下因子分析。

因子策略在量化中的地位

参考知乎上的常见量化交易策略分类一文,量化策略可以按照交易产品、盈利模式、策略信号、交易速度进行分类,具体分类如下:

参考上文分类,可以看到因子策略属于策略信号中的一种。
受限于A股只能做多,技术有限及高频难度系数太高,本人圈定的因子策略属于股票策略、单边做多策略、多因子策略、中频策略。

因子和单因子分析的概念

因子就是我们常说的过滤条件字段,而因子分析就是对这些属性的分析。。。
说回正式定义

因子就是以投资对象(例如一只股票)、和交易日期为自变量的二元函数。即给定交易对象和交易日期,我们能通过一种因子算法得到唯一确定的一个实数,这个实数就叫做交易对象在这个交易日的因子值。例如,股票的每日收盘价、市盈率、涨幅都可以看做股票在该日的不同因子。

所谓单因子分析就是要从众多因子中找出能有效预测投资对象未来价格变化情况的因子。

如何进行因子分析?

那么,如何进行因子分析?还是像之前那样通过sql或excel进行分组统计,查看涨跌情况?
这样既繁琐、低效,也确认科学有效的数据来支持因子之前的效果比较。

其实github上有挺多开源的因子分析框架,而聚宽也在github上开源了因子分析框架jqfactor_analyzer,使得因子分析工作大大减少。

工欲善其事,必先利其器,分析相关工具准备&介绍

jqfactor_analyzer


此网页为聚宽单因子分析工具开源版是提供给用户进行因子分析的工具,提供了包括计算因子IC值,因子收益,因子换手率等各种详细指标,用户可以按照自己的需求查看因子详情。github上有详细的使用说明。

因子定义和计算


此网页为聚宽官网提供的因子分析文档,里面详细介绍了因子分析如何使用。

因子看板


此网页为聚宽提供的因子看板,提供了聚宽支持的因子,以及聚宽提前计算好的因子结果,可以通过查询即可知道因子的效果。

以上图为例,如果我们采用5日移动均线,即5日移动均线/收盘价,取最大分位进行交易,那么年华收益率为-15.76%。

如何判断因子好坏?因子分析结果简介。

收益分析

评判因子好坏最直观的因素就是股票的收益。

在聚宽分析框架中,分位数的平均收益, 各分位数的累积收益, 以及分位数的多空组合收益三方面观察因子的表现。 第一分位数的因子值最小, 第五分位数的因子值最大。

1.分位数收益: 表示持仓1、5、10天后,各分位数可以获得的平均收益。
2.分位数的累积收益: 表示各分位数持仓收益的累计值。
3.多空组合收益: 做多五分位(因子值最大), 做空一分位(因子值最小)的投资组合的收益。

IC分析

IC 是 information coefficient 的缩写。IC 代表了预测值和实现值之间的相关性, 通常用以评价预测能力。 取值在-1到1之间, 绝对值越大, 表示预测能力越好。

IC 的计算, 一般有两种方法, normal IC 与 rank IC。 聚宽计算的是rank IC.

  • normal IC: 因子载荷与因子收益之间的相关系数
  • rank IC: 因子载荷的排序值与收益的排序值之间的相关系数
  • 详情:normal IC 与 rank IC 的区别

同时考虑到单日 IC 的波动较大, 聚宽提供了 IC 的月度移动平均线作为参考。

换手率分析

因子的换手率是在不同的时间周期下, 观察因子个分位中个股的进出情况,因子分位数换手率的价值体现在两个方面:

  • 因子稳定性的体现:换手率低的因子,因子值在时间序列层面的持续性更好
  • 衡量交易成本:在实际的交易过程中, 假设我们要维护投资组合的因子暴露恒定, 对于高换手率因子, 则需要进行更多的交易。 交易中的税费和滑点, 也会吞噬掉我们的部分利润。

计算方法举例: 某因子第一分位持有的股票数量为30支, 一天后有一只发生变动, 换手率为: 1/30 *100% = 3.33% 对于5日、10日的换手率,在每日都会对比当日1、5分位数的成分股与5日、10日前该分位数的成分股的变化进行计算。

聚宽分析因子分析框架使用

参考文章