协整与半衰期¶
定义¶
价差若服从带均值回归的过程,半衰期是价差预期收回一半偏离所需的时间。
公式¶
\[
\Delta y_t=\lambda y_{t-1}+\varepsilon_t
\]
\(\lambda=-0.07\) 时,离散半衰期 \(\ln 0.5/\ln(1+\lambda)=9.55\) 天,连续近似 \(-\ln 2/\lambda=9.90\) 天。两个数都是这个 \(\lambda\) 的换算,不是某对股票估出来的。
直觉¶
\(\lambda\) 越接近 0,价差收回越慢。半衰期很长时,名义上的均值回归在你的持有期里像趋势。
实务要点 / 常见误区¶
- 先检验价差是否平稳,再谈半衰期。两个随便的价格序列做差,不一定协整。
- 离散公式和连续公式差大约 0.35 天,不要把其中一个说成算错。
- 半衰期不是持有期。仓位还要受只做多和杠杆上限 1.0 约束。
相关概念¶
代码¶
import math
def half_life_days(lam: float) -> tuple[float, float]:
# lam 是价差对自身滞后项的斜率,均值回归时为负。
discrete = math.log(0.5) / math.log(1.0 + lam)
continuous = -math.log(2.0) / lam
return discrete, continuous
教材:M02 交易策略范式