4、波动率口径详解:历史波动率、已实现波动率、隐含波动率、波动率锥

波动率是量化回测与期权定价中最核心的风险度量指标。不同口径的波动率在计算逻辑、数据来源与应用场景上存在本质差异。本章系统梳理四种主流波动率口径,并重点说明其在回测标签校准与模型训练中的对齐方式。

4.1 四种波动率口径总览

波动率类型 数据来源 计算方向 核心用途 回测标签适用性
历史波动率(HV) 历史收盘价序列 向后看 风险归因、波动率聚类分析 特征工程(X)
已实现波动率(RV) 高频日内价格数据 向后看(精细) 波动率预测标签、波动率锥构建 标签(y)
隐含波动率(IV) 期权市场交易价格 向前看(预期) 市场情绪、定价偏差、波动率曲面 特征(X)或校准基准
波动率锥(Volatility Cone) RV 或 HV 的分位数统计 截面统计 波动率期限结构、异常值检测 标签校准、阈值设定
口径对齐要点: 在回测标签生成中,已实现波动率(RV) 是默认的标签口径;历史波动率(HV)与隐含波动率(IV)通常作为特征输入;波动率锥用于判断当前 RV 在历史分布中的相对位置,辅助标签阈值校准。

4.2 历史波动率(HV)

历史波动率基于过去 N 个交易日的收盘价对数收益率计算标准差,再年化。公式如下:

# 历史波动率计算(Python 示例)
import numpy as np

def historical_volatility(prices, window=20, trading_days=252):
    log_returns = np.log(prices[1:] / prices[:-1])
    rolling_std = np.sqrt(np.sum((log_returns[-window:])**2) / (window - 1))
    return rolling_std * np.sqrt(trading_days)
  • 窗口选择: 常用 20 日(月)、60 日(季)、252 日(年)。窗口越短,波动率对近期事件越敏感,但噪声越大。
  • 局限性: 等权处理所有历史数据,无法反映波动率聚集的时变特征;对跳跃事件反应滞后。
  • 回测角色: 作为特征(X)用于波动率预测模型,或作为波动率锥的输入之一。

4.3 已实现波动率(RV)

已实现波动率利用日内高频数据(如 5 分钟、1 分钟或 tick 级数据)计算,是真实波动率的无偏估计量。RV 是回测标签生成的首选口径。

# 已实现波动率计算(5 分钟频率示例)
def realized_volatility(high_freq_prices, trading_days=252):
    # high_freq_prices: 日内等间隔价格序列
    log_returns = np.log(high_freq_prices[1:] / high_freq_prices[:-1])
    rv = np.sqrt(np.sum(log_returns**2) * trading_days)
    return rv
特性 HV(日频) RV(高频)
数据频率 日收盘价 5 分钟 / 1 分钟 / tick
估计精度 低(受采样误差影响大) 高(接近真实波动率)
微观结构噪声 几乎无影响 需做噪声滤波(如子采样法)
回测标签适用性 不推荐作为标签 推荐作为标签(y)
注意: 使用 RV 作为标签时,必须对齐回测的持有期。例如,若回测持有期为 5 个交易日,则 RV 应计算未来 5 个交易日的日内累积波动,而非单日 RV 的简单平均。

4.4 隐含波动率(IV)

隐含波动率是从期权市场价格反推出的波动率,反映市场对未来波动率的预期。IV 是前瞻性指标,与 HV/RV 存在系统性偏差。

  • 计算方式: 通过期权定价模型(如 Black-Scholes)迭代求解,使模型价格等于市场价格。
  • 关键特征:
    • 波动率微笑/偏斜: 不同行权价的 IV 不同,反映市场对尾部风险的定价。
    • 期限结构: 不同到期日的 IV 不同,形成波动率曲面。
    • 风险溢价: IV 通常高于 RV(方差风险溢价),差值可作为特征。
  • 回测角色: 作为特征(X)或作为标签校准的参考基准(例如,当 IV 显著高于 RV 时,可能预示波动率高估)。

4.5 波动率锥(Volatility Cone)

波动率锥通过计算不同持有期下 RV 的分位数(如 10%、25%、50%、75%、90%),形成波动率的期限结构分布。它解决了“当前波动率是否异常”的问题。

波动率锥构建步骤:
  1. 选择回测窗口(如过去 5 年)。
  2. 计算不同持有期(1 日、5 日、20 日、60 日、120 日)的 RV 序列。
  3. 对每个持有期,计算 RV 的分位数(10th、25th、50th、75th、90th)。
  4. 将分位数按持有期绘制成曲线,形成锥形图。
波动率锥结构示意图 波动率锥(Volatility Cone)结构 1D 5D 20D 60D 120D 持有期 0% 50% 100% RV 分位数 90% 75% 50% 25% 10% 锥形区域 = 波动率分布 当前 RV

波动率锥在回测标签校准中的应用:

  • 异常值检测: 若当前 RV 超过 90% 分位线,标记为极端波动事件,在标签生成中做截断或 Winsorize 处理。
  • 阈值设定: 根据锥的中位数(50%)和四分位距(IQR)设定波动率标签的“高/中/低”分类阈值。
  • 期限结构对齐: 回测持有期与锥的持有期必须一致。例如,20 日持有期回测应使用 20D RV 及其对应的锥分位数。

4.6 四种口径在回测标签校准中的协同

波动率口径协同流程图 回测标签校准:四种波动率口径协同流程 历史波动率 HV 隐含波动率 IV 已实现波动率 RV 波动率锥校准 校准后波动率标签 特征输入 校准基准 标签生成 阈值/异常检测
最佳实践:
  • 以 RV 作为标签(y),持有期与回测持有期严格对齐。
  • 以 HV 和 IV 作为特征(X),捕捉波动率的历史状态与市场预期。
  • 使用 波动率锥 对 RV 标签进行后处理校准:对超出锥 90% 分位数的标签做截断,对低于 10% 分位数的标签做地板保护。
  • 定期(如每季度)重新计算波动率锥,避免锥的分布因市场结构变化而失效。