1. 订单簿基础与市场微观结构
做市商这行,说白了就是跟订单簿打交道。我刚开始接触这个领域时,觉得订单簿不就是一堆买单卖单嘛,有什么好研究的?后来在实盘交易中吃了不少亏,才明白这玩意儿的水有多深。今天咱们就从最基础的东西聊起。
1.1 限价单与市价单:两种最基本的武器
市场上只有两种订单类型,你想想看,是不是很简单?
限价单(Limit Order):你指定一个价格,只有市场达到这个价格时才会成交。比如你挂一个「买入 100 股,价格不超过 10 元」,那系统就会在 10 元或更低的价格帮你买。
市价单(Market Order):你不指定价格,系统以当前最优价格立即成交。说白了就是「不管多少钱,先给我买了再说」。
我个人习惯把限价单叫做「耐心单」,市价单叫做「急单」。为什么?
- 限价单提供流动性,你在那里等着别人来成交
- 市价单消耗流动性,你直接吃掉别人的挂单
核心区别:限价单是「挂单等成交」,市价单是「直接吃单」。做市商主要用限价单来提供流动性,赚取买卖价差。
我在项目中遇到过一个问题:某个策略大量使用市价单,结果在流动性差的时候,滑点大得吓人。嗯,这里要注意——市价单虽然成交快,但价格不确定。尤其是在盘口很薄的时候,一个市价单可能把价格打穿好几个档位。
1.2 订单簿的构成:买盘与卖盘
订单簿(Order Book)就是所有限价单的集合。它分为两半:
- 买盘(Bid Side):所有买入限价单,按价格从高到低排列
- 卖盘(Ask Side):所有卖出限价单,按价格从低到高排列
中间那个空隙,就是买卖价差(Spread)。做市商赚的就是这个差价。
举个例子,假设某股票当前订单簿长这样:
| 价格 | 买盘数量 | 卖盘数量 | 价格 |
|---|---|---|---|
| 9.98 | 200 | 150 | 10.02 |
| 9.97 | 500 | 300 | 10.03 |
| 9.96 | 800 | 600 | 10.04 |
这里最优买价是 9.98,最优卖价是 10.02,价差 4 分钱。如果你挂一个市价买单,就会吃掉 10.02 的 150 股,然后继续吃 10.03 的 300 股...直到满足你的数量为止。
实战技巧:做市商通常会盯着「盘口深度」——也就是每个价格档位的挂单量。如果某个档位突然出现大单,往往意味着有「大玩家」在布局。
1.3 价格优先与时间优先:订单匹配的铁律
交易所怎么决定谁先成交?两个原则:
- 价格优先:买单出价高的优先,卖单出价低的优先
- 时间优先:相同价格下,先挂单的优先
我曾经犯过一个低级错误:在某个流动性很差的品种上,我挂了一个限价单,觉得价格到了就能成交。结果价格确实到了,但我的单子排在后面,眼睁睁看着别人成交了。这就是时间优先的威力。
用代码模拟一下订单簿的匹配逻辑:
class OrderBook:
def __init__(self):
self.bids = [] # 买单,按价格降序
self.asks = [] # 卖单,按价格升序
def add_limit_order(self, side, price, quantity, timestamp):
order = (price, quantity, timestamp)
if side == 'buy':
self.bids.append(order)
# 按价格降序、时间升序排序
self.bids.sort(key=lambda x: (-x[0], x[2]))
else:
self.asks.append(order)
# 按价格升序、时间升序排序
self.asks.sort(key=lambda x: (x[0], x[2]))
def match_market_order(self, side, quantity):
filled = 0
if side == 'buy':
while quantity > 0 and self.asks:
price, qty, _ = self.asks[0]
take = min(quantity, qty)
filled += take * price
quantity -= take
if take == qty:
self.asks.pop(0)
else:
self.asks[0] = (price, qty - take, _)
return filled
这段代码虽然简单,但核心逻辑都在了。你想想看,交易所每天处理几亿笔订单,底层就是这套规则在运转。
1.4 市场微观结构:看不见的博弈
订单簿不只是数据的堆砌,它反映了市场参与者的博弈。我总结了几点观察:
- 大单拆小单:机构通常会把大单拆成小单,避免暴露意图
- 冰山订单:只显示一部分数量,实际挂单量更大
- 闪电下单:高频交易者会在毫秒级别内撤单、改单
注意:做市商最怕的就是「信息不对称」。如果你发现某个价格档位频繁出现大单又撤单,很可能是有人在「钓鱼」——故意制造假深度来诱导你下单。
我记得有一次,某个山寨币的订单簿上,买一位置突然出现 10 万个币的挂单。很多散户以为有大资金托底,纷纷跟买。结果那单子挂了 3 秒就撤了,价格瞬间暴跌。嗯,这就是典型的「诱多」手法。
1.5 知识体系总览
下面这张图把本章的核心逻辑串起来了:
这张图把整个知识体系串起来了。从订单类型出发,到订单簿的构成,再到匹配规则,最后落到市场微观结构。做市商的所有策略,都是围绕这个框架展开的。
我的建议:刚开始学的时候,别急着看复杂的策略。先把订单簿的底层逻辑吃透。我见过太多人一上来就研究高频算法,结果连盘口都看不懂,亏得一塌糊涂。
好了,这一章就到这里。记住一句话:订单簿是市场的「心电图」,读懂了它,你就读懂了市场。
公众号:蓝海资料掘金营,微信deep3321