OHLCV 与 Tick 数据有什么区别?量化研究到底该选哪种数据

深入对比压缩的 OHLCV K 线数据与高精度的逐笔成交 Tick 数据。了解两者的存储体积、帧内路径盲区与实盘回测适用场景。

MyTrade Academy 内容团队
7 分钟阅读

很多新手在刚接触量化回测或策略研究时,去行情软件或数据供应商下载历史数据,第一眼就会被两个完全不同的数据选项搞晕:“OHLCV(K线周期数据)”和“Tick(逐笔成交数据)”。

一只股票或指数 ETF 一整年的日K线数据,用普通的 Excel 表格打开只有几百行,文件大小不到 50 KB;但如果换成某活跃大盘股或期指同一年的逐笔 Trade Tick 数据,记录可能膨胀到数千万条,原始文件体积可能从几百 MB 到数 GB 不等(具体取决于字段完整度与压缩格式),普通表格软件直接卡死闪退。

选错数据类型,要么会让你的策略回测对真实成交摩擦完全盲目,要么会让你陷入不必要的大数据处理泥潭。本文为你拆解这两种核心数据结构的真实差异。

TL;DR

OHLCV 数据将固定时间区间(如 1 分钟、1 小时或 1 天)内的所有交易,压缩为 5 个核心汇总值:开盘价(Open)、最高价(High)、最低价(Low)、收盘价(Close)和成交量(Volume)。它舍弃了周期内的具体价格变动轨迹,换取极小的存储体积与快速回测能力。Tick 数据则是市场真实的事件流记录——必须严格区分成交数据(Trade Ticks,记录成交时间戳、价格、手数与属性)、盘口报价(Quote Ticks,记录最优买卖报价)与深度更新(Order Book Updates,记录多档挂单与排队)。纯成交 Tick 仅反映已撮合事实,价差分析需要 Quote 报价,深度与队列分析则需要多档订单簿更新。Tick 数据对于微观结构至关重要,但对绝大多数波段策略而言并不需要。

OHLCV 汇总 K 线 vs 逐笔成交 Tick 数据对比表
对比维度OHLCV 周期 K 线逐笔 Tick 数据
数据本质按时间窗口切片的汇总摘要(每个区间仅 5 个数值)由交易事件驱动的完整原始流水(每笔成交均记录)
K 线内轨迹 (Path)完全不可见(无法确定是先触及最高价还是最低价)完整呈现价格波动的先后次序与成交耗时
数据体积与存储极轻量(数十年的日线数据仅几兆字节)体积极大(活跃品种全天或全年原始数据可达数百 MB 至数 GB 不等)
买卖盘口深度不包含任何未成交的买卖挂单信息纯成交 Tick 仅反映已撮合事实;价差分析需要 Quote 报价,深度与排队分析则需要多档 Order Book 更新
最适用策略类型日线趋势跟踪、多因子选股、中长线波段策略超短线剥头皮、算法拆单执行、滑点与冲击成本建模

回测中的致命盲区:“K线内部路径问题”

只用 OHLCV 数据做回测,最大的潜在危险就是K线内先后次序的盲区(Intrabar Path Problem)

假设你测试一个 1 小时级别的突破交易策略,设定止盈为 +2%,止损为 -1%。在某一根剧烈波动的 1 小时 K 线中,最高价冲到了 +3%,但最低价也探到了 -1.5%。

由于 OHLCV 数据只记录了 High 和 Low,回测引擎根本无法判断行情究竟是先下跌打掉了你的止损,还是先上涨触及了你的止盈。许多初级回测工具会默认按“先触及止盈”计算,导致纸面胜率被虚假放大。

单只股票 1 年日线 OHLCV约 250 行数据 (~30 KB,记事本秒开)
单只股票 1 年 1分钟 OHLCV约 60,000 行数据 (~3 MB,加载极快)
单只活跃大盘股 1 年逐笔 Trade Tick数千万条记录(约 2 到 4+ GB 原始流,具体视服务商与字段而定)
研究性价比K线数据满足 90% 策略需求,Tick 数据主要用于执行端优化
根据持仓周期挑选数据颗粒度

持仓数天至数周(波段与趋势): 日线或 4 小时 OHLCV 已经足够优秀,兼顾效率与数据洁净度; • 持仓数小时至日内(日内动量): 1 分钟或 5 分钟 OHLCV 可以解决绝大部分进出场次序问题; • 持仓数秒至数分钟(高频与做市): 必须使用 Tick 数据与订单簿切片,才能准确估算买卖点差与滑点冲击。

什么场景下你才必须使用 Tick 数据?

如果你的交易研究涉及以下三个具体方向,Tick 数据则是不可或缺的底层支持:

  1. 11. 真实的滑点与冲击成本审计: 评估在开盘集合竞价后或重大数据公布瞬间,大单市价单打穿盘口时付出的真实执行摩擦。
  2. 22. 订单流(Order Flow)与主动买卖分析: 将逐笔成交(Trade Tick)与当时的盘口报价(Quote Tick)比对,区分主动吃卖价(买方主动)还是主动吃买价(卖方主动),以此计算 Delta 累积并捕捉机构资金流向。
  3. 33. 极端行情下的止损单跳空成交模拟: 验证在行情连续快速断档下跌时,市价止损单到底会在哪个价位被撮合成交。

常见问题

OHLCV 这几个字母分别代表什么?

分别代表 Open(开盘价)、High(最高价)、Low(最低价)、Close(收盘价)和 Volume(成交量),是构成一根标准 K 线(蜡烛图)的五个基本要素。

可以用 Tick 数据合成 OHLCV K 线吗?

完全可以。Tick 数据是更基础的底层事件,你可以按任意规则将其合成为 1 分钟线、5 分钟线甚至基于成交量的成交量K线。但反过来则不行,K 线无法逆向还原为 Tick 数据。

如果没有足够的算力处理 Tick 数据,又想避免回测止损失真,怎么办?

折中方案是采用 1 秒或 5 秒级的高频 OHLCV 数据,或者在分钟线回测中加入“保守悲观假设”(即同一根 K 线上出现止损和止盈时,一律判定为先触发止损)。

掌握金融数据采集与 API 架构基础

第四十三课《金融数据与 API 基础》带你认识 K 线、订单簿切片、幸存者偏差与时间戳校准原则。

学习第四十三课:数据收集