4、单品种波动率建模:历史波动率、GARCH模型、波动率预测

波动率这东西,说白了就是市场的「脾气」。

做商品期货,你如果看不懂波动率,那仓位管理基本靠猜。我个人习惯,每次接手一个新品种,第一件事就是先把它的波动率「画像」画出来。今天我们就聊聊怎么给单个品种的波动率建模。

4.1 历史波动率:最朴素的度量

历史波动率(HV)是最基础的方法。它不复杂,但很实用。

计算逻辑很简单:取过去N天的收益率,算标准差,再年化一下。

import numpy as np
import pandas as pd

def historical_volatility(price_series, window=20, trading_days=252):
    log_returns = np.log(price_series / price_series.shift(1))
    hv = log_returns.rolling(window=window).std() * np.sqrt(trading_days)
    return hv

嗯,这里要注意:窗口长度的选择很关键。

  • 短窗口(10-20天):反应快,但噪声大。适合短线交易。
  • 长窗口(60-120天):平滑,但滞后。适合趋势跟踪。
我的经验: 我在做螺纹钢时发现,20天HV和60天HV的差值,其实是个不错的「波动率加速度」指标。差值突然拉大,往往意味着行情要变盘。

4.2 GARCH模型:波动率的记忆效应

历史波动率有个硬伤——它假设过去每一天的权重都一样。但真实市场不是这样的。

你会发现,大波动之后往往跟着大波动,小波动之后跟着小波动。这就是波动率聚集效应。GARCH模型就是专门干这个的。

GARCH(1,1)是最常用的形式:

σ²_t = ω + α * ε²_{t-1} + β * σ²_{t-1}

三个参数的含义:

  • ω:长期平均波动率水平
  • α:对新信息的敏感度(冲击系数)
  • β:波动率的衰减速度(持续性系数)

α+β 越接近1,波动率的记忆性越强。我曾经遇到一个品种,α+β=0.98,这意味着一次冲击的影响会持续很久很久。

避坑指南: 我曾经在原油期货上吃过亏。GARCH模型对极端值非常敏感,如果数据里有「黑天鹅」事件(比如2020年4月负油价),一定要先做异常值处理,否则模型会完全跑偏。

4.3 波动率预测:从历史到未来

建模不是为了看过去,而是为了预测未来。GARCH模型天然支持向前预测。

from arch import arch_model

# 拟合GARCH(1,1)
model = arch_model(returns, vol='Garch', p=1, q=1)
res = model.fit()

# 预测未来5天波动率
forecast = res.forecast(horizon=5)
predicted_vol = np.sqrt(forecast.variance.values[-1, :])

预测结果怎么用?我一般做三件事:

  1. 动态保证金调整:预测波动率上升,就提高保证金比例
  2. 止损宽度设定:用预测波动率的1.5倍作为ATR止损
  3. 仓位规模计算:波动率越高,仓位越小(风险平价逻辑)
核心观点: 波动率预测不是算命,它给的是一个「概率分布」的估计。你永远无法精确知道明天的波动率是多少,但你可以知道它大概率落在什么区间。

4.4 三种方法的对比

方法 优点 缺点 适用场景
历史波动率 简单、透明、计算快 滞后、等权重 快速评估、回测基准
GARCH模型 捕捉聚集效应、可预测 参数估计复杂、对异常值敏感 中高频交易、风险管理
隐含波动率 前瞻性、包含市场预期 需要期权数据、有偏 期权定价、波动率套利

你想想看,这三种方法其实对应了不同的「时间视角」。历史波动率看后视镜,GARCH看当前路况,隐含波动率看前方路标。真正成熟的交易者,会把这三种结合起来用。

4.5 知识体系框架

下面这张图,是我自己梳理的波动率建模全流程。每次做新项目,我都会对着它走一遍。

单品种波动率建模知识体系 原始价格数据 对数收益率计算 历史波动率(HV) GARCH模型 隐含波动率(IV) 波动率曲面/预测值 波动率预测序列 市场情绪指标 风险管理决策

这张图把整个流程串起来了。从原始数据开始,经过收益率计算,然后分三条路走——历史波动率、GARCH、隐含波动率。最后汇聚到风险管理决策上。

我个人习惯,在实际项目中至少同时跑HV和GARCH两条线。如果两者方向一致,那决策的置信度就高很多。如果出现背离,就要警惕了——市场可能在酝酿变化。

一句话总结: 波动率建模不是学术游戏,它是你仓位管理的「雷达」。雷达越准,你在风浪中翻船的概率就越低。

公众号:蓝海资料掘金营,微信deep3321