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

说到市场冲击,我脑子里第一个蹦出来的画面,就是当年在自营部门做高频策略时,眼睁睁看着一个大单把盘口砸穿的情景。那感觉,就像你往平静的湖面扔了块大石头——水花四溅,波纹久久不散。

市场冲击,说白了就是你的交易行为对价格造成的影响。你买,价格就涨;你卖,价格就跌。这个影响有多大?怎么量化?这就是我们今天要聊的核心。

4.1 什么是市场冲击?

市场冲击分两种:临时冲击永久冲击

  • 临时冲击:你的订单吃掉流动性后,价格短暂偏离,等市场恢复后价格又弹回来。就像你用手按一下水面,手拿开,水又平了。
  • 永久冲击:你的交易改变了市场对资产价值的看法,价格回不去了。比如你大举买入,市场觉得「这票有内幕消息」,于是价格永久性上移。

我个人习惯把临时冲击看作「流动性成本」,永久冲击看作「信息成本」。做交易决策时,这两笔账都得算清楚。

4.2 线性冲击模型

线性冲击模型是最简单的假设——冲击大小与交易量成正比。

公式长这样:

I = α × Q

其中 I 是冲击成本(以基点计),Q 是交易量(以股数或金额计),α 是冲击系数。

举个例子:假设某只股票的 α = 0.001(每交易1000股产生1个基点的冲击),你买入10万股,那么冲击成本就是:

I = 0.001 × 100,000 = 100 基点 = 1%

嗯,这里要注意——线性模型虽然简单,但现实中很少成立。为什么?因为市场深度不是均匀的。你想想看,吃掉第一层挂单和吃掉第十层挂单,难度完全不一样。

核心问题:线性模型假设市场深度无限且均匀,这显然不现实。

我在项目中遇到过一只流动性极差的港股,用线性模型估算冲击成本只有0.3%,结果实际成交时滑点高达2.1%。从那以后,我对线性模型就多留了个心眼。

4.3 平方根冲击模型

平方根模型就聪明多了。它认为冲击成本与交易量的平方根成正比:

I = σ × √(Q / V)

其中 σ 是波动率,Q 是你的交易量,V 是市场总成交量。

这个公式的直觉是:你的交易量占市场总成交量的比例越大,冲击成本就越大,但增速是递减的。说白了,交易100股和交易10000股,冲击成本不是100倍的关系,而是10倍的关系。

实战技巧:平方根模型在流动性较好的股票上表现不错。我一般用它做快速估算,误差通常在20%以内。

举个例子:某股票日成交量 V = 1000万股,波动率 σ = 20%,你计划买入 Q = 10万股。

I = 0.20 × √(100,000 / 10,000,000) = 0.20 × √0.01 = 0.20 × 0.1 = 0.02 = 2%

也就是说,你的冲击成本大约是2%。这个数字在实际交易中是比较合理的。

4.4 Almgren-Chriss框架

终于聊到重头戏了。Almgren-Chriss框架(简称A-C模型)是量化交易领域最经典的冲击模型之一。它把交易决策分解成两个部分:

  1. 永久冲击:与你的累计交易量成正比,影响的是「最终执行价格」
  2. 临时冲击:与你的交易速率成正比,影响的是「瞬时执行价格」

A-C模型的核心公式是这样的:

永久冲击:ΔS = γ × X
临时冲击:ΔS_temp = η × v

其中 X 是总交易量,v 是交易速率(每秒交易多少股),γ 和 η 是冲击系数。

这个框架最厉害的地方在于——它把冲击成本和等待风险放在一起权衡。你交易得越快,冲击成本越高;交易得越慢,等待期间价格波动的风险越大。

核心思想:最优交易策略就是在「冲击成本」和「等待风险」之间找到平衡点。

我曾经用A-C框架优化过一个ETF套利策略的拆单逻辑。原来我们用的是固定时间间隔下单,冲击成本高得吓人。改用A-C模型后,根据实时波动率和流动性动态调整下单速率,冲击成本降低了约35%。

4.5 三种模型的对比

模型 复杂度 适用场景 我个人的使用频率
线性冲击模型 流动性极好的大盘股,粗略估算 偶尔用,做快速筛查
平方根冲击模型 流动性一般的股票,日常风控 经常用,性价比高
Almgren-Chriss框架 大单交易,算法拆单,最优执行 核心策略必用

4.6 知识体系结构图

下面这张图展示了市场冲击模型的核心逻辑和它们之间的关系:

市场冲击模型知识体系 市场冲击模型 线性冲击模型 平方根冲击模型 Almgren-Chriss框架 特性 I = α × Q 假设市场深度无限且均匀 特性 I = σ × √(Q/V) 冲击与交易量平方根成正比 特性 永久冲击 + 临时冲击 权衡冲击成本与等待风险 适用:大盘股、快速估算 精度:低 适用:日常风控、中等流动性 精度:中 适用:大单交易、算法拆单 精度:高 选择模型时,先问自己:交易量多大?流动性如何?

避坑指南:我曾经在回测中直接用线性模型做策略优化,结果实盘时冲击成本比回测高了3倍。后来才意识到,回测时用的是历史平均深度,而实盘时市场深度已经变了。所以,冲击模型的参数一定要动态更新,别偷懒。

好了,关于市场冲击模型就聊这么多。三种模型各有千秋,关键是根据你的交易场景选对工具。线性模型简单但粗糙,平方根模型实用但有限,A-C框架全面但复杂。我个人建议:日常风控用平方根,大单执行用A-C,至于线性模型...嗯,偶尔用来做做快速筛查还行。


公众号:蓝海资料掘金营,微信deep3321