跳转至

协整与半衰期

定义

价差若服从带均值回归的过程,半衰期是价差预期收回一半偏离所需的时间。

公式

\[ \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 交易策略范式