一、订单簿基础:什么是订单簿、买卖盘口、Level1/Level2数据、订单簿的生命周期
做高频交易的朋友,咱们今天聊聊最基础的东西——订单簿。你可能觉得这玩意儿太简单了,但说实话,我见过不少写了三年策略的人,对订单簿的理解还停留在表面。嗯,咱们今天把它彻底讲透。
1.1 什么是订单簿?
订单簿,说白了就是一个交易所用来记录所有未成交订单的电子账本。它实时展示着市场上所有买方和卖方的挂单情况。
我个人习惯把订单簿想象成一个「排队系统」:
- 买方在左边排队,出价高的排前面
- 卖方在右边排队,要价低的排前面
- 价格优先,时间优先——这是铁律
你想想看,如果没有订单簿,交易就像在黑市里喊价,谁也不知道真实的市场深度。我在项目中遇到过好几次,新手把订单簿当成静态数据来用,结果策略一上线就亏钱——因为他们没理解订单簿是「活的」。
1.2 买卖盘口:Bid 和 Ask
买卖盘口,英文叫 Bid 和 Ask。这是订单簿里最核心的两个概念:
- Bid(买方盘口):所有想买的人出的价格和数量
- Ask(卖方盘口):所有想卖的人要的价格和数量
举个例子,假设现在某股票:
| 买方(Bid) | 价格 | 卖方(Ask) |
|---|---|---|
| 1000股 | 10.01 | |
| 2000股 | 10.00 | |
| 10.02 | 1500股 | |
| 10.03 | 2500股 |
这里有个关键概念叫「买卖价差」(Spread),就是最优买价和最优卖价的差值。上面这个例子,价差就是 10.02 - 10.01 = 0.01。
1.3 Level1 和 Level2 数据
这两个概念经常被混淆,我给大家理清楚:
Level1 数据(第一层级)
只展示最优的买卖盘口。说白了就是:
- 当前最高买价(Best Bid)
- 当前最低卖价(Best Ask)
- 最新成交价
- 成交量
Level1 就像你看一眼橱窗,只能看到最外面那层商品。对于普通散户来说够用了,但做高频交易?远远不够。
Level2 数据(第二层级)
展示订单簿的完整深度。你能看到:
- 所有价位的挂单数量
- 每个价位的挂单明细
- 订单的到达顺序(有些交易所提供)
我个人习惯用 Level2 数据来做「订单流分析」。你想想看,如果有人在 10.00 价位挂了 10 万股的买单,这信息多值钱?Level1 根本看不到这些。
1.4 订单簿的生命周期
订单簿不是静态的,它每时每刻都在变化。我把它总结为四个阶段:
- 订单到达:新订单进入系统,被放入订单簿
- 订单匹配:新订单与已有订单撮合成交
- 订单撤销:交易者取消未成交的订单
- 订单修改:交易者修改订单价格或数量(有些交易所视为撤销+新订单)
这里有个重要的概念叫「订单簿快照」和「订单簿增量」:
- 快照:某一时刻订单簿的完整状态
- 增量:两次快照之间的变化
做高频交易时,我们通常用增量来更新本地订单簿,而不是每次都重新拉取快照。为什么?因为快照数据量大,传输慢。我曾经在早期项目里用快照方式,结果每秒只能处理 100 次更新,后来改成增量方式,直接干到了 10000 次/秒。
1.5 知识体系总览
下面这张图是我自己画的,把本章的核心知识点串起来了:
这张图把订单簿拆成了三个维度:买卖盘口、数据层级、生命周期。你把这三点吃透了,后面讲订单簿重建、订单流分析就轻松多了。
好了,订单簿的基础就讲到这里。记住一句话:订单簿是市场的「心电图」,读懂它,你就能读懂市场的脉搏。