2. 市场冲击模型:瞬时冲击、永久冲击、冲击成本估算公式

做量化交易,尤其是大单交易,最怕什么?

怕你一进场,价格就跑了。

你想想看,本来想买100万股,结果刚买了10万股,股价就窜上去了。后面的90万股,全买在高位。这就是市场冲击在作祟。

我个人习惯把市场冲击拆成两块来看:瞬时冲击永久冲击。这两兄弟,一个像过路财神,一个像跟屁虫,处理不好,你的交易成本就失控了。

2.1 瞬时冲击:流动性提供者的“过路费”

瞬时冲击,说白了就是你的大单子吃掉了订单簿上的流动性,导致价格瞬间偏离。

举个例子。假设某股票当前买一价10.00元,卖一价10.01元。你想买10万股,但卖一到卖五总共才挂了5万股。你怎么办?只能把卖一到卖五全吃掉,然后还得往上扫卖六、卖七……

价格就这样被你推高了。这个推高的部分,就是瞬时冲击。

我在项目中遇到过一种情况:某次我们执行一个ETF套利策略,需要快速买入一篮子股票。其中有一只小盘股,流动性极差。我们一进场,价格直接跳了三个档位。当时我就意识到,瞬时冲击的估算,直接决定了你的策略能不能赚钱

核心公式(简化版):

瞬时冲击成本 ≈ 订单量 × 价格弹性系数

其中,价格弹性系数 = (价格变化百分比) / (订单量占日均成交量的百分比)

嗯,这里要注意:这个公式是理想化的。实际交易中,订单簿的形状、对手盘的挂单深度,都会影响瞬时冲击的大小。

2.2 永久冲击:信息泄露的“后遗症”

永久冲击就更有意思了。它指的是你的交易行为,被市场解读为“有内幕消息”或者“有大资金在布局”,从而导致价格永久性地改变了。

为什么会这样?

因为市场是聪明的。你一个大单子砸下去,做市商和算法交易系统会立刻警觉:“有人在大规模买入,是不是有什么利好?”于是他们开始跟风,把价格推到一个新的均衡位置。

我曾经吃过这个亏。有一次我们执行一个建仓计划,分三天完成。第一天买完,第二天股价就涨了2%。我当时还以为是市场行情好,后来复盘才发现,是我们的交易行为被高频交易者捕捉到了,他们提前抢跑了。

避坑指南:

我曾经以为只要把大单拆成小单,就能避免永久冲击。后来发现,如果拆单的节奏太有规律,比如每5分钟固定买1000股,算法交易系统照样能识别出来。所以,拆单不仅要拆量,还要拆时间,甚至要加入随机性

2.3 冲击成本估算公式:实战中的“三板斧”

好了,理论讲完了,咱们来点实在的。冲击成本到底怎么算?我一般用三个模型,分别对应不同的场景。

2.3.1 线性冲击模型(最常用)

这个模型假设冲击成本与订单量成正比。简单粗暴,但够用。

冲击成本 = α × (订单量 / 日均成交量) × 波动率 × 价格

其中,α是一个经验系数,一般在0.5到2之间。波动率越高,α取值越大。

我个人习惯用这个模型做快速估算。比如,某股票日均成交1亿,波动率20%,价格100元。你想买1000万,那么:

冲击成本 ≈ 1.0 × (1000万 / 1亿) × 20% × 100 = 2元/股

也就是说,你的买入均价会比当前价格高2元左右。这个估算,能帮你快速判断这笔交易划不划算。

2.3.2 平方根冲击模型(更精确)

这个模型考虑了市场深度和订单簿的形状。它认为冲击成本与订单量的平方根成正比。

冲击成本 = β × √(订单量 / 市场深度) × 波动率 × 价格

β也是一个经验系数,通常在0.1到0.5之间。市场深度越浅,β取值越大。

我的经验:

对于流动性好的股票(比如沪深300成分股),用线性模型就够了。但对于小盘股、ST股,我建议用平方根模型。因为小盘股的订单簿很薄,你的单子一进去,价格跳得特别厉害。平方根模型能更好地捕捉这种非线性效应。

2.3.3 Almgren-Chriss模型(机构级)

这个模型是量化交易界的经典。它把冲击成本拆成了瞬时和永久两部分,并且考虑了时间因素。

总冲击成本 = 瞬时冲击 + 永久冲击
瞬时冲击 = γ × 交易速率 × 波动率
永久冲击 = η × 累计成交量 × 波动率

其中,γ和η是模型参数,需要通过历史数据拟合得到。

我记得有一次,我们团队用这个模型优化了一个大单执行策略。通过调整交易速率,我们把冲击成本降低了15%。嗯,效果还是很明显的。

2.4 知识体系图:冲击模型的核心逻辑

下面这张图,是我自己总结的。它把冲击模型的三个层次、两个维度,以及它们之间的关系,都画出来了。

市场冲击模型知识体系 瞬时冲击 永久冲击 特征:吃掉订单簿流动性 影响:价格瞬间偏离,随后恢复 特征:信息泄露,市场跟风 影响:价格永久性改变 线性冲击模型 α × (Q/V) × σ × P 平方根冲击模型 β × √(Q/D) × σ × P Almgren-Chriss模型 γ×速率 + η×累计量 核心目标:在瞬时与永久冲击之间找到最优平衡

2.5 实战中的选择建议

说了这么多,到底用哪个模型?我给大家一个简单的决策树:

场景 推荐模型 原因
流动性好的大盘股 线性冲击模型 计算简单,误差可接受
流动性差的小盘股 平方根冲击模型 能捕捉非线性冲击效应
机构级大单执行 Almgren-Chriss模型 考虑时间维度,更精确
日内高频交易 瞬时冲击模型为主 永久冲击影响较小

一个小技巧:

如果你不确定用哪个模型,可以先用线性模型算一个粗略值,然后用平方根模型算一个精细值。如果两者差距在10%以内,用哪个都行。如果差距超过20%,说明这只股票的流动性有问题,建议谨慎交易。

好了,关于市场冲击模型,我就讲这么多。记住一句话:冲击成本不是算出来的,是管出来的。模型只是给你一个参考,真正的功夫,在于如何根据实时市场情况,动态调整你的交易策略。


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