【8月13日 新浪财经碳中和高峰论坛将于线上重磅开启!】王忠民、赖晓明、朱丽红、李一梅、花长春、郭磊、付鹏、李超等众多嘉宾云集,共议绿色未来!万物皆碳,未来已来。如何把握机遇?https://finance.sina.com.cn/zt_d/tanzhonghe/
炒股就看金麒麟分析师研报,权威,专业,及时,全面,助您挖掘潜力主题机会!
原标题:【广发金融工程】考虑拥挤度的细分行业动量策略:重构量化行业轮动框架(技术篇) 来源:广发金融工程研究
报告摘要
重构量化行业轮动框架,关注市场的拥挤度效应:
完整的行业轮动框架,通常涵盖了对风险因子的挖掘,即本文的拥挤度因子。本文基于动量策略,即认为行业的上涨趋势是具有惯性的,短期内可以通过行业截面比较寻找涨幅靠前的行业进行配置。其次,采用拥挤度因子作为风险效应的指标,我们认为当行业触发拥挤度信号后,提示行业短期交易过热,风险上升,此时应立即清仓离场。
拥挤度效应对于市场情绪的精确把握:
本文从流动性、乖离率等角度筛选拥挤度因子,不仅把握了市场“速度”,还抓住了市场“加速度”,更好地反映了市场的拥挤度效应。此外,不仅仅利用拥挤度单因子来判断交易热度,而是通过判断行业对多个拥挤度因子的反馈,全面把握行情。在动量策略行业组合的基础上,通过拥挤度策略筛选未处于拥挤状态的行业白名单,来进一步剔除“高危”行业。观察发现,复合策略大概率完美避开即将大幅回撤的行业,保留的行业在下月涨幅仍排名靠前。
策略实证结果:
报告中围绕动量因子和拥挤度因子,构建了基于102个申万二级行业的轮动策略,自2010年1月至2021年7月的样本测算区间内,轮动策略相对行业等权基准指数获得约29%的年化超额收益。
最新推荐行业:
截至2021年7月,根据模型最新一期测算结果,由于7月所有行业均处于拥挤状态,8月应维持空仓。
核心风险提示:
本模型采用量化方法通过历史数据统计、建模和测算完成,所得出的规律及推介行业未必具有严格的投资逻辑,也未必符合当前宏观环境特点,在极端的市场环境变化中有失效的风险。
1
行业轮动框架简介
1.1 量化行业配置框架介绍
一个完整的行业轮动框架,通常涵盖了对市场交易惯性因子、风险因子的挖掘,本文主要采用动量因子作为市场交易惯性的指标,即我们认为行业的上涨趋势是具有惯性的,短期内可以通过行业截面比较寻找涨幅靠前的行业进行配置。其次,采用拥挤度因子作为风险效应的指标,我们认为当行业触发拥挤度信号后,提示行业即将走弱,此时应立即清仓离场,从而构建行业轮动策略。
本文将标的设置为申万二级行业,以行业等权为基准,首先针对动量和拥挤度两个子策略,寻找合适的动量因子和拥挤度因子,并分别进行单因子与多因子回测。完成对两个子策略的测试后,我们进一步尝试将两个策略结合得到新的复合策略,复合策略在样本回测中取得稳定表现。
1.2 A股行业动量与拥挤度效应前瞻
从动量角度出发寻找标的是一种十分直观的思路,一般情况下投资者更倾向于配置一些涨幅较佳的行业。我们来考虑最简单的动量策略,在每月底买入涨的最好的40个行业,也可以买入过去半年甚至一年涨幅最大的行业,每次买入的行业个数也都是可以灵活变动的,下面列举了最常用的9种策略,以行业等权为基准,发现9种策略均存在超额收益,长期动量表现要好于短期动量,说明在A股市场,动量效应目前仍然是存在的,但是也不难发现,这部分超额收益已经不那么显著,其中可能的原因在于,对于二级细分行业,资金切换的速度和风险累积的速度很快,动量效应持续性和稳定性不强。
自然容易想到,如果一个细分行业出现了资金过度拥挤的情况,涨势是不持久的,那么是否可以定义风险指标,从而尽可能规避风险,此时便需要用到本文的拥挤度因子。拥挤度因子通常分为:流动性因子,如成交量、换手率等,乖离率因子:成交量两月乖离率等等。例如,成交量因子中有一个细分因子是“成交量60百分位”,如果某月某个行业的月成交量超过了历史上60%的时间,我们认为该行业触发了该因子,且我们可以合理地认为这个行业交易十分火热且风险已经暴露,如果不立刻离场,大概率会遭遇回撤。以行业等权为基准,下面表2展示的是关于6种常用拥挤度因子,如果我们每个月反向买入触发了拥挤度因子的行业,会有怎样的超额收益。以“成交量60百分位”反向策略为例,如果月底某行业的成交量超过了历史上60%的时间,那么我们将其加入下月持仓。可以发现超额均为负,说明在A股市场,拥挤度效应是存在的,持仓行业如果资金过度拥挤确实会导致策略收益不佳。
2
策略构建
2.1 动量策略的构建
我们选取动量策略是相信股票的收益率有延续原来的运动方向的趋势,即过去一段时间收益率较高的股票在未来获得的收益率仍会高于过去收益率较低的股票。按照这个思路我们只需在调仓时选出当月动量排名前n的行业作为下月的持仓即可。把n设置为10/20/30/40分别讨论。根据每个行业在样本区间内的月度涨跌幅数据,常见的动量因子便是过去k月的平均月度涨跌幅,窗口期k一般设置为1/2/3/6/12。总计有5*4=20个因子:
以因子过去1月涨跌幅排名前40为例,取出某月所有行业的涨跌幅截面数据进行排序,排名前40的行业标为1,其余标为0。
得到以上20个因子后,需要对因子进行显著性检验,如果通过了检验,则说明当月因子对于下月涨跌幅具有较好的解释性。我们采用皮尔森系数进行检验。此外,我们仍需进行信号胜率检验,胜率是指某月若一个行业触发了某个动量因子,下月能够延续涨势的概率。因子胜率越高,则下月产生超额收益的概率越大。
相对应的,我们可以根据因子构建动量策略,例如,过去1月涨跌幅排名前40这个因子对应的策略是,如果某月某行业该因子对应值为1,则我们保留该行业,否则剔除该行业,对所有的行业进行相同的筛选后,保留的行业便作为下月的持仓。
下面对动量策略进行优化:先前的策略中我们是按照过去k个月的平均月度涨幅前n筛选行业,但是我们没有对筛选出来的行业设置涨跌幅阈值,以过去1个月涨跌幅前40这个因子为例,可能在某些月份,行情特别差的情况下,部分行业虽然入围了前40的名单,但是其收益为负且大幅低于基准,我们自然应该剔除这类行业。但是如果只是简单剔除,我们发现2013/06/28,2015/07/31,2016/01/29,2018/06/29四期会出现空仓的情况,动量策略作为基础策略,我们仍希望每月均有持仓,因此我们对排名前10的行业不做处理,只对排名10至40的行业进行筛选,具体筛选方法如下,设置阈值T,若某行业当月涨幅小于T,则在下月的持仓中剔除。这样我们便能保证每月至少有10个行业的配置。本文T取值在(-0.1,0.1)之间,步长为0.01,分别回测。改进后回测结果最优的两个组合如下,最优阈值T为-0.05,即每月我们需要把跌幅超过5%的行业也全部剔除掉。:
通过显著性检验和信号胜率检验前提下,回测表现最好的策略如下:
进一步验证筛选40个行业的合理性,以过去1个月涨跌幅策略来说,我们来观察分别选出前10/20/30/40个行业策略收益会有什么变化,如下。可以发现,无论是从总体年化超额来看还是从分年度表现来看,随着行业个数的增加,策略收益也同样增加,40个行业的最优性得到了进一步证明。
2.2 拥挤度策略的构建
有效的拥挤度指标也是风险指标,需要及时对市场交易过热的风险做出提示,避免投资组合出现大幅亏损。比较常用的拥挤度指标如下表:
以成交量历史百分位阈值60%为例作说明,若某月某行业的成交量超过历史60%时间的成交量,则记为1,否则记为0。
我们的目标是从每类因子中选出一个阈值加入因子库,比如:成交量百分位60%/70%/80%/90%中我们只能选择60%/70%/80%/90%中的一个。选择的标准如下,首先,我们需要从中筛选与下月涨跌幅总体成负相关的因子,因为我们在利用拥挤度策略剔除行业的时候,就已经默认了当某行业拥挤度因子值为1时,行业处于短期过热的状态,下月的收益会受到负面的影响。其次,我们还需进行显著性检验和信号胜率检验,筛选显著性最强和胜率最高的因子。最终筛选结果如下:
自此,已经可以建立单因子拥挤度策略,例如成交量60百分位为例,初始我们的标的总共是102个二级行业,如果某月某行业在成交量60百分位对应位置的值为1,则我们将该行业剔除,最终剩余行业作为我们下月的持仓。
以行业等权为基准进行回测,结果如下,可见拥挤度效应确实存在,排除拥挤度高的行业确实为我们带来了超额收益。
下面任取两个因子展示60/70/80/90百分位的策略净值表现。从结果来看,成交量60百分位策略表现最好,进一步验证了之前的结果。且随着百分位的提高,收益呈现递减的状态,说明市场的敏感性是很高的,当成交量百分位等指标超过历史上60%的时间就足以提示风险了,如果将百分位设置得过高,则对于市场拥挤度信号的捕捉太不敏感了,会导致策略收益不佳。
以上均是针对单个拥挤度因子来说,如果我们把拥挤度因子进行复合,会有怎样的结果。接下来我们引入复合因子,分别为1信号因子、2信号因子、3信号因子、4信号因子、5信号因子和6信号因子。以2信号因子为例,某月某行业在上述6个因子中的任意2个或者2个以上值为1,比如成交量60百分位和成交额60百分位,那么该月该行业2信号因子的值便为1,否则2信号因子的值记为0。
同样,对应的有复合因子策略,比如2信号策略,如果某月某行业2信号因子的值为1,则把该行业剔除,剩余行业作为下个月持仓,回测结果如下:
可以看出,复合因子的表现与单因子相差无几,我们暂时保留复合因子,为后续研究作准备。
下表展示的是不同信号个数策略的持仓行业个数(2019-2021),可以发现,随着信号个数的增加,持仓行业个数越来越多,说明随着要触发信号的门槛越来越高,拥挤度策略删除的行业越来越少。但是从上面的超额收益表中看出,删除的行业过多或者过少都会导致表现不佳,折衷的策略(3信号)有着最好的表现。
总结:经过以上讨论,我们已经证明了动量效应和拥挤度效应的存在,但是我们也注意到动量效应在申万二级行业的轮动中偏弱,主要原因就是在于细分行业中,更容易出现资金情绪的快速切换和风险效应的累积。如果能够剔除一部分资金已经过度拥挤且风险系数高的行业,策略表现是否会有大幅提升呢?
2.3 复合策略的构建
现在讨论将动量策略和拥挤度策略进行复合得到一个新的策略。之前提到,动量效应确实存在,但是在本文讨论的行业轮动中似乎效应不是很明显,我们自然就考虑从中剔除一部分行业,而拥挤度策略作为一个能够产生超额收益的策略,常用来筛选剔除短期交易过热的行业,我们尝试从动量策略选中的行业之中剔除部分短期交易过热的行业,作为新的复合策略。例如,首先我们利用动量策略筛选除了一个行业组合,其次我们进一步利用单因子或者复合因子的拥挤度策略进行筛选,这样便构成了一个复合策略。具体原理如下图:
结合之前的动量因子和拥挤度因子,总计有2*6 = 12种复合策略。以动量策略(过去1个月涨跌幅前40)+拥挤度策略(2信号)为例作说明:月底需要调仓时,我们筛选出当月涨幅前40的行业,并从排名10-40的行业中剔除跌超5%的行业,剩余行业若当月触发2个以上的拥挤度信号,也予以剔除,余下行业作为下月持仓。
以行业等权为基准,回测,下面只列出年化超额收益率大于20%的策略:
结论1:复合策略的超额收益远远超过动量策略和拥挤度策略两个子策略。说明虽然动量策略和拥挤度策略分别作为两个子策略并没有特别明显的超额收益,但是当两者复合以后,却产生了十分明显的效应,这正是动量+拥挤度策略的巧妙之处,由于资金在细分行业中的快速切换和拥挤度叠加的风险效应导致动量策略效果不佳,但是如果利用拥挤度指标将风险效应高且资金短期涌入过多的行业剔除,剩余的行业组合往往在接下来有十分优异的表现,因此先拥挤度策略筛选出每月的未处于拥挤状态的行业白名单,接着从动量策略筛选出来的行业组合中剔除不在白名单里的行业即可。
结论2:根据之前的回测结果,虽然拥挤度策略中复合因子表现与单因子相差无几,但是在动量+拥挤度复合策略中,复合因子的表现要明显优于单因子。
可知复合策略“过去1个月涨跌幅前40+复合因子(3信号)”有着最高的超额收益,下面对策略合理性的进一步说明,首先动量因子保持不变,改变拥挤度因子,可见3信号确实是有着最好的表现,其次拥挤度因子保持不变,改变动量因子,1月因子也超过了12月因子。
2.4 案例展示
以“过去1个月涨跌幅前40+阈值-0.05+复合因子(3信号)”这种复合策略为例,从策略表现、持仓数量等角度与其子策略进行比较。
从策略表现来看,复合策略表现大幅优于两个子策略,且基本上从2012-2020每年度均大幅跑赢两个子策略。
近两年持仓个数来看,复合策略的持仓是动量策略行业组合与拥挤度策略筛选出来的行业白名单的交集,但是很大程度上由后者决定,比如2012/3/30,动量策略持仓为40个,拥挤度策略持仓为9个,两个策略都持有的只有1个行业,说明当月拥挤度策略把动量策略筛选出来的绝大部分行业全部剔除掉了,这也是我们复合两个策略的初衷。如果拥挤度策略反映出来的是大部分行业都处于过热的情况,我们不应再参与其中,果然,2012/3/30两个子策略均是负收益,而复合策略为正收益。而且这样的情况不是个例,经统计,通过拥挤度指标的筛选后复合策略能跑赢动量策略的概率达到60%以上,说明拥挤度作为一个控制风险的策略是真实有效的。
下表是两个具体的案例展示:2019/6/28,动量策略给出的行业组合如表中所示,总共10个行业,但是经过拥挤度策略筛选后,只剩下一个行业'801053.SI',除该行业以外,其他的行业都是触发了三个及以上的拥挤度信号,且我们可以很明显地发现,处于拥挤度状态分行业下月收益基本上都为负。2015/1/30,动量策略组合中几乎所有的行业均触发了6个信号,唯独'801076.SI'只触发了2个信号,从而得以保留。触发6信号的行业下月几乎全部为负收益,被保留下来的'801076.SI'单月涨幅超50%。
从以下给出的部分月K线图更进一步阐释了拥挤度与涨跌幅的直观联系。
3策略实证
3.1 策略设置
行业选择:行业分类采用申万二级行业分类,由于首月涨幅过大且成分股数量过少,不具有代表性,剔除其他休闲服务II(801215.SI)和其他轻工制造II(801144.SI)两个行业,剩余共102个行业;
调仓周期:1个月;
日期区间:2010年1月至2021年6月;
策略基准:行业等权基准;
交易成本:双边千分之三;
策略设置:每月底筛选当月涨幅排名前40的行业,并从排名10-40的行业中剔除月收益率小于-5%的行业,剩余行业利用拥挤度复合因子进行筛选,如果某行业当月触发3个及以上的单因子,则剔除该行业,等权配置余下的行业。
3.2 实证结果
从以下回测结果可以看到,在考虑了利用动量+拥挤度复合策略之后,年化超额收益达到了28.94%。
分年度来看,从2010年1月到2021年2月,各年超额收益都为较高。
各期超配行业组合明细及最新行业配置结果如下表所示,每个月超配的行业组合权重为等权。
4
总结
4.1 策略总结
基于动量和拥挤度维度的行业轮动研究,本文从传统的动量策略出发,在发现动量效应在申万二级行业中较弱之后,总结问题在于细分行业的资金切换速度及风险效应累积过快,进而从风险控制的角度探究A股中是否存在拥挤度效应,证明拥挤度效应确实存在后,将动量策略和拥挤度策略结合起来,超额收益大幅提升。
分别研究两种子策略。对于动量策略,选择最常见的【过去k月平均涨跌幅排名前n】作为动量因子,并通过设定涨跌幅阈值对动量策略进行改进,通过显著性检验和信号胜率检验的有5个因子:【过去1月涨跌幅排名前40,过去1月涨跌幅排名前50,过去6月涨跌幅排名前50,过去12月涨跌幅排名前40,过去12月涨跌幅排名前50】。
其次,对于拥挤度策略,等同于寻找合适的风控指标,本文根据过往经验选择最常用的拥挤度因子,并一一进行显著性检验和信号胜率检验,最终通过的有6个因子:【成交量60百分位,成交额60百分位,换手率60百分位,成交量乖离率60百分位,成交额乖离率60百分位,换手率乖离率60百分位】,先单独测试6个因子的超额收益,接着尝试将6个因子进行复合,得到6个新的因子【2信号,3信号,4信号,5信号,6信号】。因此拥挤度策略中总计有6+5=11个因子。
将动量策略和拥挤度策略复合构建新的策略,总计有5*11=55种组合,回测结果最优组合为动量策略【过去1月涨跌幅排名前40】+拥挤度策略【3信号】。
在行业配置的具体运作上,我们以申万二级行业为标的,采取月度调仓的方式,每月底选出当月涨幅排名前40的行业,并从排名10-30的行业中剔除跌幅超5%的行业,接着利用拥挤度策略筛选所有二级行业中未处于拥挤状态的行业白名单,最后将动量策略行业组合与拥挤度策略行业白名单取交集,作为下月持仓,等权配置。
4.2 策略展望
在因子最优参数的选择与策略回测过程中,使用的均是全样本数据,存在一定程度的过拟合。实际使用中,仍需要观察策略样本外表现,并考虑采用滚动样本进行建模。
4.3 最新结果
根据模型最新一期识别结果,由于7月所有行业均处于拥挤状态,8月应维持空仓。
风险提示
本模型采用量化方法通过历史数据统计、建模和测算完成,所得出的规律及推介行业未必具有严格的投资逻辑,也未必符合当前宏观环境特点,在极端的市场环境变化中有失效的风险。
详细研究内容请参见广发金工专题报告
《考虑拥挤度的细分行业动量策略》
法律声明:
本微信号推送内容仅供广发证券股份有限公司(下称“广发证券”)客户参考,其他的任何读者在订阅本微信号前,请自行评估接收相关推送内容的适当性,广发证券不会因订阅本微信号的行为或者收到、阅读本微信号推送内容而视相关人员为客户。
完整的投资观点应以广发证券研究所发布的完整报告为准。完整报告所载资料的来源及观点的出处皆被广发证券认为可靠,但广发证券不对其准确性或完整性做出任何保证,报告内容亦仅供参考。
在任何情况下,本微信号所推送信息或所表述的意见并不构成对任何人的投资建议。除非法律法规有明确规定,在任何情况下广发证券不对因使用本微信号的内容而引致的任何损失承担任何责任。读者不应以本微信号推送内容取代其独立判断或仅根据本微信号推送内容做出决策。
本微信号推送内容仅反映广发证券研究人员于发出完整报告当日的判断,可随时更改且不予通告。
本微信号及其推送内容的版权归广发证券所有,广发证券对本微信号及其推送内容保留一切法律权利。未经广发证券事先书面许可,任何机构或个人不得以任何形式翻版、复制、刊登、转载和引用,否则由此造成的一切不良后果及法律责任由私自翻版、复制、刊登、转载和引用者承担。
APP专享直播
热门推荐
收起24小时滚动播报最新的财经资讯和视频,更多粉丝福利扫描二维码关注(sinafinance)