第18章:冲击成本与Alpha衰减
信号衰减速度、冲击成本对策略夏普比率的影响。
做量化交易久了,你会发现一个挺扎心的现实:你辛辛苦苦挖出来的Alpha信号,一旦开始实盘交易,它自己就会慢慢“死掉”。
这不是玄学,是市场微观结构在起作用。说白了,你的交易行为本身,就在改变市场环境。
我个人习惯把这个问题拆成两个部分来看:一个是信号本身的衰减速度,另一个是交易带来的冲击成本。这两兄弟联手,直接决定了你策略的夏普比率能有多高。
18.1 信号衰减:为什么Alpha会“过期”?
先聊聊信号衰减。你想想看,一个有效的Alpha信号,本质上是对未来价格走势的一种预测。但市场不是静止的,参与者在学习,套利者在行动。
当你的信号被更多人发现并使用,它的预测能力就会下降。这就是信号衰减。
我在项目中遇到过一种情况:一个基于订单簿不平衡的日内信号,回测时夏普能做到3.0以上。结果实盘跑了不到两周,夏普直接掉到1.2。为什么?因为同策略的玩家太多了,大家都在抢跑,信号的价值被迅速抹平。
信号衰减通常有两种形式:
- 时间衰减: 信号预测能力随时间自然下降。比如一个基于隔夜新闻情绪的Alpha,开盘后几分钟内有效,半小时后就基本没用了。
- 竞争衰减: 其他交易者模仿或对冲你的信号,导致信号失效。这是最头疼的,因为你的对手在“学习”你。
嗯,这里要注意:回测中我们往往假设信号是“永葆青春”的,但实盘不是。回测里漂亮的夏普,可能只是因为你没考虑信号衰减。
18.2 冲击成本:交易本身就是一种“税”
冲击成本,说白了就是你的订单对市场价格造成的影响。你买,价格就涨;你卖,价格就跌。这个价差,就是冲击成本。
我刚开始做高频策略时,总觉得冲击成本是个小问题。直到有一次,一个看起来利润丰厚的套利策略,扣掉冲击成本后居然是亏钱的。那次教训让我明白:冲击成本不是可以忽略的细节,它是策略的核心约束。
冲击成本通常与以下几个因素相关:
- 订单规模: 你下的单子越大,冲击成本越高。这不是线性的,往往是指数级的。
- 市场流动性: 流动性越差,冲击成本越大。小盘股、冷门合约,都是冲击成本的重灾区。
- 交易速度: 你下单越快,冲击成本可能越大。因为快速下单往往意味着你无法等待对手盘出现。
18.3 冲击成本与Alpha衰减的“化学反应”
这两个因素不是孤立的。它们会互相放大,形成一种恶性循环。
你想想看:你的Alpha信号告诉你,某只股票要涨。你开始买入。但你的买入行为本身推高了价格,这会让你的信号看起来“已经兑现”了。结果就是,你还没买够,价格已经涨到位了。Alpha衰减了,冲击成本也付出了。
我习惯用一个简单的公式来理解这个问题:
实际收益 = 信号预测收益 - 冲击成本 - 衰减损失
这个公式看着简单,但背后藏着很多门道。比如,信号衰减速度越快,你就越需要快速交易来“抢”利润。但快速交易又会放大冲击成本。这是一个两难的选择。
18.4 对夏普比率的影响:一个量化视角
夏普比率衡量的是单位风险下的超额收益。冲击成本和Alpha衰减,都会从分子(收益)和分母(风险)两个方向同时攻击夏普比率。
具体来说:
- 收益端: 冲击成本和衰减直接吃掉你的预期收益。收益少了,夏普自然下降。
- 风险端: 冲击成本会引入额外的执行风险。比如,你本来想买1000股,结果因为冲击成本只买到了800股,仓位不完整,这本身就是一种风险。另外,衰减速度的不确定性也会增加收益的波动性。
我见过一个很典型的案例:一个中频趋势策略,回测夏普2.5。实盘时,因为信号衰减和冲击成本,夏普降到了1.0。后来我们做了优化,把交易频率降低了一半,同时改进了执行算法,夏普又回升到了1.8。你看,这个优化过程,本质上就是在平衡衰减速度和冲击成本。
18.5 如何量化分析?
光说理论不行,得能算。我个人习惯用以下步骤来做量化归因:
- 估算信号衰减曲线: 用历史数据拟合信号预测能力随时间的变化。比如,用不同持有期的夏普比率来画一条衰减曲线。
- 建立冲击成本模型: 常用的有平方根模型(冲击成本与订单规模的平方根成正比)或Almgren-Chriss模型。
- 模拟执行过程: 把信号衰减和冲击成本同时纳入回测,看看策略的实际表现。
- 计算调整后的夏普比率: 用模拟后的收益和波动,重新计算夏普。
下面是一个简单的冲击成本模型示例:
# 一个简单的平方根冲击成本模型
def impact_cost(order_size, avg_volume, volatility):
"""
order_size: 订单规模(股数)
avg_volume: 日均成交量
volatility: 日波动率
"""
participation_rate = order_size / avg_volume
cost = 0.1 * volatility * (participation_rate ** 0.5)
return cost
这个模型虽然简单,但在很多场景下已经够用了。我建议你根据自己交易的市场和品种,调整里面的参数。
18.6 知识体系总览
下面这张图,是我自己梳理的本章知识结构。它把信号衰减、冲击成本、夏普比率之间的关系画清楚了。
这张图的核心逻辑是:Alpha信号和交易执行是两条线,但最终汇聚到实际收益上。信号衰减和冲击成本就像两把刀,同时砍向你的利润。最后,夏普比率就成了那个“受害者”。
18.7 小结
这一章我们聊了冲击成本和Alpha衰减这两个“隐形杀手”。它们不会直接出现在你的回测报告里,但实盘时却会实实在在地吃掉你的利润。
我个人觉得,做量化交易最难的不是找到Alpha,而是如何在实盘中保护好这个Alpha。冲击成本和衰减速度,就是你需要时刻盯着的两个指标。
记住一句话:回测是理想,实盘是现实。把冲击成本和衰减纳入你的策略设计,你的夏普比率才会更接近回测时的样子。