3. 价差与深度:买卖价差、市场深度、订单簿斜率

好,咱们今天聊聊订单簿里最核心的两个指标——价差和深度。说白了,这就是市场的「厚度」和「宽度」。我刚开始做高频策略那会儿,总觉得看个盘口五档就够用了,后来被市场狠狠教育了几次,才发现这里面门道深着呢。

3.1 买卖价差:市场的「过路费」

买卖价差(Bid-Ask Spread),就是最优买价和最优卖价之间的差值。你想想看,如果你现在想立刻成交,要么吃卖一,要么砸买一,这中间的差价就是你为「即时性」付出的成本。

价差的计算方式

Spread = Ask_Price - Bid_Price

更常用的其实是相对价差:

Relative_Spread = (Ask_Price - Bid_Price) / Mid_Price

我个人习惯用相对价差,因为它能跨品种比较。比如茅台一股2000块,价差2块,相对价差才0.1%;但某只低价股2块钱,价差1分,相对价差却到了0.5%。哪个交易成本更高?一目了然。

关键认知: 价差就是流动性提供者收取的「保险费」。市场波动越大,信息不对称越严重,这个保险费就越贵。

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

价差告诉你「进门费」是多少,但深度告诉你「门有多宽」。市场深度通常指某个价位上的挂单数量,或者更常用的——累积深度。

深度指标

  • 档位深度:每个价格档位的挂单量
  • 累积深度:从最优价到某个价格区间的总挂单量
  • 深度比率:买卖两侧深度的比值,判断谁在主导

我在项目中遇到过一件事:某只小盘股,价差只有1分钱,看着流动性不错。结果我一笔500万的单子砸进去,价格直接滑了3毛。为什么?因为深度太浅了,买一只有200手,买二到买五加起来也不到1000手。这就是典型的「假深度」陷阱。

避坑指南: 我曾经只看价差不看深度,吃了大亏。记住:价差小不代表你能低成本成交,深度才是真正的「承载能力」。

3.3 订单簿斜率:深度的「加速度」

订单簿斜率,这是个稍微进阶一点的概念。它衡量的是:当你往订单簿深处走时,挂单量的变化速度。

斜率计算

Slope = ΔVolume / ΔPrice

斜率大,说明订单簿「陡峭」——价格稍微一动,挂单量就急剧变化。斜率小,说明订单簿「平缓」——价格变动很大,挂单量变化也不明显。

你想想看,什么样的市场斜率大?通常是信息高度不对称的市场,或者即将发布重大消息的前夕。做市商和算法交易员都在观望,谁也不敢挂大单,所以深度集中在最优价附近。

斜率特征 市场含义 交易策略
高斜率(陡峭) 流动性集中在最优价附近,深度不足 小单交易,避免大单冲击
低斜率(平缓) 深度分布均匀,市场承接能力强 可以执行大单,滑点可控
斜率突变 可能有大资金进场或离场 警惕趋势反转,暂停交易

3.4 实战:如何用Python计算这些指标

嗯,这里我直接上代码。这是我平时做微观结构分析时用的工具函数,你们可以直接拿去用。

import pandas as pd
import numpy as np

def compute_spread_depth(orderbook):
    """
    计算价差和深度指标
    orderbook: dict, 包含 bids 和 asks 的 DataFrame
    """
    # 最优买卖价
    best_bid = orderbook['bids'].iloc[0]['price']
    best_ask = orderbook['asks'].iloc[0]['price']
    mid_price = (best_bid + best_ask) / 2
    
    # 绝对价差和相对价差
    abs_spread = best_ask - best_bid
    rel_spread = abs_spread / mid_price
    
    # 累积深度(前5档)
    bid_depth_5 = orderbook['bids'].head(5)['volume'].sum()
    ask_depth_5 = orderbook['asks'].head(5)['volume'].sum()
    depth_ratio = bid_depth_5 / ask_depth_5 if ask_depth_5 > 0 else np.nan
    
    # 订单簿斜率(用前5档拟合)
    bid_prices = orderbook['bids'].head(5)['price'].values
    bid_volumes = orderbook['bids'].head(5)['volume'].cumsum().values
    slope = np.polyfit(bid_prices, bid_volumes, 1)[0]
    
    return {
        'abs_spread': abs_spread,
        'rel_spread': rel_spread,
        'bid_depth_5': bid_depth_5,
        'ask_depth_5': ask_depth_5,
        'depth_ratio': depth_ratio,
        'slope': slope
    }
小技巧: 我建议你在计算斜率时,用累积深度而不是单档深度。因为累积深度更能反映市场的真实承接能力,单档深度容易被「挂单撤单」的虚假信号干扰。

3.5 知识体系:价差与深度的核心逻辑

下面这张图,是我自己总结的价差与深度分析框架。你看一眼就能明白这三个指标之间的关系。

订单簿微观结构 买卖价差 市场深度 订单簿斜率 绝对价差 | 相对价差 档位深度 | 累积深度 | 深度比率 陡峭 | 平缓 | 突变 应用场景 交易成本估算 | 流动性风险评估 | 算法交易参数优化 | 做市策略设计

你看,这三个指标其实是环环相扣的。价差告诉你「进门贵不贵」,深度告诉你「里面挤不挤」,斜率则告诉你「往里走会不会突然变挤」。做交易决策时,这三个指标必须一起看。

举个例子,我去年做某个期货品种的套利策略。价差看着很窄,只有0.5个tick,但深度比率严重失衡——卖盘深度是买盘的3倍。这说明什么?说明有人在悄悄出货,只是挂单伪装成正常价差。我果断放弃了那个信号,结果半小时后价格暴跌了2%。

核心总结: 价差是表象,深度是实质,斜率是趋势。只看价差做交易,就像只看后视镜开车——迟早要出事。

好了,这一章的内容就到这里。记住,下次你看盘口的时候,别光盯着最优价那两行,往下翻翻深度,算算斜率,你会发现很多隐藏的信息。


公众号:蓝海数据掘金营,微信deep3321