2. 市场微观结构基础

Avellaneda-Stoikov 策略不是凭空报价的公式,它建立在市场微观结构之上。理解订单簿如何组织、价差如何形成、限价单与市价单如何互动,以及成交概率与逆向选择如何影响做市收益,是后续推导保留价与最优报价的前提。本节把这些基础概念串成一条可操作的认知链。

一、核心原理:订单簿是流动性的实时地图

订单簿(Limit Order Book, LOB)按价格优先、时间优先排列所有未成交限价单。买盘(Bid)从高到低排列,卖盘(Ask)从低到高排列,最优买价与最优卖价之间的差额就是买卖价差(Spread)。做市商的核心工作,就是在价差内部或边缘同时挂出买单和卖单,赚取价差并管理库存风险。

订单簿的关键字段包括:价格档位、各档挂单量、订单数量、到达时间。它反映的是当前可见流动性,而不是全部意图。隐藏单、冰山单和即将到达的市价单不会提前显示,因此订单簿既是信息源,也是噪声源。

做市商赚的不是“预测方向”的钱,而是“提供即时性”的钱。价差是对承担库存风险与逆向选择风险的补偿。

二、限价单与市价单:两种订单的行为差异

限价单(Limit Order)指定价格,进入订单簿等待成交,提供流动性,但面临未成交风险和逆向选择风险。市价单(Market Order)不指定价格,立即吃掉对手方最优挂单,消耗流动性,确定成交但承担冲击成本与滑点。

维度 限价单 市价单
成交确定性 不确定,取决于价格是否被触及 高,通常立即成交
价格确定性 高,按指定价或更优价成交 低,可能产生滑点
流动性角色 提供流动性 消耗流动性
主要风险 逆向选择、未成交、库存累积 冲击成本、滑点、成交价不利
做市商使用 核心工具,双边挂单 用于对冲或紧急减仓

做市商绝大多数时候是限价单的提供者,但在库存偏离目标时,也会用市价单快速调整。理解两者差异,才能理解为什么报价不能只考虑“我想赚多少”,还要考虑“对手为什么愿意和我成交”。

三、成交概率与逆向选择:做市的核心矛盾

成交概率(Fill Probability)指限价单在给定时间内被成交的可能性。报价越激进(买价越高、卖价越低),成交概率越高,但单位价差越小;报价越保守,价差越大,但成交概率越低。Avellaneda-Stoikov 模型用保留价和最优价差来平衡这一矛盾。

逆向选择(Adverse Selection)是更隐蔽的风险:当你的买单被成交,往往是因为市场即将下跌;当你的卖单被成交,往往是因为市场即将上涨。也就是说,成交本身可能携带对你不利的信息。成交概率越高,逆向选择风险通常也越大。

订单簿、价差与逆向选择关系图 买盘 Bid Bid 3: 99.8 × 500 Bid 2: 99.7 × 800 Bid 1: 99.6 × 1200 卖盘 Ask Ask 1: 99.9 × 900 Ask 2: 100.0 × 700 Ask 3: 100.1 × 600 Spread = 99.9 - 99.6 = 0.3 做市商双边报价 买 99.65 / 卖 99.85 逆向选择:买单成交后价格易下跌,卖单成交后价格易上涨;成交概率越高,逆向选择风险越大

四、方法流程:从订单簿到做市决策

  1. 读取订单簿快照:获取最优买卖价、各档深度、近期成交与订单流。
  2. 估计中间价与波动率:中间价 = (最优买价 + 最优卖价) / 2,波动率影响报价宽度。
  3. 计算保留价:根据库存与风险厌恶,决定愿意成交的基准价格。
  4. 设定最优价差:在成交概率与逆向选择之间取平衡。
  5. 双边挂单:在保留价两侧挂出限价买单与卖单。
  6. 监控成交与库存:成交后更新库存,必要时用市价单对冲。
# 订单簿快照示例(简化)
best_bid = 99.6
best_ask = 99.9
mid_price = (best_bid + best_ask) / 2   # 99.75
spread = best_ask - best_bid            # 0.3

# 做市商报价(示意)
reservation_price = mid_price - inventory * gamma * sigma**2 * (T - t)
optimal_spread = gamma * sigma**2 * (T - t) + (2 / gamma) * ln(1 + gamma / k)

bid_quote = reservation_price - optimal_spread / 2
ask_quote = reservation_price + optimal_spread / 2

五、案例与场景:一笔市价单如何影响做市商

假设当前中间价为 99.75,做市商在 99.65 挂买单、99.85 挂卖单。此时一笔大额市价卖单打穿买盘,做市商的买单在 99.65 成交。成交后,市场中间价可能下移到 99.60,做市商立即面临浮亏。这就是逆向选择的典型场景:成交并不等于盈利,成交可能意味着你接住了别人急于抛售的筹码。

如果做市商库存因此偏多,他需要下调卖价、上调买价,甚至用市价单卖出部分库存,以回归目标库存。Avellaneda-Stoikov 模型中的保留价会随库存变化而移动,正是为了系统化地处理这一过程。

实战中,做市商通常会同时监控订单簿不平衡(Order Book Imbalance)、成交强度、波动率和库存水平。单一指标容易误判,多指标共振才能提高报价质量。

六、误区与复盘

  • 误区一:价差越大越好。价差过大导致成交概率骤降,可能长时间无法成交,库存风险反而累积。
  • 误区二:成交就是胜利。成交后价格向不利方向移动,说明逆向选择成本高于价差收益。
  • 误区三:只看最优价,不看深度。深度不足时,大额市价单会迅速打穿多档,滑点远超预期。
  • 误区四:忽略订单流方向。连续同向市价单往往预示短期趋势,此时应主动调整报价或暂停做市。
复盘时应重点记录:成交时的订单簿状态、成交后 1~5 秒的价格变化、库存变化、以及是否触发对冲。这些数据是校准成交概率模型和逆向选择参数的关键输入。