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 知识体系框架图

下面这张图,我把三种数据的关系和适用场景画了出来,方便你理解:

高频数据知识体系框架 Tick级数据 事件驱动·行情切片 快照数据 时间驱动·定时拍照 逐笔成交数据 事件驱动·流水账 特征 最新价·成交量 盘口前几档 特征 完整盘口快照 固定时间间隔 特征 每笔成交明细 买卖方向标识 获取渠道 CTP接口 第三方数据商 交易所直连 历史数据下载 应用场景 做市策略 订单流分析 回测验证 风险监控 滑点分析 数据质量决定策略上限,清洗是第一步

1.7 数据清洗的起点

搞清楚了数据长什么样,接下来就是清洗。但清洗之前,你得先知道什么是脏数据。我总结了几种常见的高频数据脏数据:

  • 时间戳错乱:比如某条Tick的时间比前一条还早,这在CTP接口偶尔会出现
  • 价格异常:瞬间出现远高于或低于市场合理价格的数据
  • 重复数据:同一笔数据被推送了两次
  • 缺失数据:某个时间段的数据完全空白

特别提醒:千万不要直接拿原始数据跑策略。我曾经见过一个团队,回测收益高得吓人,结果发现是数据里混入了"未来数据"——某条Tick的时间戳比实际时间晚了,导致策略"提前"知道了后面的行情。这种坑,踩一次就够你受的。

好了,三种高频数据的区别和获取渠道就讲到这里。记住一句话:数据质量决定策略上限。下一节咱们会深入讲如何清洗这些数据,特别是Tick数据的时间对齐和去重处理。