
订单流数据是交易系统中逐笔订单的时间序列,包括订单时间、类型、价格、数量等信息。此前的研究主要通过提取相当短期的微观结构,来预测瞬时股价走向或订单簿重建。然而,在数据量极大的股票数据或颗粒度较粗的下游任务(如日级回报预测)中,提取和利用都变得复杂。本论文创建了全新的微观结构,压缩数据规模、调整预测范围。 上下文编码器:文章通过比较实际订单簿和预测订单簿,评估市场状态,并为提取异常值提供素材。论文利用循环神经网络模型,以历史片段的订单流数据,进行对第n段买入/卖出的预估;再以预估和实际的订单簿几何距离构建期望-现实差距因子。 信息因子提取器:旨在压缩交易数据中的信息,同时考虑当前的市场状态。具体方法为:提取上下文编码器生成的信息,使用注意力模型初步提取异常值;再用Ruff(2018)提出的DeepSVDD无监督学习进一步提取最具特色的信号,并根据下游任务的颗粒度调整训练目标系数,最终提取适应下游任务的异常值。 实证检验:文章使用长达一年的跨不同场景的订单流数据进行模型检验。在每日收益预测和订单执行下游任务中,相比于LSTM+OPD模型(Fanget.al,2021)和高频因子(McGroarty,2019),本文提出的模型IC比基准方法高出81%。 风险提示:量化模型失效风险:本篇报告所述文章的结论是基于量化模型和历史数据的得到的,请注意样本外存在失效可能性,详细结论请参考文献原文。 1.引言 订单流数据是市场微观结构分析中最详细和最原始的数据,包括订单类型、价格、数量和订单时间等信息,如图1所示。图中红色表示收盘价大于开盘价,蓝色反之;左侧表示卖单,右侧表示买单。一组订单流数据可表示为多个时间切片的价格,以及与价格对应的买卖单数量。 通过记录实时交易记录,订单流数据能捕捉微妙的市场变化。在以往的研究中,研究者主要通过提取相当短期的微观结构,来预测瞬时股价走向或订单簿重建。然而,在数据量极大的股票数据或颗粒度较粗的下游任务(如日级回报预测)中,提取和利用都变得复杂。Microstructure-Empowered Stock Factor Extraction and Utilization一文创建上下文编码器和信息因子提取器,为订单流数据的选择性提取和粗颗粒度的下游利用提供可能,并通过海量真实数据检验了该模型的优越性。 图1:订单流数据图表版 文献信息: Jiao, X., Li, Z., Xu, C., Liu, Y., Liu, W., & Bian, J. (2023). Microstructure-Empowered Stock Factor Extraction and Utilization. InProceedings of the 32nd ACM International Conference on Information and Knowledge Management (CIKM), Birmingham, UK. Association for Computing Machinery.https://doi.org/10.48550/arXiv.2308.08135 2.订单流数据处理 本文所述文章保持了Gould (2013)、Shi (2021)等人对订单流数据的统计学定义,即: x=(p,w,t) xx x p表示价位,w表示订单规模,t表示时间。规模w>0(w<0)表示承诺以不低于(不高于)p的价格出售(购买)最多|w|个资产单位。基于此,文章通过订单流数据生成交易数据和限价单簿数据(LOB),如图2所示。图2分为由上至下三部分:第一部分为LOB数据,为累计供需;第二部分是原始订单流数据,具体为时间切片上的价格和买卖单数量;第三部分两部分为交易数据,为订单流的成功交易。第一、三部分由二生成。具体而言: 交易数据:是市场中完成的交易记录,有订单不一定可交易,只有买卖匹配项可被记录。计算方法如下:在时间𝑡处,一个匹配记录可定义为z=(p,w,t),而其匹配记录的时间序列即为交易数据。 𝑥 zz z 限价单簿:是资产在特定时间的供需快照,为累计供需。文章用𝑂={𝑂𝑏,𝑂𝑠}表示在时间t的买卖累计订单簿,对于簿中的不同价格及其对应数量、新订单加入后LOB的变化,文章表示如下: 𝑡 𝑡 𝑡 0𝑂 0𝑂 1𝑂 1𝑂 𝑂𝑂 𝑂𝑂 𝑂𝑂={(𝑂𝑂,𝑂𝑂),(𝑂𝑂,𝑂𝑂),...,(𝑂𝑂,𝑂𝑂) 𝑂 0𝑂 0𝑂 1𝑂 1𝑂 𝑂𝑂 𝑂𝑂 𝑂𝑂={(𝑂𝑂,𝑂𝑂),(𝑂𝑂,𝑂𝑂),...,(𝑂𝑂,𝑂𝑂) 𝑂 O =O⨂x t+1 t t+1 若新订单不是匹配项,订单数据被加入累计限价单簿,如: 0𝑂 𝑂 <0 ; 𝑂 <𝑂 x x t+1 t+1 𝑂𝑂 𝑂+1 𝑂𝑂𝑂 𝑂 =𝑂+|𝑂 | 𝑂 𝑂+1 若新订单是匹配匹配项,限价订单将对应更新,如: 0𝑂 𝑂 <0 ; 𝑂 ≥𝑂 x x t+1 t+1 𝑂−1 𝑂𝑂 𝑂+1 𝑂𝑂𝑂 𝑂𝑂𝑂 𝑂 =𝑂𝑂𝑂(𝑂−(|𝑂 |−∑ 𝑂),0) 𝑂 𝑂+1 𝑂=0 同时,生成相应的交易记录: 𝑂−1 𝑂−1 𝑂𝑂𝑂 𝑂𝑂𝑂 𝑂𝑂𝑂 𝑂𝑂𝑂 𝑂𝑂𝑂 𝑂=(∑ 𝑂𝑂+𝑂(𝑂−(|𝑂 |−∑ 𝑂)))/|𝑂| 𝑂 𝑂 𝑂 𝑂+1 𝑂=0 𝑂=0 图2:订单流数据生成限价单和交易数据过程 3.因子提取模型建构 3.1.上下文编码器 本节旨在通过比较实际订单簿和预测订单簿,评估市场状态,并为提取异常值提供素材。文章将一天的订单信息划分为N个片段,第n段的上文信息为具有相关性的前M段。然后根据顺序神经模型(RNN/LSTM),利用前M段分别对第n段的买/卖订单进行预测。再与实际第n段的订单信息进行比较,如果预测订单和实际订单相似,则说明第n段信息不太重要。具体如下: 首先分割时间段,表示n段订单,并用神经模型对历史M段的买/卖单进行编码: [𝑂+(𝑂−1)∆𝑂,𝑂+𝑂∆𝑂,]𝑂=𝑂𝑂𝑂(𝑂,∆𝑂𝑂)𝑂=𝑂𝑂𝑂(𝑂,∆𝑂𝑂) 𝑂,𝑂 𝑂 𝑂,𝑂−1 𝑂 𝑂,𝑂 𝑂 𝑂,𝑂−1 𝑂 然后进行买卖单预测(⨁表合并,∇表预测) ∆Ob=G(h,h) n b b,n s,n ∆Os=G(h,h) n s s,n b,n ∇O=O ⨁∆Ob⨁∆Os n n−1 n n 最后使用欧几里得距离将预期现实进行比较,并确认生成器训练目标:使预期现实距离最小。 K k n k n2 γ(O,∇O)=∑ ||v−∇v|| n n k=1 𝑂 𝑂 =1/𝑂∑||γ(O,∇O)|| 𝑂𝑂𝑂 n n 𝑂=1 最终上下文编码表示为: 𝑂𝑂 𝑂=𝑂𝑂𝑂𝑂𝑂𝑂(𝑂,𝑂𝑂,γ(O,∇O)) 𝑂 𝑂 n n 3.2.信息因子提取器 本节旨在识别第n段中最关键的信息,结合上下文编码器获得的结果提取相关特征,并根据下游任务的颗粒度调整训练目标函数的系数。在对交易数据编码简化后,作者改进了传统机器学习的注意力机制模型进行初步提取,并用Ruff等(2018)DeepSVDD模型再次识别。值得注意的是,文章提出加权掩饰码矩阵,避免信息泄露。 具体步骤如下: 先引入交易数据和上下文编码器数据,并进行矩阵转换: 𝐿×𝑑 𝑒 𝐸 =𝑒𝑛𝑐(𝑍)∈ℝ𝑂=𝑂𝑂𝑂(𝑂) 𝑡𝑟𝑎𝑛𝑠 𝑂𝑂 𝑂𝑂 𝑇 𝑀𝑛 X=Concat(𝐸 ,(1)𝑟 ) 𝑡𝑟𝑎𝑛𝑠 𝑑 𝑒 然后构建注意力模型。Q、K、V分别代表序列、关键点、关键值,W是相应的权重矩阵: 𝑂𝑂 𝑂𝑂 𝑂𝑂𝑂𝑂𝑂𝑂𝑂 𝑂=𝑂𝑂,𝑂=𝑂𝑂,𝑂=𝑂 𝑂 𝑂 𝑂 𝑂 在其中构建加权掩饰码,实际为变换矩阵: 0, 𝑂≤𝑂 𝑂>𝑂𝑂>𝑂𝑂𝑂𝑂√ 𝑂 𝑂 𝑂 𝑂 𝑂,1−𝑂, 𝑂𝑂𝑂𝑂𝑂>0𝑂𝑂𝑂𝑂𝑂<0 Mat={ 𝑂𝑂 𝑂𝑂𝑂𝑂𝑂 𝑂𝑂 𝑂𝑂 i,j 𝑂 𝑂 𝑂 𝑂 𝑂 𝑂 𝑂 𝑂 𝑂=𝑂𝑂𝑂𝑂𝑂𝑂𝑂( ·𝑂𝑂𝑂) 𝑂 𝑂 分别提取矩阵i维度中最关键的结点并生成序列,作为第n段的提取结果: h=maxpool(aV) i ii 𝑠𝑒𝑔𝑛 𝐻 𝐹 =𝐶𝑜𝑛𝑐𝑎𝑡(ℎ,…,ℎ)𝑊 𝐻 下一步进行DeepSVDD识别。这是识别数据最有效的无监督学习方法之一,于图3展示。具体来说,我们训练一个神经网络作为核,将输入空间映射到一个高维超球体。这个超球体由半径R>0和中心c定义,使其能够有效地区分正常数据和异常值。对每一个时间段,结合上下文表示𝐹及其对应的第i个交易顺序序列𝑍,特征𝐹 𝑠𝑒𝑔𝑖 𝑖𝑀 可概括为,其中θ为参数。 𝑖 𝑠𝑒𝑔𝑖 𝑀𝑖 𝐹 =𝑓(𝑍\𝐹;𝜃) 𝑖 其中,无监督学习的训练目标确定是非常重要的一步。首先,需要在最小化超球体的体积的同时,对球体外部的点予以惩罚。文章中c由随机初始化决定,添加 𝑅2 在目标函数以最小化体积,用||F−c||− R2 计算惩罚。其次,当应用于各种下游任务时,我们需要利用参数来控制重要信号的过滤比例。文章中将参数μ∈(0,1]用来控制超球体大小和边界违规之间的权衡,起到过滤比例调整作用。最后,文章加入权重衰减正则化器,超参数λ>0。 seg i N λ seg i min( R2 + ∑max{0,||FμN −c||− R2 }+||θ||) i=1 图3:DeepSVDD提取异常值过程 4.实证检验 文章在本节中利用收集的订单流数据,进行两个下游任务的实现:每日收益预测和订单执行(以分钟频率)。首先训练微观结构赋能的股票因子提取器,再将训练完成上游模型应用于下游任务。 4.1.数据集 烛形图(日频率):上证300指数中最活跃的10只股票。数据集范围从2020年1月2日到2020年12月31日,按照7/1/4的比例拆分数据集。 利用6个日线特征(即最高价、开盘价、最低价、收盘价、成交量加权平均价和成交量)。 订单流数据(10毫秒):股票及时间如上述,并分别拆分约456/67/264万个片段。使用价格、规模和时间作为订单流特征。所有特征都通过Z分数方法进行归一化,以训练上下游模型。 4.2.下游任务 每日收益预测。使用信息因子提取器所生成数据作为微观补充信息,与LSTM基线蜡烛图生成的每日因子连接,以进行预测。 y=p /p −1 T+2 T+1 订单执行任务。计算在预定时间内卖出一单位股票并获得最大利润。使用订单流因子来提取分钟频率因子,并作为OPD教师模型的附加输入,指导OPD教师及学生模型。 4.3.比较评估 本节分了三组有竞争力的基准模型来实行下游任务,包括: 基础模型:利用原始LSTM日频信息,OPD强化学习方法(Fanget.al,2021) 特征提取模型:利用在股票单日交易中的随机样本和均匀样本,高频LOB特征(McGroarty,2019),基于价格、成交量的单日交易因子,时间敏感型