>>> 研究目的
本文参考方正证券《行业轮动的黄金律:日内动量与隔夜反转》,对研报里面的结果进行了分析,并对比了传统动量因子策略和将传统动量因子拆分后日内涨跌幅因子和隔夜涨跌幅因子的效果。
>>> 研究内容
不同的交易者群体,会有不同的行为模式。在交易日内的不同时段,交易者的成分可能存在系统性差异,因而会导向不同的市场行为特征,最终形成各式各样的日内模式(intraday patterns)。按照这个思路,为了研究动量效应的日内精细规律,本文将行业指数的每日收益率拆解为日内收益率(今收/今开-1) 和隔夜收益率(今开/昨收-1)。
1)将过去 15 个交易日的日内收益率加总,命名为日内涨跌幅因子 M0;将过去 15 个交易日的隔夜收益率加总,称为隔夜涨跌幅因子 M1。
2)将这两个效应结合在一起,构建新的行业轮动模型。在具体操作上,我们将 N 个行业指数按照 M0 因子值从低到高分别打 1 分至 N 分,按照 M1 因子值从高到低分别打 1 分至 N 分,将两项打分相加,得到每个行业的总得分,此因子命名为黄金律因子 M_gold。
3)行业轮动的回测框架如下:
测试时段: 2006 年 1 月-2017 年 11 月;
样本空间: 申万一级行业指数(共 28 个);
调仓方式: 在每个月初,将行业指数按总得分排序,划分为五组,分别持有至月末;得分最高的组合为多头组合,得分最低的组合为空头组合。
>>> 本文所用因子构建细节
根据研究内容,我们列出本文所用的四个因子构建细则:
传统动量因子:前十五天涨跌幅
日内涨跌幅因子M0:前十五日内收益率加总,其中日内收益率为今收/今开-1
隔夜涨跌幅因子M1:前十五日隔夜收益率加总,其中隔夜收益率为今开/昨收-1
黄金律因子M_gold:将日内涨跌幅因子和隔夜涨跌幅因子根据打分法等权加总构成黄金律因子,其中日内涨跌幅因子由于动量效应采取从低到高分别打1-N分,而隔夜涨跌幅因子由于反转效应由高到底分别打1-N分
>>> 研究结论
1)本文将传统的动量因子(即前十五日涨跌幅)进行分拆,对交易者的行为模式进行进一步细化,可以发现交易者存在不同的日内交易模式,这为构建新的因子提供思路。
2)可以发现行业指数存在“日内动量”与“隔夜反转”的黄金律:即日内涨跌幅因子 M0(前15天的日内收益率加总) 呈现显著的动量效应,因子越大的组合能够带来更大的收益,而隔夜涨跌幅因子 M1(前十五日隔夜收益率加总)则呈现反转效应,因子值越小的组合超额收益更加明显。
3)将两个因子按照打分法等权结合得到的黄金律因子构建行业轮动组合,可以发现顶部组合年化收益约有 7%的提升,同时最大回撤情况也有明显改善。对比传统的动量因子夏普比率 0.68,黄金律因子的夏普比率可达 0.87。
>>> 研究耗时
1)数据准备部分:大约需要 20min,数据采集部分需要注意,目前平台暂无提供直接的 API 获取行业数据,以下的内容都是调用了聚源数据库进行的操作,具体数据源可以参考这个链接
https://www.joinquant.com/help/data/data?name=jy#nodeId=17
2)策略构建部分:大约需要 30min,主要对模型进行调整。
目前平台暂无提供直接的 API 获取行业数据,以下的内容都是调用了聚源数据库进行的操作,具体数据源可以参考这个链接https://www.joinquant.com/help/data/data?name=jy#nodeId=17,我们利用 get_SW_index 这个函数提取每一个申万二级行业指数的数据,利用 index_list 确定提取指标,如收盘价“ClosePrice”等,其中 codelist 为申万二级指数的代码汇总,我们可以利用 get_SW_index 函数提取出交易数据。
设置开始回测的开始时间和结束时间,将 index_list 设置为收盘价与开盘价,利用 get_SW_index 分别提取出所有申万二级指数的收盘价和开盘价。
不同的交易者群体,会有不同的行为模式。在交易日内的不同时段,交易者的成分可能存在系统性差异,因而会导向不同的市场行为特征,最终形成各式各样的日内模式(intraday patterns)。按照这个思路,为了研究动量效应的日内精细规律,报告将行业指数的每日收益率拆解为日内收益率(今收/今开-1) 和隔夜收益率(今开/昨收-1)。在本篇报告中,我们将过去 15 个交易日的日内收益率加总,命名为日内涨跌幅因子 M0;将过去 15 个交易日的隔夜收益率加总,称为隔夜涨跌幅因子 M1。
首先我们设置回测的一些参数,即开始回测时间和年份。
下面的 def_alpha 函数是我们根据之前说的因子计算逻辑计算出四个因子,即M-传统的动量因子,M0-日内涨跌幅因子,M1-隔夜涨跌幅因子,M_gold-M1 和 M2 的复合因子。
同时后续会利用 report 这个函数对比这四个因子的选股效果,report 函数计算得到了年化收益率,最大会回撤等指标,可以对策略收益进行量化衡量,我们同时给出如计算得到的传统动量因子,如下所示: