7月:斜率动量因子表现回顾

斜率因子是动量因子中的一种,它由Andreas F. Clenow 首先发表在Stocks on the Move: Beating the Market with Hedge Fund Momentum Strategy一书中。

这个因子比起卡哈特的动量因子更符合人的直觉,特别是喜欢看K线的投资者,因此也得到了很多人的喜爱。其实现在Quantopian和QuantConnect网站上都有文章讨论。

题图:Andreas Clenow的著作: Stock on the Move 封面


Tip

我们简单回顾一下Mark Carhart提出的动量因子,它是计算单个股票过去一年的回报率,排除最近一个月数据(以防股价操纵),再按回报率排序,取前10%的股票作为买入信号,末尾10%的股票作为卖出信号。

在Andreas Clenow的策略中,他使用了过去90天的年化指数的回归斜率作为动量因子。由于信号只响应过去90天的数据,因此,信号就比卡哈特的动量因子更灵敏一些。

不过,我们今天测试的因子,是用过去10天的回归斜率作为动量因子。主要目标是尝试下新的可能性,也是考虑到在A股,动量因子的半衰期一般比较短的缘故。

我们的计算方法如以下代码所示:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
def moving_slope(close: NDArray, win:int, *args):
    # 创建滑动窗口的视图
    shape = (win, close.size - win + 1)
    strides = (close.itemsize, close.itemsize)
    cw = np.lib.stride_tricks.as_strided(close, 
                                         shape=shape, 
                                         strides=strides)

    # 对每个窗口应用linregress,获取斜率
    x = np.arrange(win)
    slopes = np.apply_along_axis(lambda y: linregress(x, y)[0],
                                  axis=0, arr=cw)

    return slopes

测试参数如下:随机抽取2000支,从今年的1月4日,测试到7月31日,计算斜率时,使用过去10天的收盘价;计算收益时,使用开盘价,从次日起。


因子分层如下:

分层收益均值图如下:

显然,10期的斜率因子成了反向指标,也就是短期上涨越快,买入后亏损越多。


既然如此,我们就取斜率因子的负数作为新的因子,再运行一次:

理所当然,这个图只是前面的图的镜像。我们来看看收益:

7个月的累积收益接近15%了,最大回撤5%左右,在今年来看,表现还可以。

Tip

上一篇RSI的因子测试中,我们也对因子构成做了一些微调。有同学认为,微调之后,数据变好,这是过拟合了。今天写这个因子时,想起来在Alpha101中,他们抛弃掉了动量最大前n%的因子,这也是一种修正。警惕过拟合是对的,但不是数据一变好就是过拟合。


再深入到分层累积收益:

可以看出,因子的稳定性比较好,期间没有发生明显的风格转换的情况。

当然这个因子要投入实战的话,可能不适合个人和中小机构。因为从分层图来看,它的收益主要是由做空产生的。

如果我们没有机会做空,因子的表现又将如何?下图是纯多情况下的收益:

这个表现并不出人意料。在2月有一个强反弹,在此期间,因子的表现不错。但随后市场越走越弱,动量因子的半衰期越来越短,单多收益就一路走低。


L50

前天,七八月之交,A股出现一轮牛市,跨越两个月,长达86400秒。随后再次进入休眠状态。这个现象,也许不能用今天的介绍的动量因子来预测,但动量因子表现如此之弱,却能在一定程度上,说明为什么连续上涨未能出现。

另一个结论,正是因为做空的收益比较确定,所以易跌难涨。方主席下岗了,看看后面做空机制上能否有所变化。毕竟,能做空的机构也只是少数。制度应该对所有参与者都公平。

左图是Andreas Clenow的著作,Stocks on the Move: Beating the Market with Hedge Fund Momentum Strategy。Andreas Clenow是一位瑞典裔瑞士籍作家、资产管理人及企业家,现居于苏黎世,在一家家族办公室担任首席投资官。在其辉煌的职业生涯中,他曾是一名科技创业者、金融顾问、对冲基金经理、金融工程师、量化交易员、财务顾问、董事会成员,以及企业中层管理官僚。

在这本书中,Clenow详细解释了动量策略的原理,即买入过去表现优秀的股票,卖出或做空表现不佳的股票,利用市场趋势的持续性来获利。书中对比了技术分析和基本面分析在动量策略中的应用,以及如何结合两者的优势来提高交易效果。