港股行情数据:交易所L1和L2行情数据以及Tick数据!
来源:雪球App,作者: 港美股行情数据服务,(https://xueqiu.com/6083412391/233228499)
对于一次完整的交易来说,大致可有三个步骤:接收行情 → 分析行情(策略部分) → 发出买卖指令并成交(算法交易部分)。可以看出,行情数据是最为基本也是相当重要的部分,特别是对于量化高频和低延迟的交易者来说,行情数据的精度和细度就尤其重要。精度指的是数据的准确性和能在多大程度上反映市场的真实情况,细度指的是行情的推送频率。在股票和期货市场上,有L1行情数据和L2行情数据,两者都是反映交易所行情信息的高频数据,只是在精度和细度上有所区别,是两个不同的L1,可以认为L2是L1的一个升级版,并且,股票市场和期货市场又有不同,下面分别进行对比说明。
行情数据=交易行情+委托行情
行情数据实际上可以分为两部分:交易行情和订单委托行情。顾名思义,交易行情就是交易数据,包括最新成交价、成交量、成交额、最高价、最低价等字段信息;订单委托行情就是买卖报价和委托量,根据委托价格的不同,可以分为一档、五档、十档等行情;通常的,把交易行情和订单委托行情结合在一起,就形成了TAQ行情,也就是Trades and Quotes。
在详细说明之前,还需要区别一下Tick数据和快照(snapshot)数据。严格来说,Tick数据就是完整记录了市场所有信息的数据,比如发生了一次交易或者增加了一个新的订单,即记录了市场每一个event的数据,也就是最为精细和完整的数据;而快照数据实际上就是对Tick数据的一个切片后的统计数据,换句话说,如果把市场信息在时间的维度上看成是数据流,则快照数据就是把这个数据流进行一定频率的切片,也就是一个时间截面上的统计数据,而Tick数据就是这个数据流本身。所以,Tick数据更为精确,快照数据根据时间频率的不同精确度也不同。但是在国内,Tick数据的叫法在某种程度上已经和快照数据混淆了,比如下文要说到的L1和L2 TAQ行情数据,其实际上就是3秒频率的快照数据,但是也有人把这个叫做Tick数据,这个严格来说是不准确的。
那究竟Tick具体是怎么形成的?
Tick 一般是指 Best Bid/Offer 的变化,就是 Order Book 上最优的买单和卖单发生的变化。题目中的例子,Tick 2 和 Tick 1 的不同就在于 Best Offer 的 size 变了(少了 25),所以产生了这一个 Tick。当然这个不等于说 Tick 1 和 Tick 2 之间没有别的 Order Book 的变化,它可以在除了 Best Bid/Offer 之外的地方变化,只不过这些事情在 Tick Data 上被滤掉了而已。这种所谓的 Tick Data 其实就是一种对 Order Book Events 的 Down Sample 而已,它的前提假设是 Best Bid/Offer 是最重要的信息,以丢弃其它相对不如这个重要的信息为代价,缩减数据规模,让数据处理变的更容易。
而实际上,真正的 Limit Order Book Market 里,交易所发的原始数据是所有对 Order Book 的增、删、改+成交这四样,特别是改单一般都是占整体数据流的大部分。只不过要处理这种级别的数据,需要你懂一些数据结构的操作,能自己维护重建 Order Book。这个手艺一般做 Quant 的人都不会,要么就是写出来的代码实在太慢根本处理不了原始数据的规模,所以往往是为了简化起见就给他们 Tick Data,一般人就都能凑合着用了。
因为这种二手数据的本质,Tick Data 做的好不好当然是会有区别的。虽然说是需要记录每一个 Best Bid/Offer 的变化,但实际上这种数据反正也不用维护 Order Book 的一致性,因为各种技术问题少记了几个也不会有人说什么。甚至可能某家的数据处理程序还有 bug ,其中一些数据偷摸的错了一些,一般人也很难发现。这些都是可以用来比较数据质量的。
对于数据本身的频率和交易所实时推送的频率,两者也可能是不一样的,比如股票市场的L2数据,其逐笔交易数据确实是记录了每笔交易的,是真正的Tick数据,在时间精度上,也精确到了10ms,但是其实时推送频率也是3秒一次的,所以并不是数据本身的时间精度和推送精度一定是一致的,这点需要注意。
下面开始进入具体的L1和L2数据说明。
首先是股票市场,对于上交所和深交所,L1行情数据有3秒一个快照的TAQ数据和分时数据,其中TAQ中的订单委托数据为五档行情数据;对于L2数据,上交所和深交所有所不同,上交所的L2依然是3秒一个快照的TAQ数据、3秒一个快照的50档订单队列和逐笔交易数据,深交所则是实时推送,并且还有Tick级别的订单委托数据,其中L2的TAQ中的订单委托数据为10档行情,比L1多了5档;订单委托队列数据就是按照成交优先级顺序排列的一档价位的逐个委托的订单数据,共呈现了50个委托队列。
接下来是期货市场的L1和L2行情数据。期货市场的L1和L2数据实际上就是TAQ快照数据,和股票市场的L1数据比较像,但是相比对股票市场,期货市场的快照频率为500ms一个推送,相比于股票市场的3秒一个推送,其频率高了很多。期货市场中的L1中的订单委托行情只有一档,而L2则是五档,所以L2相比于L1提供了更深的订单委托行情数据。目前,期货市场的L1行情是500ms一个推送,L2行情数据中,中金所和上期所依然是500ms一次,其他交易所都是250ms推送一次,但是上期所也即将上线250ms频率的行情。
综上可知,实际上只有上交所的L2行情提供了交易的Tick数据,3秒一次推送;深交所L2行情提供了交易和订单委托的Tick数据,实时推送。而在期货市场上,实际上只有快照数据,一般说的一秒钟里面有几个Tick,实际上指的就是一秒里面有几个快照而已,并非严格意义上的Tick数据。
有兴趣了解更多行情数据信息和数据接口解决方案的新老朋友可以私信留言哦!