2、冲击成本模型:线性冲击模型、平方根冲击模型、Almgren-Chriss模型框架
冲击成本这东西,说白了就是「你下单时,市场给你的惩罚」。你买得越急,价格就被你推得越高;你卖得越猛,价格就被你砸得越低。我刚开始做量化那会儿,总觉得冲击成本是个理论概念,直到有一次实盘回测跑得漂亮,一上实盘就亏钱——嗯,后来才发现,模型里根本没算冲击成本。
这一节,我们来拆解三个最经典的冲击成本模型。它们从简单到复杂,从粗糙到精细,基本覆盖了业内90%的应用场景。
2.1 线性冲击模型
线性冲击模型,是所有模型里最朴素的一个。它的假设很简单:价格冲击与交易量成正比。
公式长这样:
I(Q) = α · Q
其中:
I(Q)是冲击成本(单位:价格百分比或基点)Q是交易量(股数或合约数)α是冲击系数,由市场流动性决定
举个例子:假设某只股票α=0.0001,你买10万股,冲击成本就是0.0001×100,000 = 10个基点。也就是说,你的成交均价会比当前市价高0.1%。
关键点:线性模型只适用于小单交易。一旦Q超过市场深度的某个阈值,冲击成本会急剧上升,线性假设就失效了。
我个人习惯用线性模型做快速估算。比如在策略开发初期,我需要判断一个信号是否值得交易,用线性模型算一下冲击成本,如果比预期收益还高,那这个信号直接扔掉就行。
避坑指南:我曾经在回测中直接用线性模型,结果实盘时发现冲击成本比模型预测高了3倍。后来排查发现,我用的α是盘口数据的平均值,但实际交易时,盘口深度会动态变化。所以,α一定要用实时数据更新,别偷懒。
2.2 平方根冲击模型
线性模型太理想化了。真实市场里,冲击成本的增长速度比线性更快。你想想看,当你买入的量超过盘口最佳报价的挂单量时,你得吃掉更深的档位,价格自然跳得更快。
平方根模型就是为此而生。它的公式是:
I(Q) = β · √Q
这里:
β是市场冲击系数,通常与波动率和流动性相关Q是交易量
为什么是平方根?这其实来自市场微观结构的经验观察。大量实证研究表明,冲击成本与交易量的平方根近似成正比。我见过不少做市商和算法交易团队,都用这个模型做实时报价调整。
| 交易量Q | 线性模型 (α=0.0001) | 平方根模型 (β=0.001) |
|---|---|---|
| 10,000 | 1 bp | 10 bp |
| 100,000 | 10 bp | 31.6 bp |
| 1,000,000 | 100 bp | 100 bp |
你看,当交易量较小时,平方根模型的冲击成本比线性模型大得多。这更符合实际:小单交易时,你吃掉的是盘口最浅的流动性,冲击反而更明显。
注意:平方根模型虽然比线性模型好,但它仍然是一个静态模型。它假设市场条件不变,但实际交易中,波动率、买卖价差、订单流都会动态变化。所以,β参数需要定期校准。
2.3 Almgren-Chriss 模型框架
终于到了重头戏。Almgren-Chriss模型(简称A-C模型)是量化交易领域最经典的冲击成本模型之一。它把冲击成本拆成了两部分:永久冲击和临时冲击。
永久冲击:你买入后,价格不会完全恢复。因为你的交易向市场传递了信息,改变了供需平衡。
临时冲击:你买入时,价格被暂时推高。等你的订单执行完毕,价格会部分回落。
A-C模型的数学形式如下:
永久冲击:I_permanent(Q) = γ · σ · (Q / V)^(1/2)
临时冲击:I_temporary(Q) = η · σ · (Q / V)^(3/4)
其中:
σ是波动率V是市场日均成交量γ和η是模型参数
这个模型厉害的地方在于,它把冲击成本与市场状态(波动率、流动性)关联起来了。你想想看,同样一笔交易,在低波动、高流动性的市场里,冲击成本可能只有几个基点;但在高波动、低流动性的市场里,冲击成本可能飙升到几十个基点。
核心思想:A-C模型告诉我们,冲击成本不是固定的,而是与市场环境动态相关。这也是为什么很多算法交易系统都用它来做执行策略优化。
我记得有一次做ETF套利策略,需要同时买卖一篮子股票。如果用线性模型估算冲击成本,套利空间看起来很大;但用A-C模型一算,发现冲击成本几乎吃掉了所有利润。后来我调整了执行算法,把大单拆成小单,分散到不同时间段执行,才勉强跑出正收益。
2.4 三个模型的对比与选择
说了这么多,到底该用哪个?我个人的经验是:
- 线性模型:适合快速估算、策略初筛。别用它做精细执行。
- 平方根模型:适合中等精度的场景,比如做市商报价、日内交易策略。
- A-C模型:适合高精度场景,比如算法交易、大单拆分、套利策略。
下面这张图,是我自己整理的三个模型的核心逻辑对比:
我的建议:如果你刚开始做冲击成本分析,先从线性模型入手,跑通流程。等你对市场数据有了感觉,再切换到平方根模型。最后,当你的策略需要精细执行时,再上A-C模型。别一上来就搞最复杂的,容易迷失在参数调优里。
嗯,这一节的内容就到这里。冲击成本模型是量化交易执行层面的基石,理解它们,你才能知道自己的策略到底赚的是「alpha」还是「流动性溢价」。