逐笔成交数据(tick data)
逐笔成交数据(tick data)是某个品种上每一笔成交的记录:时间戳、价格、手数,以及在携带该字段的数据流上还有主动方。它是颗粒度最细的成交数据,足迹图的每一个单元格、每一个 Delta 值和每一张成交量分布,都是对它的聚合。
Senzoukria · 术语表 · 更新于 2026 年 9 月
一次成交一行
「tick」这个词有两种用法。它既指一份合约的最小变动价位,也指成交数据流里的一笔成交。逐笔成交数据说的是后者:一串成交,每一笔带撮合时间、价格、数量,通常还带一个标明由哪一方发起的标记。对一份流动性好的股指期货来说,单个时段就有几百万行这样的记录。
订单流图表显示的一切,都是对这串记录的汇总。一根足迹 K 线把它区间内的成交按价格和方向分组;Delta 是这一组里卖价一侧成交量减去买价一侧成交量;成交量分布把整个时段的手数按价格加总。如果这些逐笔记录本身有误或不完整,上面这些结果就会以同样的方式出错。
逐笔数据与其他颗粒度
- K 线(OHLCV):每个区间的开高低收和总成交量;区间内部的先后顺序以及每笔成交的方向都丢失了。
- 笔数 K 线:按固定成交笔数收线的 K 线;由逐笔数据构建,但它本身已经不是逐笔数据。
- 报价:最优买卖价随时间的变化;它们描述的是交易意愿,不是已经执行的成交。
- 深度:每个价格上挂着的委托;逐笔成交数据对「挂着什么」只字未提。
在 Senzoukria 里
实时足迹图由所连数据源的逐笔流构建。Replay 界面从券商归档中逐笔加载一个 CME 时段,并注明完整一个时段有几百万笔、首次加载需要一些时间。「Export L1 CSV」操作会把已加载的时段写成一笔一行——时间戳、价格、手数和主动方——gzip 压缩,pandas 或 polars 可直接读取,同时提醒:券商的逐笔历史只含成交。
在自动回测里,逐笔路径被描述为「把每一笔带主动方的成交重建成每个价格上的 bid × ask」,这正是一套读取逐档失衡的策略所需要的输入。当券商没有返回任何逐笔数据时,面板会报出返回码,并说明该账户上可能没有开通历史逐笔重放。
常见的错误
- 把带成交量列的 K 线数据叫作逐笔数据。没有逐笔记录,方向和先后顺序都无法恢复。
- 在数据流根本没传方向时,把推断出来的方向当成观测到的方向。
- 以为有实时逐笔权限就有历史逐笔权限;这是两项分开的权限。
相关内容
其他语言版本
常见问题
- 画一张足迹图需要多少逐笔数据?
- 实时图表只需要图表打开之后的那些逐笔,再加上数据源愿意提供、用来填补更早 K 线的那部分历史。时段重放需要那个时段的全部逐笔。而要回测一条读取逐档失衡的规则,则需要测试窗口内每一个时段的逐笔——这也是为什么运行之前要先度量覆盖率。
- K 线能从逐笔数据重建吗?反过来行不行?
- K 线总是可以从逐笔数据重建:把成交按区间分组再加总即可。反过来不可能:一根 K 线只保留四个价格和一个总量,里面的成交、它们的先后顺序和方向都没了。正是这种不对称,才有了「存逐笔、推 K 线」的做法。