一、Level 1 vs Level 2 数据:市场数据层级差异
做量化交易这些年,我见过不少新手一上来就盯着 Level 1 数据猛干。说实话,这就像开车只看后视镜——能走,但迟早要出事。今天咱们就聊聊这两个数据层级的本质区别,以及我踩过的那些坑。
1.1 什么是 Level 1 数据?
Level 1 数据,说白了就是「最佳报价」。它只告诉你当前市场上最好的买价和卖价,以及对应的成交量。比如你看到某股票显示:
买一:10.00 元 1000 股
卖一:10.01 元 2000 股
这就是 Level 1 的全部家当。嗯,就这么简单。
我在早期做策略回测时,就只用了 Level 1 数据。结果呢?实盘一跑,滑点大得吓人。为什么?因为你看不到买一后面还有多少单子等着,也看不到卖一上面压了多少货。
核心要点:Level 1 只展示「冰山一角」,适合做趋势判断,不适合做精细的订单簿分析。
1.2 Level 2 数据:深水区的秘密
Level 2 数据就不一样了。它把整个订单簿都摊开给你看——从买一到买十,从卖一到卖十,每一档的价格和挂单量都清清楚楚。
举个例子,同样是上面那只股票,Level 2 会告诉你:
卖五:10.05 5000
卖四:10.04 3000
卖三:10.03 2000
卖二:10.02 1500
卖一:10.01 2000
---
买一:10.00 1000
买二:9.99 2500
买三:9.98 4000
买四:9.97 1000
买五:9.96 3000
看到区别了吗?Level 2 让你看到了市场的「厚度」。我记得有一次做高频策略,就是靠 Level 2 数据发现了一个大单在 10.03 位置悄悄吃货——这种信息 Level 1 根本给不了你。
1.3 核心差异对比
| 维度 | Level 1 | Level 2 |
|---|---|---|
| 数据深度 | 仅最佳买卖价 | 多档位(通常10档) |
| 挂单量 | 仅最佳价位的量 | 每档位的完整挂单量 |
| 更新频率 | 通常每秒1-2次 | 逐笔更新(Tick级) |
| 数据量 | 小,约几十字节/次 | 大,约几百字节/次 |
| 费用 | 免费或低价 | 较贵(交易所收费) |
| 适用策略 | 趋势跟踪、日间交易 | 高频交易、做市策略 |
我的建议:如果你刚开始做量化,先用 Level 1 跑通逻辑。等策略稳定了,再升级到 Level 2。别一上来就烧钱买全量数据——我见过太多人花了几万块买数据,结果策略根本用不上。
二、Tick级数据 vs 快照数据:时间维度的博弈
聊完数据深度,咱们再聊聊时间维度。这里有两个概念:Tick 数据和快照数据。很多人搞混它们,其实区别很大。
2.1 Tick级数据:每一笔交易的记录
Tick 数据,就是每一笔成交的原始记录。它包含:
- 成交时间(精确到毫秒甚至微秒)
- 成交价格
- 成交量
- 成交方向(主动买还是主动卖)
举个例子,某股票在 09:30:01.123 秒成交了一笔:
时间:09:30:01.123
价格:10.00
数量:500
方向:主动买入
这就是一条 Tick 数据。每一笔交易都会产生一条记录。你想想看,一只活跃股票一天可能有几万笔交易,那数据量就相当可观了。
我曾经在做一个订单流分析策略时,需要精确到每一笔 Tick 的买卖方向。当时用 Level 1 的快照数据根本做不了——因为快照只告诉你当前价格,不告诉你这笔交易是谁主动发起的。
2.2 快照数据:某个时刻的「照片」
快照数据就简单多了。它是在某个时间点,对整个订单簿拍一张「照片」。比如每 100 毫秒记录一次当前的所有挂单情况。
快照数据的特点是:
- 定期采样(比如每秒10次)
- 包含完整的订单簿状态
- 不记录中间的变化过程
说白了,快照就是「断点续传」,Tick 就是「全程录像」。
2.3 什么时候用 Tick,什么时候用快照?
这个问题我经常被问到。我的回答是:看你的策略需要多精细的时间分辨率。
| 策略类型 | 推荐数据 | 原因 |
|---|---|---|
| 高频做市 | Tick 数据 | 需要捕捉毫秒级的订单流变化 |
| 统计套利 | 快照数据 | 关注价格关系,不需要逐笔细节 |
| 订单簿重建 | Tick 数据 | 需要精确还原每一刻的订单簿状态 |
| 趋势跟踪 | 快照数据 | 分钟级数据就够用 |
避坑指南:我曾经犯过一个错误——用 Tick 数据做回测,但存储时只保存了快照。结果回测结果和实盘差了一大截。为什么?因为快照丢失了中间的变化信息,导致订单簿重建不准确。记住:Tick 数据可以生成快照,但快照数据永远无法还原 Tick。
三、知识体系总览
下面这张图,是我自己总结的市场数据层级关系。你看一眼就能明白整个体系:
3.1 实际项目中的选择建议
说了这么多理论,咱们来点实际的。如果你现在要做一个策略,该怎么选?
- 先问自己:我需要多快? 如果策略持仓时间超过 1 分钟,Level 1 快照数据基本够用。
- 再问自己:我的资金量多大? 小资金做高频,Level 2 数据是必须的。大资金做趋势,Level 1 反而更合适——因为你看太多细节反而会干扰判断。
- 最后问自己:我准备好处理数据了吗? Tick 数据一天可能几个 GB,快照数据一天才几百 MB。存储和计算成本差很多。
我的经验:刚开始做量化时,我建议先用 Level 1 快照数据跑通策略逻辑。等策略赚钱了,再考虑升级到 Level 2 和 Tick 数据。别一上来就追求「全量数据」——那就像刚学开车就上 F1 赛道,容易翻车。
嗯,这一章的内容就到这。记住一句话:数据不是越精细越好,适合你的策略才是最好的。下一章咱们聊聊如何用 Python 处理这些数据,到时候我会分享一些我踩过的坑和实用的代码片段。