4. 市场深度(Market Depth)度量:深度指标计算、深度曲线的形状、深度与价格冲击

好,咱们今天聊聊市场深度。这东西说白了,就是看市场到底能“吃”下多大的单子,还不带明显波动的。

我刚开始做量化那会儿,总觉得看个买卖价差就够了。后来有一次,我挂了个不算太大的单子,结果直接把价格打穿了两个tick。嗯,从那以后我才真正重视起深度这个指标。

4.1 什么是市场深度?

市场深度,简单讲,就是订单簿上各个价位挂着的订单总量。你想想看,一个水池子,水面很宽,但水很浅,你扔块大石头进去,水花四溅。这就是深度浅。

深度大,意味着你能在接近当前价格的范围内,完成大额交易。深度小,那就得小心了,一不留神就成了“价格冲击”的制造者。

我个人习惯把深度拆成两个维度来看:

  • 数量维度:每个价位上到底有多少手单子。
  • 价格维度:这些单子离当前成交价有多远。

两者结合,才能看清市场的真实承载力。

4.2 深度指标怎么算?

深度指标不是只有一个。我常用的有这么几个,各有各的用处。

4.2.1 总深度 (Total Depth)

这个最直观。就是把买一到买五(或者更深)的所有挂单量加起来。卖盘那边也一样。

# 伪代码示例:计算买盘总深度
buy_depth = sum(order_book.bids[i].volume for i in range(5))
sell_depth = sum(order_book.asks[i].volume for i in range(5))

这个指标能快速告诉你,市场两边谁的力量更强。但有个问题——它没考虑价格。一个离现价很远的单子,其实没什么实际意义。

4.2.2 加权深度 (Weighted Depth)

为了弥补总深度的缺陷,我更喜欢用加权深度。把每个价位的单子,按距离当前价格的远近打个折扣。

# 加权深度计算示例
def weighted_depth(bids, current_price):
    total = 0
    for price, volume in bids:
        weight = 1 / (1 + abs(price - current_price) / current_price)
        total += volume * weight
    return total

你看,离得近的单子权重高,离得远的权重低。这样算出来的深度,更贴近实际交易中的“可用流动性”。

4.2.3 成本深度 (Cost Depth)

这个指标我特别推荐。它回答的问题是:我想买入X手,需要花多少钱?或者说,会推动价格移动多少?

买入量 消耗价位 平均成交价 价格冲击成本
100手 买一价 10.00 0
500手 买一 + 买二 10.02 0.02
2000手 买一到买五 10.10 0.10

这个表是我以前做回测时常用的。它能让你直观地看到,不同规模的订单会带来多大的冲击。

4.3 深度曲线的形状

深度曲线,就是把订单簿上的价格和对应的累计挂单量画成一条线。形状不同,市场性格也不同。

核心观点:深度曲线的形状,直接反映了市场参与者的行为模式。

4.3.1 陡峭型曲线

这种曲线在靠近当前价格的地方,挂单量很少。稍微往里走一点,量就急剧增加。这说明什么?说明市场在当前位置比较犹豫,但一旦价格突破,就会遇到很强的阻力或支撑。

4.3.2 平缓型曲线

曲线比较平滑,各个价位的挂单量分布均匀。这种市场通常流动性较好,大单进出相对容易。我在做ETF套利时,最喜欢这种市场。

4.3.3 缺口型曲线

某个价位上突然出现巨大的挂单,形成“墙”。这通常是做市商或者大资金在刻意护盘或压盘。我曾经在交易某个小币种时遇到过,买二价位突然堆了上万手,明显是有人在托底。

这里我画了一张图,帮你把深度曲线的核心逻辑串起来:

市场深度分析框架 深度指标计算 • 总深度 • 加权深度 • 成本深度 深度曲线形状 • 陡峭型 • 平缓型 • 缺口型 价格冲击分析 • 冲击成本 • 滑点预测 • 订单拆分 三者关系 深度指标 → 描述曲线形状 → 预测价格冲击 应用场景 算法交易 | 做市策略 | 风险控制 | 市场微观结构研究

4.4 深度与价格冲击

价格冲击,就是你下单后,市场价格因为你的订单而发生的变动。深度越浅,冲击越大。这个道理很直白。

但实际中,有个现象很有意思:深度是动态的。你刚看到买一有1000手,等你下单时,可能只剩500手了。为什么?因为别人也在看,也在动。

我的经验:在做高频策略时,我从来不看静态的深度数据。我会用“事件驱动”的方式,实时跟踪订单簿的变化。比如,当买一被吃掉后,新的买一会不会快速补充?补充的速度和数量,才是真正的深度。

关于价格冲击,我习惯用这个公式来估算:

冲击成本 = (成交均价 - 当前最优价) / 当前最优价 × 100%

这个值越小,说明市场深度越好。我一般会设定一个阈值,比如0.05%。如果估算的冲击成本超过这个值,我就会考虑拆单或者换品种。

注意:别以为深度大就万事大吉。有些市场,深度看着很大,但都是“虚假挂单”。你一下单,那些单子就撤了。这种情况在流动性差的品种上特别常见。我建议你结合“撤单率”一起看。

最后说一句,深度分析不是万能的。它只能告诉你“当前”的市场状态。真正的挑战在于,如何预测下一秒的深度变化。这就要结合订单流、成交量、波动率等更多维度来看了。

好了,关于市场深度,咱们就聊到这儿。记住一句话:深度是市场的“肌肉”,曲线是“体型”,冲击是“力量”。三者结合,你才能看清市场的真实面貌。

专注资料整理