订单维度解耦的22个长短单因子:海量Level-2数据因子挖掘系列(二)
【摘要】
在股票交易所的订单撮合中,同一笔委托可能会由于对手下单数量的不同而被拆解为多个订单成交,而拆解后的多个订单既可能在短时间内连续完成,也可能在较长的一段时间内分散完成。
本文从level-2逐笔订单数据出发,对每一笔订单的成交完成时长进行度量,并订单维度的解耦分析方法,构建出了22个有效的长短单因子。
一、Level-1与Level-2数据如何能在股票市场的博弈中胜出?关键在于对市场信息的掌握和对市场规律的理解。对于量化投资者来说,更在于对数据的全面收集和深度分析,并结合数学模型和算法,从海量数据中挖掘出隐藏的市场规律。这些规律可能是某些股票价格的趋势,市场的周期性波动,抑或是短期的交易信号。一旦这些规律被发现并加以利用,量化投资者便能在股票市场的博弈中获得优势。
股票行情数据源于上交所和深交所,根据数据的频率和丰富度通常分为Level 1数据和Level 2数据。如下图所示,Level 1数据为3秒一笔的快照(Snapshot)数据,包含了常用行情软件上可以看到的最高价、最低价、开盘价、收盘价、成交量、成交额、成交笔数、委买委卖量、5档申买申卖价、5档申买申卖量等数据。
而相比数据频率较低、数据丰富度有限的Level 1数据,Level 2数据中则不仅提供了更为丰富的快照(Snapshot)数据,如10档申买申卖价、10档申买申卖量、最优买卖价前50笔委托、买卖委托价位数、买卖撤单信息等,而且提供了Level 1数据中所不包含的逐笔订单(Tick)数据。
逐笔订单数据包含了当日交易时段中集合竞价和连续竞价的每一笔订单数据,其中的关键信息包括精确到毫秒的订单时间、逐笔序号、频道代码、价格、数量、金额、买入卖出订单号和订单类别等详细数据。Level 2数据中的逐笔订单数据是一切行情数据的根源,不同频率的快照数据均由逐笔订单数据聚合而成。
在“海量Level 2数据因子挖掘”系列研究报告中,将尝试对Level 2数据中详细的快照数据和逐笔订单数据进行深入分析并加以利用,有望能够从中获得更为丰富的价格趋势、周期波动、交易信号等规律和信息,从而挖掘出更为有效的因子,构建出具有超额收益的股票投资组合。
二、长短单因子构建
在股票交易所的订单撮合中,同一笔委托可能会由于对手下单数量的不同而被拆解为多个订单成交,而拆解后的多个订单既可能在短时间内连续完成,也可能在较长的一段时间内分散完成。因此,不同委托订单的成交完成时间并不相同。比如下表中买入订单号为1的委买单在实际交易中被撮合到与卖出订单号为10、11、12的委卖单进行成交,其中第一笔成交完成时间为09:30:00.100,最后一笔完成时间为10:07:36.198。
本研究首先将“最后一笔完成时间 - 第一笔完成时间”得到买入订单号为1的委买单的实际成交完成时长“10:07:36.198 - 09:30:00.100 = 00:37:36.098”,然后将“00:37:36.098”转化为“37*60 + 36 + 0.098 = 2256.098秒”,最终以秒为单位对订单的成交完成时长进行定量统计。此外,对于一次撮合即完成交易的订单(如卖出订单号10、11),则其成交完成市场为0.0秒。
然后分别对逐笔成交订单中不同买入或卖出订单号的实际成交完成时间进行统计,并对成交完成时长大于均值+N倍标准差的订单界定为长单,剩余的则相应地界定为短单。本研究分别采用3个不同的标准差阈值来对长短单进行界定,假设买卖订单中的成交量服从如图1所示的高斯分布,则买卖订单中成交完成时长大于均值+1.0倍标准差的长单约占15.8%,大于均值+1.5倍标准差的长单约占6.7%,大于均值+2.0倍标准差的长单约占2.3%,以此构建出了长买单占比因子LongBuy_1p0、LongBuy_1p5、LongBuy_2p0,以及长卖单占比因子LongSell_1p0、LongSell_1p5、LongSell_2p0。
此外,还可以将长买单占比因子和长卖单占比因子相加得到长买长卖单占比因子LongBuySell_1p0、LongBuySell_1p5、LongBuySell_2p0。而短单占比因子实际上等于1-长单占比因子,它们之间呈现出同向的线性关系,因此长单占比因子实际上已包含短单占比因子信息,无需额外构建短单占比因子。
长短单因子在2021年1月至2024年5月期间的A股全市场RankIC均值和胜率如下表所示:
三、从订单维度解耦长短单因子
同一笔成交订单同时存在着买入和卖出两个方向上的长短单属性。因此,长短单因子可以拆解为长买单长卖单、长买单短卖单、短买单长卖单、短买单短卖单四种订单属性不同的因子。本研究基于三种不同的长短单划分阈值构建出了12个从订单维度解耦的长短单占比因子,谋求挖掘出更有效的信息。
从订单维度解耦的长短单因子在2021年1月至2024年5月期间的A股全市场RankIC均值和胜率如下表所示:
值得注意是,本文并未像前序研究《多维度解耦的94个大小单因子:海量Level 2数据因子挖掘系列(一)》中一样对长短单因子从时间维度进行解耦。这是因为长短单因子本身即考虑了时间维度,且可能存在横跨多个时间段的情况,因此无需从时间维度对长短单因子进行解耦分析。
四、精选长短单因子组合进一步的,本研究结合订单维度解耦长短单因子的实际表现,本研究采用XXX等因子,以XXX等方式构建出精选长短单因子组合。本研究对精选长短单因子组合在全市场及各大板块上进行了回测,实证结果表明精选长短单因子组合均取得了较为出色的表现。
- 选股范围:全市场,创业板,沪深300,中证500,中证800,中证1000
- 股票预处理:剔除摘牌、ST/*ST、涨跌停、上市未满一年股票
- 回测区间:2021年1月~2024年5月
- 回测路径:以多路径回测均值作为统计数据
- 组合构建:采用因子值排序后的前K个股票构建Top-K组合
- 调仓策略:每20个交易日,根据t日因子值以t+1日均价买入,t+21日均价卖出
- 交易费率:双边千分之三(卖出时收取)
五、精选长短单因子组合回测表现(2021.01~2024.05)
在全市场范围内:精选长短单因子组合RankIC均值为13.1%、胜率为80.3%。
在创业板板块内:精选长短单因子组合RankIC均值为13.0%、胜率为78.7%。
在沪深300板块内:精选长短单因子组合RankIC均值为10.8%、胜率为67.3%。
在中证500板块内:精选长短单因子组合RankIC均值为11.4%、胜率为67.7%。
在中证800板块内:精选长短单因子组合RankIC均值为11.4%、胜率为69.9%。
在中证1000板块内:精选长短单因子组合RankIC均值为10.6%、胜率为68.9%。
六、总结与展望
在前序研究《多维度解耦的94个大小单因子:海量Level 2数据因子挖掘系列(一)》中,从订单的大小角度对Level 2逐笔订单数据进行窥探,并结合多维度解耦的分析方法构建出了有效的大小单因子。
本文则是“海量Level 2数据因子挖掘”系列研究报告的第二篇,尝试了从Level 2逐笔订单数据中构建出有效的长短单占比因子。在股票交易所的订单撮合中,同一笔委托可能会由于对手下单数量的不同而被拆解为多个订单成交,而拆解后的多个订单既可能在短时间内连续完成,也可能在较长的一段时间内分散完成。因此,不同委托订单的成交完成时间并不相同。
基于上述观察,本文作为“海量Level 2数据因子挖掘”系列研究报告的第二篇,继续从Level 2数据出发,根据逐笔成交订单中不同买入或卖出订单号的实际成交完成时间进行成交量占比统计,并结合订单维度的解耦分析方法构建出有效的长短单因子。
进一步的,本文从上述原始长短单因子中挑选出表现优异者,构建出精选长短单因子组合。具体而言,采用因子值排序后的前K个股票构建Top-K组合,以t+1日均价买入,20个交易日换仓,双边千三计费,实证结果表明精选长短单因子组合在A股全市场及各大板块中均取得了较为出色的表现。
展望未来,“海量Level 2数据因子挖掘”系列研究报告将继续深入Level 2数据,从海量数据中挖掘出隐藏的市场规律,构建出更多的有效因子。