2. 订单簿结构解析:限价单与市价单、买卖盘口、深度图与动态变化
做量化交易,尤其是流动性预判,你绕不开一个东西——订单簿。
说白了,订单簿就是交易所的「实时账本」。每一笔挂单、每一笔成交,都记录在上面。我刚开始接触高频交易时,觉得订单簿就是一堆数字堆在一起,没什么好看的。直到有一次,我在做盘口套利时,因为没看懂订单簿的「假深度」,直接吃了个大亏。嗯,从那以后,我再也不敢小看它了。
2.1 限价单与市价单:订单簿的两种基本元素
订单簿里只有两种订单:限价单和市价单。理解它们的区别,是读懂订单簿的第一步。
- 限价单(Limit Order):你指定一个价格,只有市场达到这个价格时才会成交。说白了,就是「我只愿意在这个价买/卖,不到我不干」。
- 市价单(Market Order):你不指定价格,直接按当前最优价成交。说白了,就是「我要立刻成交,价格无所谓」。
我个人习惯把限价单看作「流动性提供者」,把市价单看作「流动性消耗者」。为什么?因为限价单挂在订单簿上,等着别人来吃;市价单一来,直接吃掉挂单,瞬间成交。
2.2 买卖盘口:订单簿的「门面」
订单簿的买卖盘口,就是当前所有挂单的集合。买盘(Bid)是大家愿意买入的价格和数量,卖盘(Ask)是大家愿意卖出的价格和数量。
我一般会关注三个关键指标:
- 买卖价差(Spread):最优买价和最优卖价的差值。价差越小,流动性越好。我记得有一次做ETH的流动性预判,价差突然从0.01扩大到0.05,我立刻意识到不对劲——果然,下一秒一个大单砸下来,盘口瞬间崩塌。
- 盘口深度(Depth):每个价格档位上的挂单数量。深度越厚,说明这个价位支撑越强。
- 买卖比例(Bid/Ask Ratio):买盘总量与卖盘总量的比值。比值大于1,说明买盘更强;小于1,说明卖盘更强。
你想想看,如果买盘深度很厚,卖盘深度很薄,价格大概率会往上走。反之亦然。这就是最基础的盘口解读逻辑。
2.3 深度图解读:一眼看穿市场情绪
深度图,就是把订单簿的买卖盘口可视化。横轴是价格,纵轴是累计挂单数量。买盘在左边,卖盘在右边。
我一般会看深度图的三个特征:
- 陡峭程度:曲线越陡,说明该价位附近挂单越集中,支撑或阻力越强。
- 缺口(Gap):如果某个价格区间没有挂单,说明这里存在流动性真空。价格一旦突破,会快速滑过这个区间。
- 不对称性:买盘和卖盘的深度不对称,往往预示着方向性机会。
举个例子。假设当前BTC价格是60000,买盘在59900处有100个BTC的挂单,卖盘在60100处有50个BTC的挂单。深度图会显示买盘曲线更「厚」,卖盘曲线更「薄」。这时候,如果出现一笔市价买单,很可能直接吃掉卖盘的50个BTC,价格瞬间拉到60100以上。这就是深度图告诉你的「潜在冲击成本」。
2.4 订单簿动态变化:流动性预判的核心
订单簿不是静止的。每一秒,都有新的限价单进来,也有旧的限价单被撤销,还有市价单在成交。这些动态变化,才是流动性预判的真正战场。
我总结了几种常见的动态模式:
- 挂单撤单频繁:如果某个价位上的挂单频繁出现又消失,很可能是做市商在「刷单」。这时候的深度是假的,不能信。
- 大单缓慢移动:一个大单从远处慢慢向当前价格靠近,说明有大资金在试探市场。我曾经在监控XRP时,发现一个500万枚的卖单从0.5逐步下移到0.48,最后在0.48处被吃掉——随后价格暴跌。这就是典型的「压单出货」。
- 瞬间深度消失:某个价位的所有挂单突然被撤掉,紧接着市价单涌入。这通常是机构在「扫货」或「砸盘」。
2.5 知识体系结构图
下面这张图,是我梳理的订单簿结构解析的核心逻辑。你可以把它当作本章的「思维导图」。
2.6 实战中的订单簿应用
光说不练假把式。我分享一个我常用的订单簿监控思路:
# 伪代码:订单簿动态监控
def monitor_orderbook(symbol):
while True:
book = get_orderbook(symbol)
bid_depth = sum(book['bids'][:10]) # 前10档买盘深度
ask_depth = sum(book['asks'][:10]) # 前10档卖盘深度
spread = book['asks'][0][0] - book['bids'][0][0]
# 检测异常
if bid_depth / ask_depth > 3:
alert("买盘异常厚,可能有大资金吸筹")
if spread > spread_ma * 2: # 价差超过均值2倍
alert("价差扩大,流动性下降")
time.sleep(0.5) # 每500ms刷新一次
这个逻辑很简单,但很实用。我把它跑在多个币种上,每天都能抓到几次异常信号。当然,具体参数需要根据币种和行情调整。