在前段时间,写过一篇关于自由现金流ETF相关的文章(《近一两年,自由现金流ETF为什么迎来爆发式增长?》),主要是介绍自由现金流ETF突然受热追的原因,并迅速成为市场热点的新型被动投资工具。这些都是文字类的描述说明。

为此,我想通过基本面量化多因子选股模型尝试构建自由现金流选股策略,但构建大市值类或蓝筹股类的量化选股策略一般都比较难,不像微盘股量化选股策略那么容易开发(可能只需要一个小市值因子就可以收益可观了!)。所以,我想到了之前我写过“果仁网策略开发系列”的相关文章(如《果仁网策略开发系列1:如何开发“低估值+微盘空间 ”的微盘股策略?》、《果仁网策略开发系列5:如何在 策略轮动模型 加入 短期 反向动量因子?》等),里面提及过:如何高效开发果仁网策略系列的方法?


那么我将其改造成“自由现金流量化选股策略”的话,则是如下的开发流程:


第一步:筛选自由现金流的股票样本空间

通过我自己构建的“市值除于经营性现金流”的指标去筛选“自由现金流”的股票,并且筛选排名比较前的股票。

图1:筛选自由现金流量化选股指标


第二步:构建样本空间完后,那就从财务因子中选择与自由现金流策略相关的财务因子,添加到“排名条件”中,随机选择15-20个因子,在这些因子中,我们必须要有的是“总市值”和“动量因子”(如“120日涨幅”和“250日涨幅”因子等),这些因子我觉得对于蓝筹股或大市值的选股策略很重要,可以实现捕捉趋势性的蓝筹股,而不像中小票的量化选股策略开发逻辑捕捉反转的股票,具体的开发逻辑差异,可以参考之前的一篇文章《微盘股与中大盘股在多因子模型中对待财报盈利能力的差异》。

图2:必须有的因子



“必要因子+随机因子”构成的排名因子在15-20个之间,那么我们就可以启动一下的流程,逐步删减因子,直至满足策略的需求为止,流程如下:

所有的因子已经选好了,那么我们怎么进行因子和权重调整呢?


这一步可能会比较无聊和重复,需要时间去不断调整,但是调整过程可以遵循一下调整动作:

1、将所有想表达的因子,罗列出来;

2、将所有因子的权重初始设置为1,简单方便;

3、除了市值因子和动量因子外,其余因子逐个因子屏蔽,最后看去掉指定因子后剩余的多因子组合收益率,最后选择去掉指定因子后多因子组合收益率最高的作为保留;如果罗列出来的因子比较多,那么我们需要重复以上的操作,也就是说,将上一次去掉指定因子后多因子组合收益率最高的保留作为下一次逐个因子屏蔽操作初始组合,以此类推,一直减少到10个因子以内(这个比较主观随意,需要结合自己个人的需求和经验判断!)。

4、依照第3步反复剔除多余因子后,留下最佳的因子数量5~10个,开始调整因子权重;因子调整权重操作方法,尽量避免过拟合问题,尽量使用0.5、1.0、1.5、2.0等参数去调权重,相等于间隔0.5跳动。我们可以逐个因子去调整,将第一个因子逐步调整,由0.5变动到N,选择最佳参数N1作为第一个因子的权重;依次类推,实现将所有因子都推演一遍,那我们就可以确定所有的因子权重为N1、N2、....、Nm,这样我们经过第一轮后,我们可以得到稍微比较好的结果或可能一次是自己想要的结果了,如果第一轮调参不行,那么我们再来一次,再经过新的一轮调仓过程,这样我们可以逐步提高策略的收益率。一直权重调参至你满意为止,这个比较主观,所以不要太过死板。

5、经过1-4步的逐步调因子数量和因子权重后,确定最后的因子数量和权重,即为策略开发的最终模型。


经过以上的流程后,开发出如下“两个差异性比较明显的”自由现金流量量化选股策略:


策略1:自由现金流EV2.0中大票策略-持仓5只

图3:策略1的收益曲线



从2017年开始,策略1的累计收益为887.99%,年化收益率为28.05%,最大回撤率为29.59%,并远远跑赢中证红利指数。

策略2:自由现金流估值盈利策略-持仓5只

图4:策略2的收益曲线


从2017年开始,策略2的累计收益为349.89%,年化收益率为17.62%,最大回撤率为65.04%,但对标国证现金流指数只是微弱优势。

我们从图4可以明显看到,这个自由现金流策略走势差异很大,与指数相关性不大,但是策略1的走势与国证现金流指数相关性很大,这也就是想着两者之间的策略差异。当我开发完这个策略后,我自己都觉得尴尬,这个策略可用吗?这个策略是否不行呀?这个策略好像阶段性表现很优异?

其实,我们深层次去思考:任何单个策略是否可以一直适应所有时间段的行情呢?任何单个策略是否可以完美解决高收益率的同时一直保持低回撤率呢?

经过多年的开发策略经验,答案是否定的。任何单个策略都会在不同的时间段出现阶段不适应的表现,这个阶段不适应的表现可能会非常差,那么我们就需要解决另外一个问题,那就是:如何去判断这个策略是否处于适应阶段呢?

这个问题,也是我一直致力于思考的问题,也就是策略选择的问题,说白点就是策略轮动的问题。总体来说,这个问题比较好解决,经过多年的摸索,最后发现轮动策略的模型只需要使用中长期的动量因子组合就行了,如下图5所示的一个案例:

图5:简单的策略轮动模型



平常研究趋势相关性比较高的策略时,我们会使用正向的动量指标因子是比较好的,因为趋势性相同的策略,选则趋势性收益更高的策略反而轮动效果更好。所以这篇文章,我们也开始测试正向的动量因子试试:

轮动模型构建,将策略1和策略2作为轮动策略池,根据“排名条件”的指标因子进行排序后相加,最后看排分最高的作为下一期的轮动选中策略。

1、正向动量因子的轮动策略模型:

正向动量因子的轮动指标如下图6所示,经过测试后,我们发现正向动量因子的轮动策略效果(如图7所示)表现一般,收益率和最大回撤率都居于策略1和2的中间值附近,最终的收益率表现不佳。主要可能是正向动量因子的轮动策略模型更适合于高度相似的策略池进行轮动,而本文的轮动策略池,差异性很明显。

图6:正向动量因子的轮动指标


图7:正向动量因子的轮动模型表现



2、“正向+反向”动量因子的轮动策略模型:

“正向+反向”动量因子的轮动策略指标有两种情况,一种是“短期正向+长期反向”,另一种是“短期反向+长期正向”。

a、“短期正向+长期反向”动量因子的轮动模型;

如图8所示,将这个动量因子的轮动模型测试后,效果如图9所示,我们发现:“正向+反向”的构建方式可以改善轮动模型,并且累计收益率比最好的策略1要高一点点,但是最大回撤率差不多,总体来说,这个轮动策略还是不错的,比较适应差异性比较大的策略池。

图8:“短期正向+长期反向”动量因子的轮动指标


图9:“短期正向+长期反向”动量因子的轮动模型效果



b、“短期反向+长期正向”动量因子的轮动模型;

测试完“短期正向+长期反向”后,我们需要测试另外一种情况,“短期反向+长期正向”动量因子的轮动指标,如下图10所示。这一次测试反而出奇的好,结果如图11所示,累计收益率居然高达26倍,年化收益率为42.81%,最大回撤率也有多改善,现在为26.52%。所以,我们会发现,动量因子的正反向结合构建轮动模型反而更加具有优势,并且可能明显增加策略的收益率。

这个现象不仅在这篇文章时才发现的,也在之前的一篇文章(《果仁网策略开发系列5:如何在 策略轮动模型 加入 短期 反向动量因子?》)发现过,最后的结果也是“长期正向+短期反向”动量因子的轮动策略模型表现更加,这个逻辑也比较好理解,就是长期涨幅更好的策略未来上涨的概率更高,而短期反向表明短期会出现回调的时候,再抄底介入更加,这也是轮动策略模型可以明显提高收益的内在“核心逻辑”。这也就是我们理解的,趋势明显的策略每次回调时再回来抄底是最佳的。

反而“长期反向+短期正向”动量因子的轮动策略模型容易买入持续下跌的时候策略表现,正因为可能存在这样的操作,反而会减弱反向的作用,最后不如短期反向和长期正向的轮动模型表现。


图10:“短期反向+长期正向”动量因子的轮动指标


图11:“短期反向+长期正向”动量因子的轮动模型效果



c、“短期反向+长期反向”动量因子的轮动模型;

反正,就差均为反向的轮动模型没有测试,我们也不差最后的测试,这个逻辑很简单,我们选择“短期反向+长期反向”动量因子的轮动指标,我们会经常选择短期和长期都是表现不佳的策略作为下一期的持仓,那么我们就是买烂策略,这样的操作肯定是最差劲的轮动策略,结果可想而知,如图12所示。


图12:“短期反向+长期反向”动量因子的轮动模型效果



本文总结:

自由现金流选股策略可以通过“逐步删减因子方式”高效开发,并可以通过“短期反向+长期正向”动量因子的轮动策略模型可以明显增加收益率;这类动量因子轮动模型的内在核心逻辑是:长期涨幅更好的策略未来上涨的概率更高,而短期反向表明短期会出现回调的时候,再抄底介入更加;这也是轮动策略模型可以明显提高收益的内在“核心逻辑”。这也就是我们理解的,趋势明显的策略每次回调时再回来抄底是最佳的。


精选文章:

深入剖析 微盘股“策略原理”及其“非线性择时方案”

微盘股的非线性择时方案:震荡延迟买,趋势马上跟!

控制股票产品净值“最大回撤”的有效投资方案