市场微观结构:订单簿深度、订单类型与撮合引擎原理
做高频做市,说白了就是在跟市场微观结构打交道。我刚开始接触这个领域时,总觉得策略逻辑写好了就能赚钱,结果实盘一跑,滑点直接把我打回原形。后来才明白——你不懂订单簿的呼吸节奏,不懂撮合引擎的脾气,策略再漂亮也是纸上谈兵。
这一章,咱们就深入底层,看看订单簿到底长什么样,限价单和市价单在撮合引擎里是怎么「打架」的,以及盘口数据里藏着哪些赚钱的秘密。
订单簿深度:市场的「实时心电图」
订单簿,说白了就是所有挂单的集合。买一、买二、买三……卖一、卖二、卖三……每一档都对应一个价格和对应的挂单量。
我个人习惯把订单簿看作「市场的实时心电图」。为什么这么说?因为每一笔挂单的撤单、新增、成交,都在反映交易者的真实意图。
举个例子,假设 BTC/USDT 的订单簿长这样:
| 档位 | 买价 (Bid) | 买量 | 卖价 (Ask) | 卖量 |
|---|---|---|---|---|
| 1 | 50000 | 10.5 | 50001 | 8.2 |
| 2 | 49999 | 15.3 | 50002 | 12.1 |
| 3 | 49998 | 22.0 | 50003 | 18.7 |
| 4 | 49997 | 30.6 | 50004 | 25.4 |
| 5 | 49996 | 45.2 | 50005 | 40.0 |
看到没?买一和卖一之间差了 1 USDT,这就是「价差」。价差越小,市场越活跃。我见过一些冷门币种,价差能大到几十个点,那种市场根本不适合做高频做市。
订单类型:限价单 vs 市价单
这两种订单,是交易世界最基本的「矛」和「盾」。
限价单(Limit Order):你指定一个价格,只有市场价格到了这个位置才会成交。它提供流动性,但可能无法立即成交。
市价单(Market Order):你不管价格,直接按当前最优价吃掉对手盘。它消耗流动性,但保证立即成交。
嗯,这里要注意——市价单的「立即成交」是有代价的。你想想看,如果你下了一笔大额市价买单,它会一路吃掉卖一、卖二、卖三……直到你的订单被满足。这个过程中,你付出的平均价格可能远高于最初的卖一价。
做市策略的核心,其实就是「挂限价单赚价差,用市价单管理风险」。我习惯在订单簿两侧同时挂限价单,赚取买卖价差。但如果市场突然剧烈波动,我会立刻用市价单平掉风险敞口。
撮合引擎原理:订单的「婚姻介绍所」
撮合引擎,就是交易所后台那个默默牵线搭桥的程序。它的工作逻辑其实很简单:
- 收到一笔新订单
- 检查它能不能跟订单簿里已有的订单匹配
- 如果能,就成交;如果不能,就挂到订单簿上
- 重复以上步骤,直到订单完全成交或完全挂单
但这里有个关键点——价格优先、时间优先。什么意思?
- 价格优先:买单出价高的先成交,卖单出价低的先成交
- 时间优先:相同价格下,先挂单的先成交
我举个例子你就明白了。假设当前订单簿卖一价 50000,有 10 个 BTC 在排队。这时候你下了一个 50000 的限价买单,但前面已经有 5 个人在 50000 这个价格等着了。那你的订单就得排在第 6 位,等前面 5 个人成交完了才轮到你。
这就是为什么做市策略里,撤单重挂是个常见操作。如果你发现自己的订单排得太靠后,可以撤掉重新挂,利用时间优先规则抢到前面去。当然,撤单重挂也有风险——万一在你撤单的瞬间,价格跑掉了呢?
盘口数据解析:从原始数据到交易信号
盘口数据,就是交易所通过 WebSocket 实时推送的订单簿快照。一个典型的盘口数据包长这样:
{
"type": "snapshot",
"bids": [
[50000.0, 10.5],
[49999.0, 15.3],
[49998.0, 22.0]
],
"asks": [
[50001.0, 8.2],
[50002.0, 12.1],
[50003.0, 18.7]
]
}
拿到这些数据后,我们怎么用?我个人习惯计算以下几个指标:
| 指标 | 计算公式 | 含义 |
|---|---|---|
| 价差 (Spread) | 卖一价 - 买一价 | 市场流动性指标,价差越小越好 |
| 订单簿不平衡 (OBI) | (买盘总量 - 卖盘总量) / (买盘总量 + 卖盘总量) | 正值表示买方力量强,负值表示卖方力量强 |
| 加权平均价格 (VWAP) | ∑(价格 × 数量) / ∑数量 | 反映真实成交价格水平 |
| 深度加权价差 | 考虑多档深度的加权价差 | 比简单价差更能反映真实冲击成本 |
举个例子,如果 OBI 突然从 -0.2 跳到 +0.5,说明买盘在快速堆积。这时候我会考虑调整我的做市策略——比如把买单挂得更激进一些,或者减少卖单的挂单量。
知识体系总览
下面这张图,是我自己梳理的市场微观结构知识框架。你可以把它当作本章的「地图」:
这张图把四个核心模块串起来了。你想想看——订单簿深度决定了你的限价单能不能挂到好位置,订单类型决定了你用什么工具去执行,撮合引擎的规则决定了你的订单什么时候能成交,而盘口数据则是你实时调整策略的依据。四者缺一不可。
好了,市场微观结构这块,咱们就聊到这儿。记住一句话:做市不是猜方向,而是吃透规则、利用规则。下一章,我们会把这些知识落地到具体的策略代码里。
公众号:蓝海资料掘金营,微信deep3321