量化百科

什么是Tick数据?

由googleglass创建,最终由googleglass 被浏览 55 用户

一:什么是快照数据与交易所数据的一些细节

打一个比喻,交易数据可以想象为河流,快照就是这个河流在某个横截面的数据。

对于国外的高频tick数据,有完整的order数据的过程,因此你可以利用这些order数据来复原快照数据。国内的两大股票和四大期货理论上讲都是快照数据。比如说典型的数据字段包括开盘价 最高价 最低价 最新价 成交量 成交额这里的最高(低)价就从开盘到现在成交发生过的最高(低)价,假设你有详细的每笔成交的明细,其实这个数据是可以用max(min)推算的,所以国外的tick数据里面一般是没有这个字段的。

同样的成交量和成交额代表的意思不是这个时刻的成交量和成交额而是这个时刻开盘到现在的累计成交额和成交量。从理论上讲:T时刻的累计成交量减去T-1时刻的累计成交量就是T时刻的成交量,但是这里的"成交量"其实是T-1到T时刻的汇总成交量,其实是有很多笔组成的。

期货的level2相比level1只是频率和报价深度上有些许区别。更有意义的是股票level2数据从表结构来看股票level2主要有三块内容:快照、逐笔成交和挂单快照类似前述的level1的快照 不过是把5档换成了10档另外还有一些比如所有挂单和数量等字段,深交所和上交所有略微差异。

逐笔成交就类似国外的tick数据,确实是发生过的真正的每笔成交情况,时间戳精细到10ms。但是问题在于这个数据也是3s一次发出来,发给你0-3s这期间的tick数据而不是实时发送给你,因此这里并不能把他定义为真正的tick数据。

Level2里面的挂单只有买卖一档的Top50并不是全部挂单,另外理论上数据是纪录这些挂单的增删(挂单没有改一说),但是从实际数据来看,交易所的数据并不是增量增量增量这种方式发送,而是夹杂着全量挂单和增量数据的方式,所以也不是完整的挂单动作。可以用这系列推算挂单情况但是挂单变化情况只是sometiems能推算出来。

二:什么是好的数据和为什么数据有差异解决题主的问题,既然都是交易所发送出来的,为什么会有数据的差异?

第二个比喻,我经常用。交易所比喻成一个电视台,他不断的给客户发送信号。绝大多数客户只装了电视机,收看电视。而数据提供商装的是录像机需要录数据,然后把录像带卖给客户。

典型的有几类原因导致数据的差异:

1. 数据记录方式比如拿股票的Level1的数据为例,交易所发布一个dbf文件,记录着所有证券最新的状态数据,dbf文件是不断的自动刷新的。那么数据提供商或者记录数据的人需要做的时候就是每隔一段时间读取这个文件,然后把所有的数据放入数据库,但是因为交易所更新数据的频率不是一个唯一值,所以为了不错过数据,最好的办法就是你读取的频率高于他更新的频率。这样问题就来了,因为你读取很多如果每次都记录下来一来数据很大,二来很多重复数据。所以大家往往使用的办法就是当这条数据有变化的时候我才放入数据库。因为有这样一条规则,所以你看到的一些非活跃成交的证券数据量会少于活跃成交的证券,远期的期货数据少于近期的,时间戳不同步等等,你以为是数据问题,其实不然。

2. 运维问题这个是真正的数据提供商或者记录数据的问题,比如某些原因如断网或者程序错误等造成了一大段的数据丢失。按照前面所述的数据机制,其实对于Level1数据T和T+1时刻是没有任何逻辑关联的,假设缺失了你不可能从数据本身发现,因此大量的缺失其实都是这些原因造成的,而且无法弥补!就好比早期的电视录像带很不清晰,但是过去已经过去你已经无法补救。

3. 程序导致的数据错误我遇到过一些比较异常的错误,比如说某些类型股票的价格出现异常,空等等,绝大部分是因为录数据的程序的错误造成的,为什么会出现?反正理由也很多,你记住会出现就可以了。少部分是因为交易所的问题,比如说交易所曾经把Level2数据的开盘价发错了。因此原则上你不要信任任何数据,一定要做数据方面的规则检验,包括对股票个数、间隔时间、数据是否在正常范围进行检验和清洗,当然这是一个枯燥的事情,规则的设立也看个人的经验。至于是否有价值?愿不愿意付出劳动,就看个人了。基本以上是国内的现状、各个产业链上面的问题很多,而且没有多少人有心思扎扎实实的做好一些基本工作。anyway这也是机会,因为有了很多不足的东西所以让大家有了更多的机会。与其抱怨数据质量或者其他什么,不如想想其实大家站在同一起跑线,看到问题并解决问题能让你成长很快。

标签

交易数据开盘价
{link}