如何还原全市场的逐笔委托信息

July 1. 2024
【重要提示】本网站所有内容仅用作记录个人研究,不构成对任何人或机构的投资建议或意见。据此操作者,后果完全由其自己承担。
才疏学浅,欢迎指正!


【摘要】

追溯所有行情数据的根源,深交所和上交所是两个独立的数据源头,二者提供给数据供应商的数据字段、格式等都存在较大差别。若考虑时间维度,则同一交易所在不同时期提供的Level-2数据亦有差异。要构建全市场的Level-2因子,就必须通过数据整理、清洗等操作,统一沪深交易所的Level-2数据信息。本文以还原全市场的逐笔委托信息为例进行介绍。

一、数据背景

或是出于数据压缩等考虑,在Level-2数据中,上交所提供的逐笔委托信息,是部分省略的逐笔委托信息。其核心逻辑在于“同一笔委托产生的主动成交及剩余新增委托订单数据,先发送成交数据,再发送成交后的新增委托订单数据(对应委托量为首次撮合后的剩余委托量);之后再产生的剩余委托订单数据不再发布;若一笔订单被一次性全部撮合,将不会发布该笔订单的委托信息。”

而在深交所提供的Level-2数据中,逐笔委托信息是完整的。因此,结合完整还原的上交所逐笔委托信息,即可得到统一的沪深全市场逐笔委托信息,用于后续的Level-2因子构建、数据分析等。

本文将详细介绍上交所中被省略的逐笔委托信息类型,以及如何还原完整的逐笔委托信息。

二、逐笔委托订单还原
情况1:全部立刻撮合订单

在上交所的逐笔订单数据中,通常以字母“A”代表委托单、字母“T”代表成交单、“D”代表主动撤单。

全部立刻撮合订单,指一个委托单在提交之后,全部以现价在委托时间立刻成交。在该情况下,委托订单信息被全部省略,即逐笔订单数据中只有该订单的成交信息,而不会出现该订单的委托信息。该情况包括图1中与单个对手成交的场景,也包括图2中与多个对手成交的场景。在与多个对手成交的情况下,虽然原始委托订单被拆散,但与不同对手的成交都是在委托后的同一时间立刻成交。
Blog Image

Blog Image

在该情况下,若要得到原始的委托订单信息,则需要把单个成交订单或多个成交订单的价量信息相加,而委托订单的提交时间即为成交订单的时间。

情况2:部分立刻撮合订单

部分立刻撮合订单,指一个委托单在提交之后,其中的一部分以现价在委托时间立刻成交,而剩下一部分并未能立刻成交。在该情况下,委托订单信息被部分省略,即逐笔订单数据中,委托信息仅为该原始委托单中未能立刻成交的部分,而被省略的是该原始订单中被立刻成交的部分。

该情况主要包括下图3的场景1。在该场景的数据分析中,很容易误以为第一条订单信息为原始委托订单4900股。实际上正确的理解是,该原始委托订单为4900+5600=10500股,第1条信息为该原始委托订单未能立刻成交的部分4900股,第2条信息为该原始委托订单立刻成交的部分5600股。对于该原始委托订单未能立刻成交的部分4900股,在第3、第4条信息中以不同于委托时间的时刻成交。
Blog Image

该情况还包括下图4的场景2。在该场景中,原始委托订单为21113+1487=22600股。第1条信息为该原始委托订单未能立刻成交的部分21113股,第2条信息为该原始委托订单立刻成交的部分1487股。对于未能立刻成交的21113股,其中200股在第3条信息中以不同于委托时间的时刻成交,剩下的20913股在第4条信息中主动撤回。
Blog Image

该场景还包括未能立刻成交部分直至收盘都未能成交等情况,其原始委托订单还原逻辑与上述一致。

情况3:未能立刻撮合订单

未能立刻撮合订单,指一个委托单在提交之后,其中的任何一部分都未能以现价在委托时间立刻成交。在该情况下,委托订单信息未被胜率,即逐笔订单数据中,委托信息即为该原始委托订单。

该情况包括如下图5所示的委托后直到当天收盘都未能成交任何部分的场景1;
Blog Image

如下图6所示的委托一段时间后与单个对手全部成交的场景2;
Blog Image

如下图7所示的委托一段时间后与多个对手全部成交的场景3;
Blog Image

如下图8所示的委托一段时间后全部主动撤回的场景4;
Blog Image

如下图9所示的委托一段时间后部分成交、部分主动撤回的场景5;
Blog Image

如下图10、11所示的极少数委托后立即主动撤回的场景6、7,其中图10为开盘集合竞价阶段,图11为连续竞价阶段。
Blog Image

Blog Image

以上列举未能详尽,该情况还包含其他场景。但该情况下的逐笔委托信息都是完整的原始委托订单。