1. 高频数据概述:Tick级数据、快照数据、逐笔成交数据的区别与获取渠道
做高频做市,第一关就是搞懂数据。说实话,我见过太多人一上来就对着行情接口猛怼,结果数据格式都分不清,回测跑出来全是未来函数。今天咱们就把这三种核心数据掰开揉碎讲清楚。
1.1 为什么高频数据这么特殊?
普通日线数据,一天就一根K线。但高频数据呢?一秒钟可能来几十笔甚至上百笔。你想想看,如果拿处理日线那套逻辑来搞高频,基本就是开着卡车去跑F1赛道——不是不行,是根本跑不起来。
我个人习惯把高频数据分成三个层次:Tick级数据、快照数据、逐笔成交数据。这三兄弟长得像,但脾气完全不同。
核心区别一句话总结:
- Tick级数据:交易所每次行情变动时推送的"切片"
- 快照数据:每隔固定时间(比如500ms)拍的"照片"
- 逐笔成交数据:每一笔真实成交的"流水账"
1.2 Tick级数据——最基础的"心跳"
Tick数据,说白了就是交易所每次行情有变动时,推送给你的那一条记录。它包含当前的最新价、成交量、持仓量、买卖盘口前几档等信息。
我在项目中遇到过一个问题:很多新手以为Tick数据就是"每笔成交"。其实不是。Tick是行情快照,它反映的是某个时间点的市场状态,而不是单笔交易。
避坑指南:我曾经在回测时直接用Tick数据模拟成交,结果发现滑点算得离谱。后来才意识到,Tick数据里的价格是"最新成交价",不代表你能在那个价格成交。做市商尤其要注意这个。
获取Tick数据,国内常见的渠道有:
- CTP接口(上期技术):期货市场最主流,延迟低,但需要期货公司授权
- 万得/聚宽/米筐:提供历史Tick数据,适合回测
- 交易所直连:中金所、上期所、大商所、郑商所都有官方行情接口
1.3 快照数据——"定时拍照"的折中方案
快照数据,就是每隔固定时间(比如500毫秒或1秒)记录一次当前的市场状态。它和Tick数据最大的区别在于:Tick是事件驱动,快照是时间驱动。
你想想看,如果市场一秒钟变了100次,Tick数据就会推送100条。但快照数据呢?不管市场怎么变,它只按固定频率拍照。这就导致一个问题:快照数据会丢失中间的信息。
我记得有一次做策略回测,用快照数据模拟高频交易,结果收益曲线漂亮得不像话。后来一查,原来是快照错过了好几次大波动,把亏损的细节给"平滑"掉了。嗯,这里要注意——快照数据做高频回测,一定要做时间对齐和插值处理。
| 对比维度 | Tick数据 | 快照数据 | 逐笔成交数据 |
|---|---|---|---|
| 触发方式 | 事件驱动 | 时间驱动 | 事件驱动 |
| 数据频率 | 不固定,随行情变化 | 固定(如500ms) | 每笔成交触发 |
| 包含信息 | 最新价、量、盘口 | 完整盘口快照 | 成交价、量、方向 |
| 数据量 | 中等 | 较小 | 最大 |
| 获取难度 | 中等 | 容易 | 较难 |
1.4 逐笔成交数据——最细粒度的"流水账"
逐笔成交数据,就是每一笔真实成交的详细记录。它包含:成交时间、成交价格、成交量、买方/卖方标识(有些市场提供)、成交编号等。
为什么说它最细?因为Tick数据可能包含多笔成交的汇总,而逐笔数据是一笔一笔拆开给你看的。做高频做市,逐笔数据是黄金级别的数据源。
注意:国内期货市场的逐笔成交数据,目前只有部分交易所提供,而且通常需要额外付费。中金所的逐笔数据相对完整,但大商所和郑商所的数据字段会少一些。获取前一定要确认清楚。
我个人习惯用逐笔数据来做订单流分析。比如,通过逐笔成交的买卖方向,可以判断大单是主动买还是主动卖,这对做市策略的报价调整非常有帮助。
1.5 三种数据的获取渠道对比
搞清楚了区别,接下来就是怎么拿到这些数据。我整理了一下常见的获取渠道:
- CTP Mini/CTP API:期货公司提供,可以拿到Tick数据和部分逐笔数据
- 易盛/飞马:部分期货公司支持,数据质量不错
- 第三方数据商:如通联数据、聚宽、米筐,提供历史数据下载
- 交易所官网:部分交易所提供历史数据下载,但格式比较原始
我的建议:如果是做回测研究,先用第三方数据商的历史数据,省去自己清洗的麻烦。如果是实盘,必须用CTP或交易所直连,延迟和准确性是第一位的。
1.6 知识体系框架图
下面这张图,我把三种数据的关系和适用场景画了出来,方便你理解:
1.7 数据清洗的起点
搞清楚了数据长什么样,接下来就是清洗。但清洗之前,你得先知道什么是脏数据。我总结了几种常见的高频数据脏数据:
- 时间戳错乱:比如某条Tick的时间比前一条还早,这在CTP接口偶尔会出现
- 价格异常:瞬间出现远高于或低于市场合理价格的数据
- 重复数据:同一笔数据被推送了两次
- 缺失数据:某个时间段的数据完全空白
特别提醒:千万不要直接拿原始数据跑策略。我曾经见过一个团队,回测收益高得吓人,结果发现是数据里混入了"未来数据"——某条Tick的时间戳比实际时间晚了,导致策略"提前"知道了后面的行情。这种坑,踩一次就够你受的。
好了,三种高频数据的区别和获取渠道就讲到这里。记住一句话:数据质量决定策略上限。下一节咱们会深入讲如何清洗这些数据,特别是Tick数据的时间对齐和去重处理。