数据制胜。
如何能在股票市场的博弈中胜出?对于量化投资者来说,关键在于对数据的全面收集,并结合数学模型和算法进行深入分析,从海量数据中挖掘出隐藏的市场规律。
基于Level 2逐笔订单数据构建的大小单占比因子。Level 1行情数据为3秒一笔的快照(Snapshot)数据,包含了简单的开高低收交易量交易金额等常规数据,所含信息有限。Level 2行情数据则不仅提供了10档买卖委托等更丰富的快照数据,而且提供了股票市场在交易时段中的每一笔委托、成交和撤单的详细信息。
本文是“海量Level 2数据因子挖掘”系列研究报告的第一篇,从所有行情数据的根源——Level 2逐笔订单数据出发,从订单的大小角度进行窥探,并结合多维度解耦的分析方法构建出有效的大小单因子。
从多维度解耦的大小单占比因子。隔夜知情交易者通常会在第二天开盘后迅速根据已掌握的信息进行买入或卖出,以谋求更大的收益或减少踩踏。因此,开盘后15分钟或30分钟内的大小订单信息尤其值得关注。基于此观察,本文构建了24个从时间维度进行解耦的大单占比因子。与此同时,同一笔成交订单同时存在着买入和卖出两个方向上的大小单属性。据此,本文构建出了12个从订单维度解耦的大小单占比因子。进一步的,本文尝试同时从时间维度和订单维度来对大小单因子进行解耦,构建出了48个多维度解耦的大小单占比因子。
精选大小单因子组合。最后,本文从上述93个大小单因子中挑选出表现优异者,并构建出了精选大小单因子组合。在2020~2023年期间的20日换仓下,实证结果表明精选大小单因子组合在A股全市场及各大板块上均取得了较为出色的表现。在200档分档组合构建下,大小单因子组合在全市场板块的多头较为显著,取得了36.61%的多头年化收益率,最大回撤率为17.52%,夏普比率为2.03,相对同期的中证全指取得了33.07%的超额年化收益率。在50档分档组合构建下,大小单因子组合在沪深300、中证500、中证800、中证1000和创业板板块的多头较为显著,分别取得了12.24%、22.55%、18.54%、24.61%、36.20%的多头年化收益率,夏普比率分别为0.75、1.12、1.14、1.36、1.59,相比同期的板块指数分别取得了13.40%、18.67%、18.95%、17.39%、25.07%的超额年化收益率。
风险提示。
(1)本文所述模型用量化方法通过历史数据统计、建模和测算完成,所得结论与规律在市场政策、环境变化时存在失效风险;(2)本文策略在市场结构及交易行为改变时有可能存在失效风险;(3)因量化模型不同,本文提出的观点可能与其他量化模型结论存在差异。
如何能在股票市场的博弈中胜出?关键在于对市场信息的掌握和对市场规律的理解。对于量化投资者来说,更在于对数据的全面收集和深度分析,并结合数学模型和算法,从海量数据中挖掘出隐藏的市场规律。这些规律可能是某些股票价格的趋势,市场的周期性波动,抑或是短期的交易信号。一旦这些规律被发现并加以利用,量化投资者便能在股票市场的博弈中获得优势。股票行情数据源于上交所和深交所,根据数据的频率和丰富度通常分为Level 1数据和Level 2数据。如表1所示,Level 1数据为3秒一笔的快照(Snapshot)数据,包含了常用行情软件上可以看到的最高价、最低价、开盘价、收盘价、成交量、成交额、成交笔数、委买委卖量、5档申买申卖价、5档申买申卖量等数据。而相比数据频率较低、数据丰富度有限的Level 1数据,Level 2数据中则不仅提供了更为丰富的快照(Snapshot)数据,如10档申买申卖价、10档申买申卖量、最优买卖价前50笔委托、买卖委托价位数、买卖撤单信息等,而且提供了Level 1数据中所不包含的逐笔订单(Tick)数据。逐笔订单数据包含了当日交易时段中集合竞价和连续竞价的每一笔订单数据,其中的关键信息包括精确到毫秒的订单时间、逐笔序号、频道代码、价格、数量、金额、买入卖出订单号和订单类别等详细数据。Level 2数据中的逐笔订单数据是一切行情数据的根源,不同频率的快照数据均由逐笔订单数据聚合而成。在“海量Level 2数据因子挖掘”系列研究报告中,将尝试对Level 2数据中详细的快照数据和逐笔订单数据进行深入分析并加以利用,有望能够从中获得更为丰富的价格趋势、周期波动、交易信号等规律和信息,从而挖掘出更为有效的因子,构建出具有超额收益的股票投资组合。本文是“海量Level 2数据因子挖掘”系列研究报告的第一篇,从所有行情数据的根源——Level 2逐笔订单出发,通过大小订单的角度对所有交易订单进行窥探,并结合多维度解耦的分析方法构建出了93个有效的大小单因子。最后,本文从上述93个大小单因子中挑选出表现优异者,并构建出了精选大小单因子组合。实证结果表明,精选大小单因子组合在A股全市场及各大板块中均取得了较为突出的表现。
对于Level 2逐笔订单数据中的每一笔成交信息而言,逐笔序号是唯一的,而买入订单号和卖出订单号并不是唯一的,这是因为同一笔委托可能会由于对手下单数量的不同而被拆解为多个订单成交。因此,逐笔订单中的成交信息并不能直接反应原始委托订单的大小。在本文研究中,为了能够真实反映原始委托订单的大小,首先分别把归属相同买入订单号和卖出订单号的逐笔成交订单进行聚合,得到原始委买订单和委卖订单中的信息。
在Wind等常用行情软件的大小单界定规则中,通常将挂单金额小于4万元的归类为小单、挂单金额大于4万元但小于20万元的归类为中单、挂单金额大于20万元但小于100万元的归类为大单、挂单金额大于100万元的归类为超大单。但这样基于绝对金额阈值筛选的订单通常与股票市值和股价有明显的关联,同样的挂单金额在大市值的股票中可能实际上只是一个小单,但在小市值的股票中却是一个超大单。
基于以上观察,本文在对大小单进行界定时并未使用绝对的金额阈值,而是分别对买卖订单中成交量大于均值+N倍标准差的订单界定为大单,剩余的则相应地界定为小单。本文分别采用3个不同的标准差阈值来对大小单进行界定,假设买卖订单中的成交量服从如图1所示的高斯分布,则买卖订单中大于均值+1.0倍标准差的大单约占15.8%,大于均值+1.5倍标准差的大单约占6.7%,大于均值+2.0倍标准差的大单约占2.3%,以此构建出了大买单占比因子BigBuy_1p0、BigBuy_1p5、BigBuy_2p0,以及大卖单占比因子BigSell_1p0、BigSell_1p5、BigSell_2p0。此外,还可以同时从买卖双向考虑大小单问题,将大买单占比因子和大卖单占比因子相加得到大买大卖单占比因子BigBuySell_1p0、BigBuySell_1p5、BigBuySell_2p0。而小单占比因子实际上等于1-大单占比因子,它们之间呈现出同向的线性关系,因此大单占比因子实际上已包含小单占比因子信息,无需额外构建小单占比因子。大小单占比因子在全市场中的20档回测如表2~表5所示。其中大买单占比因子BigBuy_1p0的表现较为突出,5日换仓RankIC均值为5.4%、胜率为64%,多头年化收益率达33.15%、最大回撤率为13.43%、夏普比率为1.83;经因子平滑后的5日换仓RankIC均值为5.4%、胜率为63%,多头年化收益率为30.85%、最大回撤率为14.24%、夏普比率为1.64。在20日换仓条件下,大买单占比因子BigBuy_1p0的RankIC均值为7.9%、胜率为70%,多头年化收益率达28.08%、最大回撤率为9.18%、夏普比率为1.80;而经过因子平滑后的20日换仓RankIC均值为7.9%、胜率为65%,多头年化收益率达28.92%、最大回撤率为9.16%、夏普比率为1.78。整体而言,未经因子平滑的原始大小单占比因子表现更优,5日换仓条件下的因子能取得更好的多头年化收益率,而20日换仓条件下的因子RankIC更高。
在上一章节中,本文根据聚合后的原始买卖委托订单对大小单进行了界定划分,并构建出了大小单因子。在本章节中,将利用Level 2数据中逐笔订单的丰富信息,进一步从时间维度和订单维度上对大小单因子进行解耦,谋求挖掘出更有效的信息。卖出订单号的逐笔成交订单进行聚合,得到原始委买订单和委卖订单中的信息。
由于聚合后的原始买卖委托订单,可能会出现同一委托订单号横跨多个时间段与不同对手完成交易情况,因此无法直接对聚合后的原始买卖委托订单进行时间划分。为了对大小单进行正确的时间解耦划分,本小节采用聚合后的原始委托大小单界定,来对原始的逐笔订单进行大小单划分。隔夜知情交易者通常会在第二天开盘后迅速根据已掌握的信息进行买入或卖出,以谋求更大的收益或减少踩踏。因此,开盘后15分钟或30分钟内的大小订单信息尤其值得关注,类似的现象有时也会出现在收盘前15分钟或30分钟内,这也正是从时间维度解耦大小单因子的逻辑所在。基于此观察,本小节尝试根据不同的时间段来对大单占比因子进行解耦。例如,以均值+1.0倍标准差作为大单划分阈值,在开盘后15分钟即09:30-09:45时段的大单占比因子为BigBuy_1p0_09300945。以此类推,本小节基于3种不同的大小单界定阈值(大于均值+1.0/1.5/2.0倍标准差),在4个开盘和收盘时间段总共构建了24个从时间维度解耦的大买单占比和大卖单占比因子。经时间维度解耦后的大小单占比因子在全市场中的20档回测表现如表6~表9所示。其中开盘后半小时的大买单占比因子BigBuy_1p0_09301000的表现较为突出,5日换仓RankIC均值为3.4%、胜率为63%,多头年化收益率达29.78%、最大回撤率为13.02%、夏普比率为1.63;经因子平滑后的5日换仓RankIC均值为4.0%、胜率为61%,多头年化收益率为29.01%、最大回撤率为13.03%、夏普比率为1.51。在20日换仓条件下,开盘后半小时的大买单占比因子BigBuy_1p0_09301000的RankIC均值为4.5%、胜率为70%,多头年化收益率达26.63%、最大回撤率为8.37%、夏普比率为1.73;而经过因子平滑后的20日换仓RankIC均值为6.0%、胜率为64%,多头年化收益率达27.27%、最大回撤率为6.40%、夏普比率为1.72。而未经解耦的大买单占比平滑因子的20日换仓多头年化收益率为28.92%、最大回撤率为9.16%,相比之下解耦后的大小单因子能够在取得同等绝对收益的情况下,降低最大回撤率,取得更平稳的收益表现。此外,值得讨论的是,尽管经时间维度解耦后的大小单占比因子的RankIC有较大幅度的降低,但对多头年化收益率的影响并不大。比如在5日换仓条件下,未解耦的大买单占比因子BigBuy_1p0的RankIC均值为5.4%、多头年化收益率为33.15%;而经时间维度解耦后的开盘后半小时大买单占比因子BigBuy_1p0_09301000的RankIC均值为3.4%、多头年化收益率为29.78%。这是因为大买单占比因子主要考虑了主力买入订单因素,而主力买入订单与多头深度绑定,因此对多头的影响较大,而对空头的影响较小。尽管整体RankIC下降,但下降的因素更多来自于非多头部分的相关性,而多头则保持较为密切的关联。因而通过大买单占比因子在构建分档股票组合时,能够较为有效地构建多头组合。这也正是回测统计结果中多头收益通常高于多空收益的逻辑所在。
从本文第二章节中对大小单的界定划分可以看出,同一笔成交订单同时存在着买入和卖出两个方向上的大小单属性。因此,大小单因子可以拆解为大买单大卖单、大买单小卖单、小买单大卖单、小买单小卖单四种订单属性不同的因子。文小节基于三种不同的大小单划分阈值构建出了12个从订单维度解耦的大小单占比因子。经时间维度解耦后的大小单占比因子在全市场中的20档回测表现如表10~表13所示。其中买卖双向同属于大订单的因子取得了不错的选股效果,大买单大卖单占比因子BigBuy_BigSell_1p0的表现较为突出,5日换仓RankIC均值为6.7%、胜率为72%,多头年化收益率达31.01%、最大回撤率为15.44%、夏普比率为1.67,多空年化收益率达47.09%、最大回撤率为9.71%、夏普比率为3.19;经因子平滑后的5日换仓RankIC均值为6.9%、胜率为70%,多头年化收益率为30.88%、最大回撤率为15.98%、夏普比率为1.63,多空年化收益率为51.69%、最大回撤率为12.73%、夏普比率为3.03。在20日换仓条件下,大买单大卖单占比因子BigBuy_BigSell_1p0的RankIC均值为9.8%、胜率达82%,多头年化收益率达28.57%、最大回撤率为11.53%、夏普比率为1.80,多空年化收益率达35.12%、最大回撤率为8.35%、夏普比率为2.17;而经过因子平滑后的20日换仓RankIC均值达10.1%、胜率为78%,多头年化收益率达27.03%、最大回撤率为14.78%、夏普比率为1.65,多空年化收益率达37.61%、最大回撤率为10.92%、夏普比率为1.96。尽管经订单维度解耦后的大小单占比因子在多头收益表现上并未具有优势,但其在多空组合上则相较于原始未解耦的大小单因子表现出了明显的提升。例如在5日换仓条件下,未解偶的大买单占比因子BigBuy_1p0的多空年化收益率为32.23%,而经订单维度解耦后的大买单大卖单占比因子BigBuy_BigSell_1p0取得了47.09%的多空年化收益率。这其中的逻辑与前文相似:大买单通常与多头深度绑定,在单独考虑大买单占比时,通常可以取得较为理想的多头收益;而大卖单则通常与空头深度绑定,因此同时考虑大买单和大卖单这两个属性时,可以在取得同等多头收益的同时,获取更理想的多空收益。这一现象在提升大买单界定阈值后更为突出,例如表11中BigBuy_BigSell_2p0取得了58.17%的多空年化收益率,且其最大回撤率仅为5.55%,夏普比率达4.34。
本小节进一步尝试同时结合时间维度和订单维度来解耦大小单因子,基于三种不同的大小单划分阈值构建出了48个多维度解耦的大小单占比因子。经多维度解耦后的大小单占比因子在全市场中的20档回测表现如表14~表17所示。其中开盘后半小时的大买单大卖单占比因子BigBuy_BigSell_1p0_09301000和收盘前半小时的大买单大卖单占比因子BigBuy_BigSell_1p0_14301457的表现较为突出。5日换仓条件下,BigBuy_BigSell_1p0_09301000因子的RankIC均值为3.3%、胜率为66%,多头年化收益率为29.02%、最大回撤率为14.70%、夏普比率为1.56;经因子平滑后的5日换仓RankIC均值为4.5%、胜率为67%,多头年化收益率为30.25%、最大回撤率为14.24%、夏普比率为1.59。而BigBuy_BigSell_1p0_14301457因子的RankIC均值为2.9%、胜率为71%,多头年化收益率为24.49%、最大回撤率为17.58%、夏普比率为1.30;经因子平滑后的5日换仓RankIC均值为4.2%、胜率为70%,多头年化收益率为25.72%、最大回撤率为16.35%、夏普比率为1.33。在20日换仓条件下,BigBuy_BigSell_1p0_09301000因子的RankIC均值为4.9%、胜率为75%,多头年化收益率达26.56%、最大回撤率为9.82%、夏普比率为1.68;经过因子平滑后的20日换仓RankIC均值达7.4%、胜率为71%,多头年化收益率达28.79%、最大回撤率为9.05%、夏普比率为1.74。而BigBuy_BigSell_1p0_14301457因子的RankIC均值为4.2%、胜率为78%,多头年化收益率达24.13%、最大回撤率为12.58%、夏普比率为1.47;而经过因子平滑后的20日换仓RankIC均值达7.4%、胜率为77%,多头年化收益率达25.32%、最大回撤率为14.25%、夏普比率为1.51。
最后,本文从上述93个大小单因子中挑选出表现优异者,并构建出了精选大小单因子组合。在20日换仓条件下,本文对精选大小单因子组合在全市场、沪深300、中证500、中证800、中证1000、创业板板块上进行了回测,实证结果表明精选大小单因子组合在各大板块上均取得了较为出色的表现。本文对精选大小单因子组合在全市场板块上分200档构建组合进行测算,实证结果如图2~4和表18所示。大小单因子组合在全市场板块的200档多头较为显著,在2020~2023年间取得了36.61%的多头年化收益率,最大回撤率为17.52%,夏普比率为2.03,相对同期的中证全指取得了33.07%的超额年化收益率。
2. 精选大小单因子组合在沪深300板块中的表现
本文对精选大小单因子组合在沪深300板块上分50档构建组合进行测算,实证结果如图5~7和表19所示。大小单因子组合在沪深300板块的50档多头较为显著,在2020~2023年间取得了12.24%的多头年化收益率,最大回撤率为14.51%,夏普比率为0.75,相对同期的沪深300指数取得了13.40%的超额年化收益率。
3. 精选大小单因子组合在中证500板块中的表现
本文对精选大小单因子组合在中证500板块上分50档构建组合进行测算,实证结果如图8~10和表20所示。大小单因子组合在中证500板块的50档多头较为显著,在2020~2023年间取得了22.55%的多头年化收益率,最大回撤率为9.08%,夏普比率为1.12,相对同期的中证500指数取得了18.67%的超额年化收益率。
4. 精选大小单因子组合在中证800板块中的表现
本文对精选大小单因子组合在中证800板块上分50档构建组合进行测算,实证结果如图11~13和表21所示。大小单因子组合在中证800板块的50档多头较为显著,在2020~2023年间取得了18.54%的多头年化收益率,最大回撤率为7.22%,夏普比率为1.14,相对同期的中证800指数取得了18.95%的超额年化收益率。
5. 精选大小单因子组合在中证1000板块中的表现
本文对精选大小单因子组合在中证1000板块上分50档构建组合进行测算,实证结果如图14~16和表22所示。大小单因子组合在中证1000板块的50档多头较为显著,在2020~2023年间取得了24.61%的多头年化收益率,最大回撤率为10.43%,夏普比率为1.36,相对同期的中证1000指数取得了17.39%的超额年化收益率。
6. 精选大小单因子组合在创业板板块中的表现
本文对精选大小单因子组合在创业板板块上分50档构建组合进行测算,实证结果如图17~19和表23所示。大小单因子组合在创业板板块的50档多头较为显著,在2020~2023年间取得了36.20%的多头年化收益率,最大回撤率为25.15%,夏普比率为1.59,相对同期的创业板指数取得了25.07%的超额年化收益率。
如何能在股票市场的博弈中胜出?对于量化投资者来说,关键在于对数据的全面收集,并结合数学模型和算法进行深入分析,从海量数据中挖掘出隐藏的市场规律。Level 1行情数据为3秒一笔的快照(Snapshot)数据,包含了简单的开高低收交易量交易金额等常规数据,所含信息有限。Level 2行情数据则不仅提供了10档买卖委托等更丰富的快照数据,而且提供了股票市场在交易时段中的每一笔委托、成交和撤单的详细信息。本文是“海量Level 2数据因子挖掘”系列研究报告的第一篇,从所有行情数据的根源——Level 2逐笔订单数据出发,从订单的大小角度进行窥探,并结合多维度解耦的分析方法构建出有效的大小单因子。隔夜知情交易者通常会在第二天开盘后迅速根据已掌握的信息进行买入或卖出,以谋求更大的收益或减少踩踏。因此,开盘后15分钟或30分钟内的大小订单信息尤其值得关注。基于此观察,本文构建了24个从时间维度进行解耦的大单占比因子。与此同时,同一笔成交订单同时存在着买入和卖出两个方向上的大小单属性。据此,本文构建出了12个从订单维度解耦的大小单占比因子。进一步的,本文尝试同时从时间维度和订单维度来对大小单因子进行解耦,构建出了48个多维度解耦的大小单占比因子。最后,本文从上述93个大小单因子中挑选出表现优异者,并构建出了精选大小单因子组合。在2020~2023年期间的20日换仓下,实证结果表明精选大小单因子组合在全市场及各大板块上均取得了较为出色的表现。在200档分档组合构建下,大小单因子组合在全市场板块的多头较为显著,取得了36.61%的多头年化收益率,最大回撤率为17.52%,夏普比率为2.03,相对同期的中证全指取得了33.07%的超额年化收益率。在50档分档组合构建下,大小单因子组合在沪深300、中证500、中证800、中证1000和创业板板块的多头较为显著,分别取得了12.24%、22.55%、18.54%、24.61%、36.20%的多头年化收益率,夏普比率分别为0.75、1.12、1.14、1.36、1.59,相比同期的板块指数分别取得了13.40%、18.67%、18.95%、17.39%、25.07%的超额年化收益率。展望未来,“海量Level 2数据因子挖掘”系列研究报告将继续深入Level 2数据,从海量数据中挖掘出隐藏的市场规律,构建出更多的有效因子。本文所述模型用量化方法通过历史数据统计、建模和测算完成,所得结论与规律在市场政策、环境变化时存在失效风险;
本文策略在市场结构及交易行为改变时有可能存在失效风险;
因量化模型不同,本文提出的观点可能与其他量化模型结论存在差异。
《多维度解耦的94个大小单因子:海量level2数据因子挖掘系列(一)》本微信号推送内容仅供广发证券股份有限公司(下称“广发证券”)客户参考,其他的任何读者在订阅本微信号前,请自行评估接收相关推送内容的适当性,广发证券不会因订阅本微信号的行为或者收到、阅读本微信号推送内容而视相关人员为客户。
完整的投资观点应以广发证券研究所发布的完整报告为准。完整报告所载资料的来源及观点的出处皆被广发证券认为可靠,但广发证券不对其准确性或完整性做出任何保证,报告内容亦仅供参考。
在任何情况下,本微信号所推送信息或所表述的意见并不构成对任何人的投资建议。除非法律法规有明确规定,在任何情况下广发证券不对因使用本微信号的内容而引致的任何损失承担任何责任。读者不应以本微信号推送内容取代其独立判断或仅根据本微信号推送内容做出决策。
本微信号推送内容仅反映广发证券研究人员于发出完整报告当日的判断,可随时更改且不予通告。
本微信号及其推送内容的版权归广发证券所有,广发证券对本微信号及其推送内容保留一切法律权利。未经广发证券事先书面许可,任何机构或个人不得以任何形式翻版、复制、刊登、转载和引用,否则由此造成的一切不良后果及法律责任由私自翻版、复制、刊登、转载和引用者承担。