1. Tick数据概述

大家好,我是你们的量化金融讲师。今天咱们聊聊Tick数据——这个在量化回测里最底层、最原始的数据形态。

说实话,我刚入行那会儿,对Tick数据也是一知半解。总觉得用日线做回测就够了,干嘛要折腾这么细的数据?直到有一次,我做一个高频策略的回测,用日线数据跑出来收益曲线漂亮得不行,结果实盘一跑,直接亏到怀疑人生。后来才发现,问题就出在数据粒度上。

嗯,咱们今天就把Tick数据彻底讲透。

什么是Tick数据?

Tick数据,说白了就是每一笔成交的原始记录。交易所每撮合一次交易,就会生成一条Tick数据。它记录的是最微观的市场行为。

一条典型的Tick数据长这样:

时间戳: 2024-01-15 09:30:00.123456
代码: 600519.SH
最新价: 1688.50
成交量: 100
成交额: 168850
买卖方向: 买

你想想看,这跟咱们平时看到的K线图完全不是一个东西。K线是把一段时间内的Tick数据聚合起来,而Tick数据本身是离散的、逐笔的。

核心要点:Tick数据是市场最原始的数据形态,不可再分。它是所有高级数据(分钟线、日线)的源头。

Tick数据在量化回测中的重要性

我个人习惯把量化策略分成三类:

  • 低频策略:持仓几天到几个月,用日线就够了
  • 中频策略:持仓几小时到几天,分钟线勉强够用
  • 高频策略:持仓几秒到几分钟,必须用Tick数据

为什么高频策略必须用Tick?我举个例子你就明白了。

假设你写了一个策略,在价格突破某个阈值时买入。用日线数据回测,你看到的是:

开盘价: 100
最高价: 105
最低价: 98
收盘价: 102

你设定突破103买入。日线告诉你,今天最高到了105,所以你的买入指令应该被执行了。但问题是——你知道它是在什么时间突破的吗?是在开盘后第1秒,还是收盘前最后一秒?

这差别可大了去了。如果是开盘第1秒突破,你后面还有将近4个小时可以持仓。如果是收盘前最后一秒突破,你买入后马上就收盘了,根本没法操作。

避坑指南:我曾经用日线数据回测一个突破策略,年化收益做到30%。结果实盘一跑,收益直接腰斩。后来查原因,发现日线回测里很多突破发生在收盘前最后一刻,根本没法成交。这就是典型的「回测幸存者偏差」。

Tick数据能帮你精确到毫秒级别。你可以知道:

  • 每一笔成交的具体时间
  • 买卖双方的博弈过程
  • 订单簿的微观变化
  • 市场冲击成本的真实影响

Tick数据与分钟/日线数据的区别

咱们用一张表来对比,一目了然:

维度 Tick数据 分钟线 日线
数据粒度 逐笔成交 1分钟聚合 1天聚合
数据量 极大(每天数百万条) 中等(每天约240条) 极小(每天1条)
时间精度 毫秒/微秒级 秒级 天级
信息含量 完整保留市场微观结构 丢失大部分微观信息 仅保留4个价格点
存储成本 极高 中等 极低
回测精度 最接近实盘 有一定偏差 偏差较大

说白了,分钟线和日线都是对Tick数据的「降采样」。降采样会丢失信息,这是不可避免的。你想想看,把几百万条Tick数据压缩成1条日线,中间丢失了多少市场博弈的细节?

我举个例子:

# 假设这是某股票1分钟内的所有Tick数据
ticks = [
    {"time": "09:30:00.000", "price": 100.00, "volume": 100},
    {"time": "09:30:00.050", "price": 100.02, "volume": 200},
    {"time": "09:30:00.100", "price": 100.01, "volume": 150},
    {"time": "09:30:00.150", "price": 100.03, "volume": 300},
    # ... 还有几百条
]

# 聚合成的1分钟K线
minute_bar = {
    "open": 100.00,
    "high": 100.03,
    "low": 100.00,
    "close": 100.03,
    "volume": 750
}

你看,分钟线只保留了4个价格和总成交量。但Tick数据里,你能看到价格是如何一步步从100.00涨到100.03的,中间有没有回调,买卖力量如何变化——这些信息在分钟线里全丢了。

我的建议:如果你的策略持仓周期在1分钟以内,或者你的策略依赖于订单簿的微观结构(比如做市策略、套利策略),那必须用Tick数据。如果只是做中长线趋势跟踪,日线其实够用了。

最后,咱们用一张图来总结Tick数据的核心地位:

Tick数据在量化数据体系中的核心地位 Tick数据(原始逐笔成交) 1分钟K线 5分钟K线 15分钟K线 日线 / 周线 / 月线 信息量递减 存储成本递减 回测精度递减 所有高级数据形态都源于Tick数据的聚合

嗯,这张图很直观。Tick数据在最底层,是所有数据的源头。往上走,数据越来越粗,信息越来越少,但存储成本也越来越低。这就是一个典型的「精度 vs 成本」的权衡。

我个人建议,如果你刚开始做量化,可以先从日线入手。但如果你想做真正精细的回测,尤其是高频策略,那Tick数据是你绕不开的一关。下一章咱们就聊聊Tick数据的存储格式和压缩方案。

专注资料整理