引言:如何能在股市博弈中胜出?无论是量化还是主观,比的是谁掌握了更多的信息,谁能够摸清市场的规律。对于量化投资者来说,谁掌握了更多的数据,并从中发掘出规律,谁就能胜出。 本系列就带你走进真正量化机构在使用的股票高频交易数据,挖掘不知道的真相。 本篇文章是本系列的第一篇,逐笔委托和逐笔成交数据解读。 上交所和深交所提供股票数据的频率如下图所示,从上到下依次频率增加。快照英文是Snapshot, 逐笔是Tick。本系列将会重点解读逐笔成交,逐笔委托和快照三个层次的数据。只有先全面深度了解数据,才能更加快速的开发策略。交易所还区分了集合竞价和连续竞价,本文先不考虑集合竞价,后续文章会重点讲解集合竞价。 【关注公众号,回复 逐笔委托 ,即可获得完整数据字典文档】 上交所和深交所的数据字段不一致,所以我们分开讨论。 一、订单簿结构 股票逐笔委托数据记录的最小时间间隔为0.01秒,每个0.01秒内有可能有多笔委托,Level 2 行情数据对0.01秒内的委托时点进行模糊处理,不进行区分。股票逐笔委托数据的单日数据量在 12GB 左右,由于交易活跃度不同,不同标的之间的单日数据量会有很大差异。 这是我们在大多数券商交易软件上看到的订单簿结构数据,上面是卖出,下面是买入,按照价格排序,各自五档,3秒刷新一次数据,也称之为Level-1行情。 实际交易中,每一笔委托报单都会进入到买卖队列中按照价格优先,时间优先的原则排队等待交易所中央订单簿自动交易撮合。 有过股票交易经历的读者会知道,除了下单,还有撤单操作,撤单也会被记录发送给系统,注意撤单是全部撤单,不能分批撤单。结合上面的图,一个逐笔委托单的信息应该要包括价格、数量、买卖方向、个股代码、下单时间或者说是到达交易系统的时间、是下单还是撤单。 接下来我们就看看实际的数据长什么样。 二、上交所逐笔数据解读 上交所具体提供哪些数据,数据字段,上交所官网都有发布,如下图。 下图是上交所逐笔数据样例1: 我们先看下每个字段是什么含义,再来深入理解其结构: 不同数据供应商,券商会对数据加工处理,字段名和数据类型会有差异,上交所的逐笔委托(order)和逐笔成交(trade)是分开两类文件传送的,本文所用数据集是合并了两张表的内容,所以和上交所官网看到的不完全一样。 根据上面的数据字典,我们再看下数据样例1的数据表达了什么信息: 600600这只股票,2024年1月24日,TypeFlag=ENTRUST意思是委托单而不是成交单,Type=D意思是删除委托单即撤单操作,BSFlag=B,意思是买单,所以AskOrderNo是空,SubSeqNo是委托单内部的序号,按照到达时间排序,所以可以看到序号大小关系和时间Time的关系是一样的。 综上,图里记录了5笔委托买单撤单信息。 我们再通过几个样例来加深理解: 上交所逐笔数据样例2: ENTRUST表明都是委托单,A表明是下单,D是撤单,圈出来的是在同一时间发过来的,交易所模糊处理,排序没有意义。 上交所逐笔数据样例3: 11:29:36.28,有一笔委托买单,接下来有5笔卖单和其成交,可以看到数量也是匹配的,买单500股=卖单100股*5笔。他们的BidOrderNo是相同的。成交单的S就是主动卖盘。 上交所逐笔数据样例4: 09:30:01.85,有一笔委托买单,等到1小时20分钟后才有1笔卖单和其成交,买单500股=卖单500股。他们的BidOrderNo是相同的。成交单的S就是主动卖盘。 但是我们发现这笔卖单orderno=5709925是只有成交单没有委托单的,如下图所示,TypeFlag=Tick,即全部是成交单。怎么会有订单只有成交没有委托呢? 根据上交所规定,如果这笔委托跟当前订单簿能撮合成交,那么能成交的部分委托量不会出现在逐笔委托里,如果能全部成交,就不会有这笔委托记录;但是逐笔成交里面有订单号。相关的说明见上交所文档如下: 一次性撮合成交:订单发送到交易所的撮合平台能立即成交,不需要在订单簿队列中排队,比如 【市价单】,限价单的【主动买入】(大于等于当前盘口的卖一价的买入)或【主动卖出】(小于等于买一价的卖出) 若主动买【买方订单号>卖方订单号】或【BSFlag='B'】,将无法在逐笔委托中查找到买方的原始委托 若主动卖【买方订单号<卖方订单号】或【BSFlag='S'】,将无法在逐笔委托中查找到卖方的原始委托。 三、深交所逐笔数据解读 深交所的数据和上交所有2处不同: 1)深交所的逐笔成交数据中,有标记为撤单(符号4)的逐笔成交,实际含义是逐笔委托的撤单。 2)逐笔委托数据中是没有OrderNo(OrderNo是官方字段名,本篇文章里是BidOrderNo, AskOrderNo), 是通过SeqNo字段把逐笔委托和逐笔成交单一一对应,如下图所示。 以下是深交所逐笔数据样例1: 深交所一定会发送所有的order数据,而且order数据一定会先于与其关联的trade被发送(意味着你一定会先接收到order,然后才会接收到与其关联的trade)。 下面是深交易所数据字段解读: |
|