第一章:订单簿的微观结构
做套利这么多年,我越来越觉得——订单簿才是市场最真实的语言。K线可以骗人,指标可以滞后,但订单簿上的每一笔挂单,都是真金白银的态度。今天我们就来拆解这个核心工具。
1.1 限价单与市价单的生命周期
先问个问题:你下的单子,到底经历了什么?
限价单(Limit Order)和市价单(Market Order),说白了就是两种完全不同的性格。
- 限价单:你指定价格,挂上去等。不着急,但可能永远成交不了。
- 市价单:你不管价格,直接吃掉对手盘。成交快,但可能滑点让你肉疼。
我刚开始做高频的时候,总觉得限价单安全。直到有一次,我在BTC永续合约上挂了个深度限价单,结果行情瞬间跳水,我的单子成了别人的逃生通道。嗯,从那以后我学会了加止损。
生命周期流程
一个限价单的完整生命周期是这样的:
- 你提交订单 → 进入交易所撮合引擎
- 引擎检查价格是否与对手盘匹配
- 匹配成功 → 立即成交(部分或全部)
- 匹配失败 → 进入订单簿排队
- 排队期间可能被撤销、修改、或者被吃掉
- 最终:成交、撤销、或者过期
市价单就简单多了:进来就吃,吃完就撤。但这里有个坑——市价单的成交价格取决于订单簿的深度。如果盘口薄,一个市价单可能吃掉好几个价位,滑点大到你想哭。
核心要点:限价单提供流动性,市价单消耗流动性。做市商赚的就是这个价差。
1.2 订单簿的构建与动态更新
订单簿长什么样?说白了就是一个价格-数量的映射表。买盘(Bid)从高到低排,卖盘(Ask)从低到高排。
我习惯用Python模拟一个简单的订单簿,你感受一下:
class OrderBook:
def __init__(self):
self.bids = {} # 买盘:价格 → 数量
self.asks = {} # 卖盘:价格 → 数量
def add_order(self, side, price, qty):
if side == 'buy':
self.bids[price] = self.bids.get(price, 0) + qty
else:
self.asks[price] = self.asks.get(price, 0) + qty
def remove_order(self, side, price, qty):
if side == 'buy':
self.bids[price] -= qty
if self.bids[price] <= 0:
del self.bids[price]
else:
self.asks[price] -= qty
if self.asks[price] <= 0:
del self.asks[price]
def get_top(self, n=5):
# 返回前n档买卖盘口
bid_levels = sorted(self.bids.items(), reverse=True)[:n]
ask_levels = sorted(self.asks.items())[:n]
return bid_levels, ask_levels
这段代码虽然简单,但核心逻辑都在了。实际生产环境中,订单簿每秒可能更新上千次,所以数据结构的选择很关键。我个人推荐用红黑树或者跳表,Python里可以用sortedcontainers库。
小技巧:做回测时,别用真实订单簿的全部数据,太慢了。我一般只保留前10档,效果已经足够。
1.3 买卖盘口深度分析
盘口深度,就是看买卖双方的力量对比。我常用的几个指标:
| 指标 | 计算公式 | 含义 |
|---|---|---|
| 买卖比 | 总买量 / 总卖量 | >1 表示买方强势 |
| 加权深度 | ∑(价格 × 数量) / ∑数量 | 实际成交均价 |
| 价差 | 卖一价 - 买一价 | 流动性越好,价差越小 |
| 深度斜率 | 相邻档位的数量变化率 | 判断支撑/阻力强度 |
举个例子。假设某币的订单簿如下:
卖五: 100.50 200个
卖四: 100.40 150个
卖三: 100.30 300个
卖二: 100.20 100个
卖一: 100.10 50个
-------------------
买一: 100.00 80个
买二: 99.90 200个
买三: 99.80 150个
买四: 99.70 100个
买五: 99.60 50个
你看,卖一只有50个,买一有80个。如果这时候来一个大的市价买单,50个卖一被吃掉后,价格直接跳到100.20。这就是为什么盘口薄的时候,价格波动特别大。
我曾经在ETH上吃过这个亏。当时看到买盘很厚,以为支撑很强,结果一个大户直接砸了5000个ETH的市价单,买盘瞬间被打穿,价格跌了2%。从那以后,我每次看盘口都会算一下「吃掉前3档需要多少资金」。
避坑指南:别只看买一卖一。我曾经以为某币流动性很好,结果发现买一后面全是小单,大单都在更深处。真正的深度要看累计量。
知识体系图
下面这张图,是我自己总结的订单簿微观结构核心逻辑:
这张图把整个逻辑串起来了。你从订单类型出发,经过订单簿构建,再到动态更新,最后落到深度分析。每一步都有对应的指标和策略。
嗯,今天就先聊到这儿。订单簿这东西,越挖越深。你如果刚开始接触,建议先拿模拟盘练手,别一上来就实盘。我见过太多人,连盘口都没看懂就冲进去,结果被市场教育得明明白白。
一句话总结:订单簿是市场的骨架,读懂它,你就能看到资金流动的方向。
公众号:蓝海资料掘金营,微信deep3321