2. 公开市场流动性基础:订单簿结构、买卖价差、市场深度、成交量分析

各位同学,今天我们来聊聊公开市场的流动性基础。说实话,这部分内容看着基础,但我在做高频策略那几年,发现很多团队亏钱就亏在对这几个概念的理解不够深。你想想看,订单簿就是市场的骨架,价差和深度是血肉,成交量是心跳。搞不懂这些,量化交易就是盲人摸象。

2.1 订单簿结构:市场的骨架

订单簿,说白了就是所有挂单的集合。它分两边:买盘(Bid)和卖盘(Ask)。每一笔挂单都包含价格和数量。我个人习惯把订单簿想象成一个排队系统——想买的人在左边排队出价,想卖的人在右边排队要价。

这里有个关键点:订单簿不是静态的。我在项目中遇到过一种情况,看着深度很好,但一撤单就全没了。嗯,这就要说到订单类型了。

核心概念:订单簿的实时性决定了市场质量的真实性。别只看快照,要看变化率。

订单簿通常包含以下层级:

  • 最优买卖价(Top of Book):最高买价和最低卖价,这是最直接的交易窗口。
  • 深度层级(Depth Levels):从最优价往下/往上,每一档的价格和累计量。
  • 订单簿斜率(Order Book Slope):价格变化时,挂单量的变化速度。斜率越陡,流动性越脆弱。

我曾经在分析某只小盘股时,发现它的订单簿前五档看着很厚,但第六档直接空了。这种结构就是典型的“纸老虎”——大单一来,价格直接跳空。

2.2 买卖价差:流动性的温度计

买卖价差(Bid-Ask Spread),就是最优卖价减去最优买价。这个数字越小,说明市场越活跃,流动性越好。为什么?因为做市商愿意用更小的利润来换取成交量。

价差不是固定的。我记得在2015年股灾期间,很多股票的价差从0.01元直接飙到0.10元以上。那时候做高频的兄弟基本都歇菜了——你想想看,一个来回就吃掉10个tick,谁受得了?

市场状态 典型价差(以A股为例) 流动性评价
正常交易 0.01 - 0.03元 良好
波动加剧 0.05 - 0.10元 一般
极端行情 0.20元以上

实战技巧:我个人习惯用“相对价差”(价差/中间价)来衡量。比如一只10元的股票价差0.01元,和一只100元的股票价差0.05元,相对价差分别是0.1%和0.05%。后者其实流动性更好。

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

市场深度,指的是在某个价格水平上,你能成交多少量。深度越大,大单对价格的冲击越小。这里有个常见的误区:很多人只看最优价位的深度,但实际交易中,大单往往要吃掉好几档。

我建议用“深度曲线”来评估。横轴是价格偏移量,纵轴是累计成交量。曲线越平缓,说明市场能吸收大单的能力越强。

举个例子:

# 模拟深度计算
def calculate_depth(order_book, price_offset):
    cumulative_volume = 0
    for level in order_book:
        if abs(level['price'] - mid_price) <= price_offset:
            cumulative_volume += level['volume']
    return cumulative_volume

# 假设中间价10元,偏移0.05元
depth_at_5ticks = calculate_depth(book, 0.05)
print(f"在5个tick范围内,可成交量为: {depth_at_5ticks}股")

我曾经在分析某只ETF时,发现它的深度曲线在某个价位突然变陡。后来一查,原来是有个大户在那里挂了假单——挂单后马上撤单。这种“幽灵深度”在暗池里更常见,但在公开市场也不少见。

避坑指南:我曾经因为只看前五档深度,结果一个大单进来直接打穿了我的止损线。从那以后,我至少看十档深度,并且会计算“深度衰减率”——每档深度的递减速度。如果衰减太快,说明市场承接力不足。

2.4 成交量分析:市场的脉搏

成交量,是市场最诚实的指标。价格可以骗人,但成交量不会。我个人习惯把成交量拆成三部分看:

  • 主动买盘 vs 主动卖盘:谁在主动吃单?这能反映多空力量的真实对比。
  • 大单 vs 小单:大单占比高,说明机构在行动;小单为主,则是散户行情。
  • 成交量分布(Volume Profile):在哪些价格区间成交量最大?这些就是“价值区域”。

你想想看,如果一只股票价格涨了,但成交量萎缩,这叫什么?这叫“无量空涨”,大概率是陷阱。反过来,放量下跌虽然吓人,但至少说明有人在接盘——市场还有流动性。

这里我分享一个我常用的指标:

# 成交量加权平均价(VWAP)
def calculate_vwap(trades):
    total_volume = 0
    total_value = 0
    for trade in trades:
        total_volume += trade['volume']
        total_value += trade['price'] * trade['volume']
    return total_value / total_volume

# 判断成交量异常
def is_volume_surge(current_volume, avg_volume, threshold=3.0):
    return current_volume > avg_volume * threshold

嗯,这里要注意:成交量分析不能只看绝对值。我建议用“相对成交量”——当前成交量除以过去N日的平均成交量。如果超过3倍,基本可以确认有异常事件发生。

2.5 知识体系总览

为了让你更直观地理解这几个概念的关系,我画了一张图:

公开市场流动性基础框架 公开市场流动性 订单簿结构 买卖价差 市场深度 成交量分析 关键指标 • 最优买卖价 • 深度层级 • 订单簿斜率 关键指标 • 绝对价差 • 相对价差 • 价差波动率 关键指标 • 深度曲线 • 深度衰减率 • 幽灵深度识别 关键指标 • 主动买卖盘 • 大单占比 • 成交量分布 核心逻辑:订单簿是骨架 → 价差是温度 → 深度是容量 → 成交量是验证 四个维度相互印证,缺一不可

这张图把四个核心概念串起来了。你从订单簿入手,看价差判断活跃度,用深度评估承接力,最后用成交量验证一切。我在做策略回测时,一定会把这四个维度都跑一遍,缺一个都不放心。

好了,这一章的内容就到这里。记住,公开市场的流动性分析,本质上是在回答三个问题:能不能快速成交?成交成本高不高?大单会不会砸穿市场?把这三点搞明白,你就算入门了。

专注资料整理