一、市场微观结构:订单簿、买卖价差、市场深度、流动性

做量化交易这些年,我越来越觉得一个道理:不懂微观结构,就别谈高频交易。说白了,你连市场是怎么撮合订单的都不清楚,怎么敢把真金白银砸进去?

这一章,我们就来拆解市场的底层逻辑。我会结合自己踩过的坑,把订单簿、买卖价差、市场深度和流动性这四个核心概念讲透。

1.1 订单簿:市场的实时快照

订单簿是什么?你可以把它想象成一个实时更新的买卖挂单清单。交易所把所有交易者的限价单(Limit Order)按价格从高到低排列,买一、买二、买三……卖一、卖二、卖三……

我刚开始做策略回测时,总以为价格就是K线图上那个收盘价。后来才发现,真正的战场在订单簿里。你看到的成交价,只是订单簿上某一时刻的“碰撞结果”。

核心概念:

  • 买一(Bid 1):当前最高买入价
  • 卖一(Ask 1):当前最低卖出价
  • 价差(Spread):卖一 - 买一
  • 深度(Depth):每个价位上的挂单数量

举个例子,假设某股票当前订单簿如下:

层级 买价 买量(手) 卖价 卖量(手)
1 10.00 500 10.02 300
2 9.99 800 10.03 600
3 9.98 1200 10.04 900

看到没?买一10.00,卖一10.02,价差0.02元。如果你想立刻买入,就得按10.02成交;想立刻卖出,就得按10.00成交。这0.02元,就是你的流动性成本

我的经验: 做市商策略的核心,就是盯着订单簿的价差和深度变化。我曾经在某个流动性极差的品种上吃过亏——订单簿上买一和卖一之间差了5个tick,一进去就被套了。后来我养成了习惯:下单前先看五档盘口

1.2 买卖价差:流动性的直接标尺

买卖价差(Bid-Ask Spread)是衡量市场流动性最直观的指标。价差越小,说明市场越活跃,流动性越好。价差越大,说明市场越冷清,交易成本越高。

我记得有一次做跨市场套利,发现同一只股票在A股和港股上的价差完全不同。A股这边价差只有0.01元,港股那边却要0.05港元。为什么?因为A股散户多,交易活跃;港股机构多,流动性相对集中。

影响价差的因素主要有三个:

  • 交易量:成交量越大,价差通常越小
  • 波动率:波动越剧烈,做市商越不敢挂单,价差会扩大
  • 信息不对称:重大消息公布前后,价差会急剧扩大

避坑指南: 我曾经在财报发布前5分钟执行了一个市价单,结果成交价比预期高了0.3%。为什么?因为价差从平时的0.01元瞬间扩大到0.15元。所以,不要在信息事件前后用市价单,除非你不在乎成本。

1.3 市场深度:你能吃下多少单?

市场深度(Market Depth)描述的是在不同价格水平上的订单数量。深度越大,说明市场能承受的大额订单越多,价格冲击越小。

你想想看,如果你要买入10万股某只股票,而卖一档只有1000股,会发生什么?你的订单会一路吃掉卖一、卖二、卖三……直到买够10万股。这个过程中,成交均价会越来越高——这就是价格冲击

我习惯用深度图来直观判断市场深度。下面是我用Python画的一个简化版深度图逻辑:

# 模拟订单簿深度数据
bid_prices = [10.00, 9.99, 9.98, 9.97, 9.96]
bid_volumes = [500, 800, 1200, 1500, 2000]
ask_prices = [10.02, 10.03, 10.04, 10.05, 10.06]
ask_volumes = [300, 600, 900, 1200, 1600]

# 计算累计深度
cum_bid = [sum(bid_volumes[:i+1]) for i in range(len(bid_volumes))]
cum_ask = [sum(ask_volumes[:i+1]) for i in range(len(ask_volumes))]

print("买入累计深度:", cum_bid)
print("卖出累计深度:", cum_ask)

输出结果:

买入累计深度: [500, 1300, 2500, 4000, 6000]
卖出累计深度: [300, 900, 1800, 3000, 4600]

看到没?如果你想买入3000股,只需要吃掉卖一到卖四档,成交均价大概在10.035元左右。但如果你想买入5000股,就得吃到卖五档,成交均价会更高。

我的习惯: 在实盘交易前,我会先算一下订单簿的“斜率”——也就是价格每变动一个tick,深度变化多少。斜率越陡,说明深度越差,大单进去容易造成价格滑点。

1.4 流动性:市场的生命线

流动性(Liquidity)是一个综合概念。它不仅仅是价差小、深度大,还包括交易速度、交易成本、市场弹性等多个维度。

我个人把流动性拆解成四个指标:

  1. 宽度(Width):买卖价差的大小
  2. 深度(Depth):订单簿上的挂单数量
  3. 即时性(Immediacy):订单成交的速度
  4. 弹性(Resiliency):大单冲击后,价格恢复的速度

这四个指标缺一不可。举个例子,某个品种价差很小(宽度好),但深度只有几百手(深度差),你一个大单进去,价格直接被打飞。或者深度很好,但成交速度极慢(即时性差),你的订单挂在那里半天没人理。

下面这张图是我自己总结的市场微观结构知识体系,你可以对照着理解:

市场微观结构 订单簿 (Order Book) 买卖价差 (Spread) 市场深度 (Depth) 流动性 (Liquidity) 买一/卖一/五档盘口 Bid-Ask / 交易成本 挂单量 / 价格冲击 宽度+深度+即时性+弹性 图:市场微观结构四大核心要素关系图

嗯,这里要注意:流动性是会变化的。早盘开盘、午盘收盘、重大事件前后,流动性都会出现剧烈波动。我见过最夸张的一次,某只小盘股在午盘休市前10分钟,价差从0.01元扩大到0.08元,深度从几千手缩到几十手——简直就是流动性枯竭。

实战要点总结:

  • 做市商策略:盯着订单簿的价差和深度变化,赚取流动性差价
  • 大单交易:先看深度图,估算价格冲击成本,再决定是否拆单
  • 风险控制:避开流动性枯竭时段,不要在价差过大时用市价单

说白了,市场微观结构就是交易的底层语言。不懂它,你就是在盲人摸象。下一章我们会深入讨论价格冲击成本的具体计算方法,到时候你会更深刻地理解为什么订单簿和流动性这么重要。


专注资料整理