3、市场微观结构:订单簿的构成、限价单与市价单、买卖价差的形成机制、市场深度与弹性
做债券做市,说白了就是在跟市场微观结构打交道。你每天盯着的那个报价界面,背后就是一张订单簿。我刚开始做量化交易那会儿,总觉得订单簿就是个简单的买卖挂单列表,直到有一次因为没搞懂市场深度的变化,被一波流动性抽走打了个措手不及。嗯,从那以后,我再也不敢小看这玩意儿了。
3.1 订单簿的构成
订单簿,英文叫Order Book,是交易所或做市系统里记录所有未成交订单的电子账本。它分两边:买盘(Bid Side)和卖盘(Ask Side)。
每一笔订单都包含几个关键要素:
- 价格:你愿意买或卖的价格
- 数量:你想成交的债券面额或手数
- 时间戳:订单进入系统的时间
- 订单类型:限价单还是市价单
我个人习惯把订单簿想象成一个「价格-数量」的二维矩阵。买盘按价格从高到低排列,卖盘按价格从低到高排列。中间那个空隙,就是买卖价差。
核心要点:订单簿不是静态的。每一秒都在变化。做市商的核心工作之一,就是实时解读订单簿的变化,判断市场情绪和流动性状况。
3.2 限价单与市价单
这两种订单类型,是做市交易的基础。你想想看,没有它们,市场就没法运转。
限价单(Limit Order):你指定一个价格,只有市场价格达到或优于这个价格时才会成交。比如你挂一个「99.50买入10手」,那只有卖盘价格降到99.50或更低时,你的单子才会被吃掉。
市价单(Market Order):你不指定价格,直接按当前最优价格成交。比如你下了一个「市价买入10手」,系统会直接吃掉卖一价上的所有挂单,直到买够10手为止。
我在项目中遇到过一个问题:有同事喜欢用市价单抢流动性,觉得快。但有一次市场突然波动,卖一价瞬间跳了5个基点,他的市价单直接吃到了卖五价,成本比预期高出一大截。所以我的建议是——
个人经验:在流动性好的时候,市价单问题不大。但在流动性差或者市场剧烈波动时,尽量用限价单。我曾经因为贪快用市价单,结果多花了十几个bp的成本,那笔交易的利润全搭进去了。
3.3 买卖价差的形成机制
买卖价差(Bid-Ask Spread),就是最优买价和最优卖价之间的差值。为什么会有这个价差?说白了,这是做市商承担风险的补偿。
价差的形成受几个因素影响:
- 流动性:流动性越好,价差越小。国债的价差通常只有1-2个bp,而一些冷门信用债可能高达50个bp以上。
- 波动性:市场越波动,做市商越不敢报窄价差,因为风险太大。
- 信息不对称:如果市场上有人掌握了你不知道的信息,你只能通过扩大价差来保护自己。
- 库存成本:你手里持有的债券头寸,本身就有价格风险。价差的一部分就是用来覆盖这个风险的。
避坑指南:我曾经在季末的时候做市,发现价差突然变宽了。一开始以为是流动性问题,后来才发现是银行为了满足监管指标,纷纷收缩了做市规模。所以,价差的变化不一定都是市场因素,也可能是制度性因素。做市报价时,一定要把日历效应考虑进去。
3.4 市场深度与弹性
这两个概念,是衡量市场质量的硬指标。
市场深度(Market Depth):指在某个价格水平上,有多少订单在等着成交。深度越大,说明你吃单的时候价格滑点越小。我一般会看「五档深度」,也就是买卖各前五档的挂单总量。
市场弹性(Market Resilience):指市场在受到冲击后,恢复到正常状态的速度。比如一个大单砸下来,价格瞬间跳了2个bp,但如果很快就有新的订单进来把价格拉回去,说明市场弹性好。
举个例子:
# 一个简单的市场深度计算示例(Python伪代码)
def calculate_market_depth(order_book, levels=5):
bid_depth = sum([order['qty'] for order in order_book['bids'][:levels]])
ask_depth = sum([order['qty'] for order in order_book['asks'][:levels]])
return {'bid_depth': bid_depth, 'ask_depth': ask_depth}
# 弹性指标:价格恢复到冲击前水平所需的时间
def calculate_resilience(price_series, shock_time):
pre_shock_price = price_series[shock_time - 1]
for i in range(shock_time, len(price_series)):
if abs(price_series[i] - pre_shock_price) / pre_shock_price < 0.0001:
return i - shock_time # 返回恢复所需的时间(单位:tick)
return None
嗯,这里要注意:市场深度和弹性不是一成不变的。我记得有一次做回测,发现某只债券在上午10点和下午3点的深度差了将近一倍。后来一查,是因为不同时间段参与交易的机构类型不一样。上午主要是银行间交易,下午券商和基金开始活跃,深度自然就上来了。
知识体系结构图
下面这张图,是我自己梳理的市场微观结构知识框架。你可以把它当作一个思维导图来用。
总结一下:市场微观结构不是理论课,是实战课。你每天面对的那些数字,背后都是真金白银的博弈。搞懂了订单簿、限价单与市价单的区别、价差怎么来的、深度和弹性怎么衡量,你才算真正入了做市交易的门。
一个小建议:刚开始做做市的时候,别急着上复杂的模型。先把订单簿盯明白了。我前三个月基本就是在看订单簿的变化,记录不同时间段的深度和价差特征。这些一手数据,比任何理论都管用。
公众号:蓝海资料掘金营,微信deep3321