📈 GARCH(1,1) 模型 · 波动率预测
动态对冲 · 金融工程
GARCH(1,1) 是波动率建模的核心工具,融合了条件方差的自回归与异方差特性。
本节详细拆解模型公式、平稳条件与预测公式,为动态对冲策略提供理论基础。
📐 1. GARCH(1,1) 模型公式
标准GARCH(1,1) 由均值方程与条件方差方程构成。设 \(r_t\) 为对数收益率,\(\sigma_t^2\) 为条件方差:
rt = μ + εt , εt = σt · zt , zt ~ i.i.d. N(0,1)
σt² = ω + α εt−1² + β σt−1²
其中参数约束:ω > 0,α ≥ 0,β ≥ 0,保证条件方差非负。
| 符号 | 含义 | 典型约束 |
| μ | 收益率均值 (通常接近0) | 实数 |
| ω | 常数项 / 基准方差 | ω > 0 |
| α | ARCH 项系数 (滞后残差平方冲击) | α ≥ 0 |
| β | GARCH 项系数 (方差持续性) | β ≥ 0 |
| εt−1² | t-1 时刻的残差平方 (新息) | — |
| σt−1² | t-1 时刻的条件方差 | — |
⚖️ 2. 平稳条件
GARCH(1,1) 过程为宽平稳(协方差平稳)的充要条件:
🔹 基本约束
ω > 0, α ≥ 0, β ≥ 0
🔹 平稳性条件
α + β < 1
🔹 无条件方差
σ² = ω / (1 − α − β)
🔹 意义
当 α+β < 1,冲击衰减,波动率均值回归
α+β 接近 1 表示波动率高度持续(IGARCH 特例),
此时无条件方差不存在,但模型仍可预测短期波动。
🔮 3. 波动率预测公式
给定 t 时刻信息集 ℱt,向前 k 步的条件方差预测:
𝔼[σt+k² | ℱt] = ω · (1 + (α+β) + … + (α+β)k−1) + (α+β)k · σt²
= ω · (1 − (α+β)k) / (1 − α−β) + (α+β)k · σt²
当 α+β < 1 且 k → ∞,预测收敛于无条件方差 σ² = ω/(1−α−β)。
📌 预测步骤 (迭代)
- 一步预测:σ̂t+1² = ω + α εt² + β σt²
- 多步预测:对 k ≥ 2,使用递归 σ̂t+k² = ω + (α+β) · σ̂t+k−1²
- 长期均值回归:预测值以指数速度向无条件方差衰减
🧪 4. Python 实现片段
使用 arch 库拟合 GARCH(1,1) 并预测波动率:
from arch import arch_model
returns = ... # 收益率序列
model = arch_model(returns, vol='Garch', p=1, q=1, mean='Zero')
res = model.fit(update_freq=0)
forecast = res.forecast(horizon=5)
print(forecast.variance.iloc[-1]) # 向前5步方差预测
🛡️ 5. 动态对冲中的应用
- Delta-Gamma 对冲:利用 GARCH 预测波动率曲面,调整期权头寸的 Vega 暴露。
- 风险预算:预测条件方差用于计算最优对冲比率 (例如最小方差对冲)。
- 波动率择时:当预测波动率上升时,增加对冲频率或使用宽跨式组合。
- 回测框架:滚动窗口预测 + 动态再平衡,评估对冲有效性 (EER)。