3、市场冲击模型:线性冲击模型、平方根冲击模型、Almgren-Chriss框架
说到交易成本,最让人头疼的就是市场冲击。你想想看,当你下单的那一刻,市场价格就像被惊动的鱼群一样,开始波动。这个波动,就是我们要对付的「市场冲击」。
我个人习惯把市场冲击分成两块:一块是「临时冲击」,就是下单瞬间把价格打飞了,但过一会儿会恢复;另一块是「永久冲击」,就是你的订单太大,直接把市场水位抬高了,再也回不去。嗯,这个区分很重要,后面会反复用到。
3.1 线性冲击模型
最简单的模型,就是线性冲击。说白了,就是假设价格变动和你的交易量成正比。
公式长这样:
ΔP = λ × Q
其中:
- ΔP 是价格变化
- λ 是冲击系数(市场深度相关)
- Q 是你的交易量
我在项目中遇到过这种情况:用线性模型去拟合小单交易,效果还不错。但一旦交易量超过市场日均成交量的5%,这个模型就开始「撒谎」了。为什么?因为市场不是线性的,大单会引发更多跟风盘。
3.2 平方根冲击模型
这个模型更贴近现实。它认为市场冲击和交易量的平方根成正比。公式是:
ΔP = σ × √(Q / V)
其中:
- σ 是波动率
- Q 是你的交易量
- V 是市场总成交量
你想想看,为什么是平方根?因为市场有自恢复能力。你砸进去100万,市场不会真的跌100万,它会在中间吸收一部分。平方根模型就抓住了这个「边际递减」的特性。
我曾经用这个模型回测过A股的大单交易,效果比线性模型好很多。特别是对于交易量在日均成交量10%-30%之间的订单,误差能控制在15%以内。嗯,这里要注意,这个模型对极端行情(比如熔断)是失效的。
3.3 Almgren-Chriss框架
这个框架,可以说是市场冲击模型的「集大成者」。它把交易策略和冲击成本放在一起考虑,解决了「怎么拆单最划算」的问题。
核心思想很简单:
- 你交易越快,市场冲击越大
- 你交易越慢,等待风险越大(价格可能朝不利方向跑)
- 所以,要在速度和风险之间找个平衡点
Almgren-Chriss把冲击成本拆成两部分:
总成本 = 临时冲击成本 + 永久冲击成本 + 等待风险成本
其中:
- 临时冲击成本:和交易速度有关,速度越快成本越高
- 永久冲击成本:和总交易量有关,和速度无关
- 等待风险成本:和持仓时间有关,时间越长风险越大
我记得第一次用这个框架时,发现它给出的最优拆单策略,竟然和我的直觉完全相反。我以为应该匀速交易,但框架告诉我:一开始要快,后面要慢。为什么?因为一开始的冲击成本边际递增,后面的等待风险边际递增,两者一权衡,就形成了「先快后慢」的U型策略。
3.4 三种模型的对比
| 模型 | 适用场景 | 优点 | 缺点 |
|---|---|---|---|
| 线性冲击模型 | 小单交易、高流动性市场 | 简单、计算快 | 大单时误差大 |
| 平方根冲击模型 | 中等规模订单 | 更贴近现实 | 极端行情失效 |
| Almgren-Chriss框架 | 大单拆单、算法交易 | 综合考虑速度和风险 | 参数敏感、计算复杂 |
3.5 知识体系结构图
下面这张图,是我自己整理的三种模型的关系和适用边界。你一看就明白了。
这张图把三种模型的关系讲得很清楚。从左到右,模型的复杂度在增加,但同时也更贴近真实市场。我个人建议,刚开始做TCA分析时,先用平方根模型打个底,等熟悉了再上Almgren-Chriss框架。