Alpha 因子:是什么让一个量化信号真正有效
Alpha 因子是将原始市场数据映射为预测未来收益的标量信号的转换函数。不是所有因子都是 alpha——以下是区分真假的方法。
每个量化策略都从同一个问题开始:我应该用什么数据来预测收益?答案是 alpha 因子——从市场数据派生出的标量信号,预测哪些资产会上涨。
但问题在于:大多数在回测中看起来有预测力的因子实际上什么都没预测。它们捕获的是噪声、数据挖掘偏差或市场微观结构伪影,在样本外不会持续。
这篇文章是关于区分真实 alpha 因子和统计幻象的。
Alpha 因子,技术上是什么?
Alpha 因子是一个函数 f: (data) → ℝ,对每个资产在每个时间点产生一个实值信号。信号用于对资产排名——买入排名最高的,卖出排名最低的——期望这个排名能预测未来收益。
理想形式:
其中 X_t^(i) 是资产 i 在时间 t 的特征数据,α_i^(t) 是预测收益或排名分数。
实践中,因子有多种形式:
- 简单:P/E、book-to-market、动量
- 复杂:ML 模型输出、NLP 情感分数、订单流指标
关键区别在于 因子(数据转换)和 alpha(真正预测收益并有真实优势的因子)。大多数因子不是 alpha。
真实 Alpha 的三个属性
属性 1:预测力随时间稳定。
真实 alpha 在不同市场结构下具有一致的预测力。如果你的因子在 2015-2019 年表现出色但在 2020-2024 年完全失效,它不是 alpha——它是结构性依赖的模式,可能已经被套利或停止工作。
检查:绘制滚动窗口的 IC(信息系数)。如果随时间衰减,要怀疑。
属性 2:经济机制可识别。
你能解释为什么因子有效。例如:
- 价值(book-to-market):便宜股票会均值回归,因为盈利改善或市场对暂时坏消息反应过度。
- 动量:过去赢家继续跑赢,因为信息缓慢扩散、机构惰性和投资者行为偏差。
- 盈利能力:高 ROE 的高质量公司获得持久租金,市场不会立即完全定价。
「算法模型发现的」不是经济机制。
属性 3:能存活交易成本。
日换手率 0.05% 且每天 10 bps 优势的因子有效。日换手率 2% 且每天 10 bps 优势的因子可能无效——交易成本吃掉了优势。
因子流水线
构建真实 alpha 因子是一个流水线:
原始数据 → 特征工程 → 因子构建 → 因子测试 → 组合构建
第 1 步:特征工程。 将原始数据(价格、基本面、另类数据)转换为候选特征。
第 2 步:因子构建。 将特征组合为单个标量信号。可以像对一个特征做 z-score 一样简单,也可以像复杂 ML 集成一样复杂。
第 3 步:因子测试。 使用 IC、rank IC 或其他指标测量预测力。测试统计显著性、时间稳定性及不同回望期的稳健性。
第 4 步:组合构建。 将因子信号转换为组合权重,考虑交易成本、风险约束和因子敞口。
因子质量的关键指标
IC(信息系数):
时间 t 的因子值与 t+1 的实现收益之间的相关性。持续 IC > 0.02 是中等水平。IC > 0.05 是强。IC ≈ 0 意味着无预测力。
Rank IC(Spearman vs Pearson): Spearman rank IC 测量单调关系,对异常值更稳健。使用 rank IC 作为主要指标。
IC t-stat: 不要只报告 IC——报告 IC 的 t 统计量。IC = 0.03 但 t-stat = 1.2 不显著。IC = 0.03 但 t-stat = 3.5 显著。
因子换手率: 排名从一期到下一期变化多少?高换手率 = 高交易成本。
多空价差: 买入顶五分位、卖出底五分位,定期再平衡的收益。这是你实际交易的。
因子形式:简单到复杂
简单因子(单变量):
def value_factor(book_to_market):
"""账面市值比因子——越高越便宜"""
return book_to_market
def momentum_factor(prices, lookback=252):
"""动量因子——过去 N 天收益"""
return prices / prices.shift(lookback) - 1
def volatility_factor(returns, window=20):
"""低波动因子——波动率越低越好"""
return -returns.rolling(window).std() # 负号因为我们要做空高波动
复杂因子(多变量组合):
def quality_value_momentum(fundamentals, prices, lookback=252):
"""
质量-价值-动量组合因子
"""
# 价值:book-to-market
value = fundamentals['book_value'] / fundamentals['market_cap']
# 质量:ROE
quality = fundamentals['net_income'] / fundamentals['book_value']
# 动量:12 个月回报
momentum = prices.pct_change(lookback)
# 标准化后等权组合
def zscore(x):
return (x - x.mean()) / x.std()
combined = zscore(value) + zscore(quality) + zscore(momentum)
return combined
在 Arithmion 上实践
在我们的平台上,每个策略都从因子分析开始。在因子进入组合之前,我们为每个因子计算 IC、rank IC、换手率和多空价差。因子研究模块提供实时反馈,帮助你在构建策略时识别有前景的 alpha 信号。
常见错误
没有经济直觉的数据挖掘。 你用 500 个特征跑 ML 模型,发现「10-K 中’收入’这个词出现的次数除以股价」以 IC = 0.04 在样本内预测收益。这可能是噪声——没有经济机制。
前视偏差。 如果你的因子使用了在预测时不可用的数据(如在收盘后才公布的财报但被纳入当天因子),你有前视偏差。因子看起来比实际更好。
存活者偏差。 如果你只在现有公司上测试而忽略退市公司,你在上偏。退市公司通常在退市前下跌——忽略它们使你的因子看起来更好。
对近期数据过拟合。 一个因子在 2018-2022 年表现出色但在 2010-2018 年表现糟糕,是结构性依赖的。它可能仍然有效,但你需要理解原因。
在知识体系中的位置
Alpha 因子是量化策略的基础。IC 分析测试因子是否有预测力。因子 decay 测量因子信号衰减速度。Regime detection 识别因子何时有效何时无效。因子组合覆盖如何将多个因子组合为一个组合。
参考文献
- López de Prado, Advances in Financial Machine Learning, 第 3 章. Wiley, 2018. ISBN: 978-1-119-48208-6.
- Aronson, Evidence-Based Technical Analysis, 第 8 章. Wiley, 2006. ISBN: 978-0-471-75671-9.
- Ang, Asset Management. Oxford University Press, 2014. ISBN: 978-0-19-995932-3.
- Green, Hand, Zhang, “The Characteristics That Provide Independent Information,” Review of Financial Studies, 2013.