3、市场冲击模型:线性冲击模型、平方根冲击模型、Almgren-Chriss框架

说到交易成本,最让人头疼的就是市场冲击。你想想看,当你下单的那一刻,市场价格就像被惊动的鱼群一样,开始波动。这个波动,就是我们要对付的「市场冲击」。

我个人习惯把市场冲击分成两块:一块是「临时冲击」,就是下单瞬间把价格打飞了,但过一会儿会恢复;另一块是「永久冲击」,就是你的订单太大,直接把市场水位抬高了,再也回不去。嗯,这个区分很重要,后面会反复用到。

3.1 线性冲击模型

最简单的模型,就是线性冲击。说白了,就是假设价格变动和你的交易量成正比。

公式长这样:

ΔP = λ × Q

其中:

  • ΔP 是价格变化
  • λ 是冲击系数(市场深度相关)
  • Q 是你的交易量

我在项目中遇到过这种情况:用线性模型去拟合小单交易,效果还不错。但一旦交易量超过市场日均成交量的5%,这个模型就开始「撒谎」了。为什么?因为市场不是线性的,大单会引发更多跟风盘。

核心要点: 线性模型只适用于小单交易,或者流动性极好的市场。说白了,它是个「理想化」的玩具模型。

3.2 平方根冲击模型

这个模型更贴近现实。它认为市场冲击和交易量的平方根成正比。公式是:

ΔP = σ × √(Q / V)

其中:

  • σ 是波动率
  • Q 是你的交易量
  • V 是市场总成交量

你想想看,为什么是平方根?因为市场有自恢复能力。你砸进去100万,市场不会真的跌100万,它会在中间吸收一部分。平方根模型就抓住了这个「边际递减」的特性。

我曾经用这个模型回测过A股的大单交易,效果比线性模型好很多。特别是对于交易量在日均成交量10%-30%之间的订单,误差能控制在15%以内。嗯,这里要注意,这个模型对极端行情(比如熔断)是失效的。

实战技巧: 我建议你在做TCA分析时,先用平方根模型估算冲击成本,再用实际成交数据做校准。这样能快速得到一个「够用」的冲击成本估计。

3.3 Almgren-Chriss框架

这个框架,可以说是市场冲击模型的「集大成者」。它把交易策略和冲击成本放在一起考虑,解决了「怎么拆单最划算」的问题。

核心思想很简单:

  • 你交易越快,市场冲击越大
  • 你交易越慢,等待风险越大(价格可能朝不利方向跑)
  • 所以,要在速度和风险之间找个平衡点

Almgren-Chriss把冲击成本拆成两部分:

总成本 = 临时冲击成本 + 永久冲击成本 + 等待风险成本

其中:

  • 临时冲击成本:和交易速度有关,速度越快成本越高
  • 永久冲击成本:和总交易量有关,和速度无关
  • 等待风险成本:和持仓时间有关,时间越长风险越大

我记得第一次用这个框架时,发现它给出的最优拆单策略,竟然和我的直觉完全相反。我以为应该匀速交易,但框架告诉我:一开始要快,后面要慢。为什么?因为一开始的冲击成本边际递增,后面的等待风险边际递增,两者一权衡,就形成了「先快后慢」的U型策略。

避坑指南: 我曾经在实盘中直接套用Almgren-Chriss的参数,结果亏了不少。后来才发现,这个框架对参数非常敏感。特别是波动率σ和冲击系数η,必须用实时数据动态更新,不能直接用历史均值。

3.4 三种模型的对比

模型 适用场景 优点 缺点
线性冲击模型 小单交易、高流动性市场 简单、计算快 大单时误差大
平方根冲击模型 中等规模订单 更贴近现实 极端行情失效
Almgren-Chriss框架 大单拆单、算法交易 综合考虑速度和风险 参数敏感、计算复杂

3.5 知识体系结构图

下面这张图,是我自己整理的三种模型的关系和适用边界。你一看就明白了。

市场冲击模型知识体系 线性冲击模型 平方根冲击模型 Almgren-Chriss框架 ΔP = λ × Q ΔP = σ × √(Q/V) 总成本 = 临时 + 永久 + 风险 小单交易 中等规模订单 大单拆单、算法交易 核心逻辑 交易量越大 → 冲击成本越高(非线性) 交易速度越快 → 临时冲击越大 持仓时间越长 → 等待风险越大 公众号:蓝海资料掘金营,微信deep3321

这张图把三种模型的关系讲得很清楚。从左到右,模型的复杂度在增加,但同时也更贴近真实市场。我个人建议,刚开始做TCA分析时,先用平方根模型打个底,等熟悉了再上Almgren-Chriss框架。

一句话总结: 线性模型是入门,平方根模型是实战,Almgren-Chriss是进阶。别一上来就搞最复杂的,容易翻车。

专注资料整理