构建因子
构建因子拼的是想象力,不过整个金融金工学科和行业里面,已经提供了非常的多的思路,就者大家的学术论文和研究报告,可以获得构建因子的很多灵感,而且还能够进行单个因子的排列组合构建出更多的因子,是一个比较庞大的因子库。
目前的市场风格大家都在说流动性溢价,就是大票在涨,对于这个现象有不有科学的方式去研究了?
本文就是以这个问题作为因子,记录下最近学习到的科学研究因子的思路?
去现有的成果里面找到相关的学术因子?
果然是在论文中找到了一个用来度量流动性的因子,
image.png
这个可以找到相关的论文。
因子的预测性如何?
有了因子之后,基本上就是一个套路了。这个讨论可以认为是因子好坏的基本研究框架了。
基本的方法描述就是:
- 计算所有感兴趣的股票池(比如全A)的因子数值。比如按照上面的公司计算每个股票一段时间的值。这个一段时间通常是一个经验值,我们知道这个因子的值可以是一天的,也可以是 5天时间的均值。 对这个时间段的选择,通常会影响策略的稳定性和最后的效果,比如一天的因子,交易频率很高,可能收益很高,也可能回测很大。
在这个例子里面,选用5天的 illq 流动性因子作为股票的流动性度量。 - 第一步之后,就有了各个股票 一段时间比如 过去3年的 ,因子 时间序列。 接下来的一个问题,就是 这些因子能否有预测性?
这一步的关键就是构建一个 前瞻 收益数据集。 举个例子, 比如 对于 中信证券,这个股票,你计算出了,20190101号的illq值,你可以以这个时间点为基准,计算20190106 也就是5天后,中信证券的 相对收益, 按照这个思路下去,对于任何一个 时间点的illq,都会得到一个 5日前瞻收益率。 因子时间序列,和 前瞻收益时间序列,就可以看出他们是否有 相关性?
在这一步,就可以用量化领域经典的方法,RankIC,信息指数, 通常就是 算出来 各个股票 的IC的 统计分布。比如
CYB_ZH:
mean of IC: 0.05388368956967708
median of IC: 0.069768678570408
the number of IC(all, plus, minus): (203, 116, 78)
创业板流动性因子对5日收益率的预测IC分布,大多数是正直,说明预测效果是不错的。
因子能否用来构建策略?
上一部解决了因子的预测性问题,这一步就是要解决对于一个可预测性的因子,怎么样去构建一个策略?
问题的本质,就是 有一个股票池, 每个股票有一个 标签值, 怎么样选择 能让你赚钱的股票?
目前看来最普遍的做法就是 对 股票按照因子进行分组,比如分为10组, 然后进行回测。
比如你的策略是一个每周换手的策略, 回测周期是3年,那么在每周5, 你对股票进行分组,然后计算过去一周的收益率,循环下去,直到回测结束。 这样,你就可以做出来 10个分组,最后的收益率。
对于这10组收益率,有一个很核心的观察现象,就是要单调性好。 也就是 第一组,和第10组, 他的收益差距越大越好, 这样你选择出来的股票才有操作性。 假设10个组的收益都差不多,试问,你要如何买卖股票呢?
到了这一步基本上就能确定 这个因子到底好还是不好,比如 illiq 因子在 创业板 的分组单调性,不是特别完美但是也有
分组单调性:
1 -0.004851
2 -0.005261
3 -0.003454
4 -0.001431
5 0.000690
6 0.003140
7 0.003205
8 0.003633
9 0.002735
10 0.002734
dtype: float64
策略回测
从单调性上看这个策略是可以做的,那么就要准备回测了。 比如,每5天换手, 回测过去3年illiq 因子的持仓收益。
换手时,每次选择illiq 排名最大的10% 股票,等比例买入,卖出不在前10% 范围内的已有持仓,设置好手续费和基准指数后就可以开始策略回测了。例如illiq 的选股因子策略
年化收益率
82.3%
基准年化收益率
24.2%
阿尔法
60.6%
贝塔
0.88
夏普比率
2.54
收益波动率
31.0%
信息比率
1.77
最大回撤
15.5%
年化换手率
5578.24%
策略分析和优化
对于一个比较好的策略,通常会做一些风险暴露分析,尽量能避免单一的风格。
比如,illiq 因子,可以做的风格化分析, 是否是小市值暴露, 具体的分析方法,
就是把 10%分组的股票的市值,做一个 百分位分析,我们发现 illiq 因子其实具有非常明显的 小市值倾向。
这是一个风险,也会限制策略的容量,因为很小的交易会让价格波动很大。
同时, 也可以做换手率暴露分析, 月度反转暴露分析。
对于illiq 因子我们发现 10%分组中, 换手率并不高,但是却有比较明显的月度反转倾向,也就是 10% 的分组中,前一个月涨幅都不高, 众合起来,这个因子有点底部放量的意思。
风险暴露规避
这个策略的一个风险暴露就是小市值,在量化领域通常可以通过 中性化的手段,进行规避。
对于市值,这种连续区间的变量,特别适合中性化。
主要的思路就是 计算 (illiq,市值) 的线性拟合, 然后计算 illiq 与拟合值的残差,使用残差作为 中性化的值。
通过对 illiq 进行中心化之后,小市值的暴露风格很明显的弱化了,整个策略更加稳定。
对于单因子的分析,目前学习到的大概思路就是这样,后面还有多因子的组合模式需要学习。
网友评论