高频数据特征:Tick数据、逐笔成交与报价数据的结构

做量化这些年,我接触过不少数据源。说实话,高频数据跟日线数据完全是两个世界。日线数据就像看一张照片,而高频数据呢?它像一部电影——每一帧都不能错过。

今天我们就来聊聊高频数据的几个核心概念。这些概念,说白了就是理解市场微观结构的基石。你想想看,如果连数据长什么样都不清楚,后面的分析就无从谈起。

1. Tick数据:市场最原始的呼吸

Tick数据,我习惯叫它「逐笔数据」。它记录的是交易所每一笔真实发生的交易。每一笔成交,就是一个Tick。

一个典型的Tick数据长什么样?我直接给你看结构:

# 一个Tick数据示例
{
    '时间戳': '2024-01-15 09:30:00.123456',
    '成交价': 50.25,
    '成交量': 100,
    '成交额': 5025.00,
    '成交方向': '买盘主动',  # 买方主动吃单
    '成交编号': '1234567890'
}

嗯,这里要注意。不同交易所的Tick数据字段会有差异。我在处理国内期货数据时,发现它们还包含「开平仓标志」——这个在股票数据里就没有。

核心要点:Tick数据是市场最细粒度的交易记录。它不可拆分,每一笔都是真实发生的。

2. 逐笔成交与逐笔报价:两个不同的视角

很多人容易搞混这两个概念。我刚开始做研究时也犯过这个错。

逐笔成交记录的是「已经成交」的交易。它告诉你:谁在什么时间、以什么价格、买了多少。

逐笔报价记录的是「挂在那里还没成交」的订单。它告诉你:现在市场上,想买的人出价多少,想卖的人要价多少。

两者的区别,我用一个表格来说明:

特征 逐笔成交 逐笔报价
数据性质 已发生事件 当前挂单状态
更新频率 每笔交易触发 订单簿变化时触发
核心字段 成交价、成交量、方向 买一价、卖一价、各档位挂单量
数据量 相对较少 通常更多(频繁撤单)

我曾经在分析某只活跃股票时,发现逐笔报价的数据量是逐笔成交的5倍以上。为什么?因为很多订单挂上去又撤掉,根本没成交。这些「虚假流动性」在报价数据里看得一清二楚。

3. 时间戳精度:毫秒级的较量

时间戳精度,这是个坑。我踩过,而且踩得挺深。

早期的高频数据,时间戳只精确到秒。后来到了毫秒,现在很多交易所已经支持微秒甚至纳秒级别。

避坑指南:我曾经用过一个数据源,它的时间戳看起来是微秒级的,但实际分析发现——同一毫秒内出现了上百笔交易,时间戳完全一样。后来才发现,那是数据商自己伪造的精度。真正的微秒级数据,同一时刻最多只有几笔交易。

时间戳精度直接影响你的分析结果。举个例子:

# 精度不足导致的问题
# 假设真实顺序是:A(09:30:00.001) → B(09:30:00.002) → C(09:30:00.003)
# 如果精度只有毫秒,你看到的是:A(09:30:00.001) → B(09:30:00.001) → C(09:30:00.001)
# 三笔交易的时间戳完全一样,你无法判断先后顺序

所以,拿到数据后第一件事——检查时间戳精度。我一般会看同一毫秒内的交易笔数,如果超过10笔,基本可以判定精度有问题。

4. 买卖价差:流动性的直接体现

买卖价差,就是买一价和卖一价之间的差额。它衡量的是你「立即成交」需要付出的成本。

公式很简单:

买卖价差 = 卖一价 - 买一价
相对价差 = (卖一价 - 买一价) / 中间价 × 100%

我在做ETF套利时,对这个指标特别敏感。有些流动性差的ETF,价差能达到0.5%以上——这意味着你一买一卖,还没赚钱就先亏了0.5%。

个人经验:我习惯把价差分成三档:

  • 窄价差(<0.01%):流动性极好,适合高频策略
  • 中等价差(0.01%-0.1%):正常水平,可以交易
  • 宽价差(>0.1%):流动性差,小心滑点

5. 订单簿快照:市场的全貌

订单簿快照,就是某一时刻所有挂单的完整状态。它告诉你:在什么价位上,有多少人想买,有多少人想卖。

一个典型的订单簿快照结构:

# 订单簿快照示例(深度5档)
{
    '时间戳': '2024-01-15 09:30:00.123456',
    '买盘': [
        {'价格': 50.20, '数量': 1000},
        {'价格': 50.19, '数量': 500},
        {'价格': 50.18, '数量': 200},
        {'价格': 50.17, '数量': 100},
        {'价格': 50.16, '数量': 50}
    ],
    '卖盘': [
        {'价格': 50.21, '数量': 800},
        {'价格': 50.22, '数量': 600},
        {'价格': 50.23, '数量': 300},
        {'价格': 50.24, '数量': 100},
        {'价格': 50.25, '数量': 50}
    ]
}

订单簿快照有什么用?我举个例子。你可以通过观察订单簿的「厚度」来判断支撑位和阻力位。如果买一档有大量挂单,说明这个价位有强支撑——价格不太容易跌破。

但要注意,订单簿是动态变化的。我曾经见过有人用5秒前的订单簿做决策,结果被瞬间打脸。高频世界里,5秒已经是一个世纪了。

知识体系总览

下面这张图,我把本章的核心概念串起来了。你可以看到它们之间的逻辑关系:

高频数据特征知识体系 高频数据 Tick数据(逐笔成交) 逐笔报价数据 时间戳精度 买卖价差 订单簿快照 每笔交易记录 成交价/量/方向 不可拆分 挂单状态 各档位价格/数量 频繁更新 秒/毫秒/微秒 精度决定分析 注意伪精度 买一价 - 卖一价 流动性指标 交易成本 完整挂单状态 支撑/阻力判断 动态变化

这张图里,Tick数据和逐笔报价是数据的「原材料」,时间戳精度决定了数据的「质量」,买卖价差和订单簿快照则是基于这些数据计算出来的「衍生指标」。它们环环相扣,缺一不可。

好了,高频数据的核心特征就聊到这里。记住一点:数据质量决定分析上限。拿到数据先检查,别急着跑模型——这是我用真金白银换来的教训。


公众号:蓝海资料掘金营,微信deep3321