1. Tick数据概述

什么是Tick数据?

Tick数据,说白了就是逐笔成交数据。每一笔交易产生一条记录,这就是一个Tick。我经常跟团队里新人说,你把它想象成股票市场的「心跳」——每一次跳动,就是一次成交。

举个例子,假设某只股票在09:30:01.123这个时刻,以10.25元成交了100股,这就产生了一条Tick记录。它包含的信息很纯粹:成交时间、成交价格、成交量。

一个标准的Tick数据结构,通常长这样:

{
  "symbol": "000001.SZ",   // 股票代码
  "time": "09:30:01.123",  // 精确到毫秒的时间戳
  "price": 10.25,          // 成交价格
  "volume": 100,           // 成交量(股)
  "direction": "B",        // 主动买卖方向:B=买,S=卖
  "index": 123456          // 当日成交序号
}

嗯,这里要注意一点。不同交易所的Tick数据格式其实有差异。上交所和深交所的字段命名就不太一样。我在对接深交所行情时,就踩过这个坑——他们的方向标识用的是'0'和'1',而不是'B'和'S'。

Tick数据在量化交易中的价值

你可能会问,为什么我们要费劲去搞Tick数据?用分钟线不香吗?

我直接说结论:Tick数据是量化交易的「原油」。没有它,很多策略根本跑不起来。

具体来说,Tick数据的价值体现在这几个方面:

  • 捕捉微观结构:市场在毫秒级别的变化,分钟线根本看不到。比如大单吃货、撤单诱多这些行为,只有Tick数据才能还原。
  • 精确计算成本:做高频交易,滑点就是命。用分钟线算出来的冲击成本,误差能大到让你亏钱。Tick数据可以精确到每一笔的买卖价差。
  • 构建高频因子:像订单流不平衡、成交量分布这些因子,底层全是Tick数据。我做过一个统计,用Tick数据构建的因子,信息比率平均比分钟线因子高30%以上。
  • 回测更真实:用分钟线回测,你根本不知道你的订单能不能成交。Tick数据可以模拟真实的订单簿状态,回测结果靠谱得多。
核心观点:Tick数据不是「锦上添花」,而是「雪中送炭」。没有Tick数据,高频策略就是空中楼阁。

Tick数据与分钟级数据的区别

这个问题,我建议你从三个维度去理解:

维度 Tick数据 分钟级数据
时间精度 毫秒级(甚至微秒级) 分钟级(1分钟、5分钟等)
数据量 单只股票每天几千到几万条 单只股票每天240条(1分钟线)
信息含量 每一笔成交的完整信息 聚合后的统计信息(开高低收、成交量)
存储成本 高(每天几十GB) 低(每天几MB)
适用策略 高频、做市、套利 趋势、反转、CTA

说白了,分钟级数据是「压缩包」,Tick数据是「原文件」。压缩包方便传输和存储,但解压后你才能看到真正的细节。

我记得有一次,一个同事用分钟线做统计套利,回测曲线漂亮得不行。结果实盘第一天就亏了5%。后来一查原因,原来是分钟线把买卖价差的信息给「平均」掉了,导致他低估了交易成本。换成Tick数据重新回测,那个策略根本不能赚钱。

我的建议:如果你的策略持仓周期在1分钟以内,或者你的策略依赖订单流信息,请务必使用Tick数据。否则,分钟级数据就够用了。
注意:Tick数据不是万能的。数据量大、处理复杂、存储成本高,这些都是实际痛点。我曾经因为Tick数据存储设计不合理,导致查询一个月的回测数据要等半小时。后来重构了存储结构,才把查询时间降到秒级。

知识体系总览

下面这张图,是我梳理的Tick数据知识体系。你可以把它当作本章的「地图」:

Tick数据 定义:逐笔成交记录 价值:微观结构分析 vs 分钟级数据 应用:高频/做市/套利 挑战:数据量大/处理复杂 存储:列式存储/压缩 清洗:去重/校验/对齐 协议:二进制/Protobuf

这张图把Tick数据的核心知识点串起来了。从定义出发,左边是它的价值和应用,右边是它带来的挑战和解决方案。后面的章节,我们会逐一深入这些模块。

好了,关于Tick数据的基本概念,我们就聊到这里。记住一句话:Tick数据是量化交易的「显微镜」,它能让你看到市场最细微的波动。至于怎么用好这个显微镜,后面的章节会慢慢展开。

专注资料整理