2. 波动率基础

在策略波动率目标与动态杠杆的实战中,波动率不是抽象概念,而是直接决定仓位大小的输入变量。若把波动率目标策略比作一台自动调节水量的阀门,那么波动率就是水压读数:读错了,阀门开度就会错,风险暴露随之失控。本节聚焦三种最常用的波动率口径——历史波动率、隐含波动率、已实现波动率,讲清它们的计算逻辑、适用场景与关键区别。

一、核心原理:三种波动率分别回答什么问题

波动率本质上是对收益率不确定性的度量。三种口径的差异,首先来自“看过去、看未来还是看当下”的时间视角不同。

  • 历史波动率(Historical Volatility, HV):基于过去一段时间的已实现收益率序列,用统计方法回溯计算。它回答的是“过去这段时间,价格实际波动有多大”。
  • 隐含波动率(Implied Volatility, IV):从期权市场价格反推出来的市场预期波动率。它回答的是“市场参与者愿意为未来波动支付多少价格”。
  • 已实现波动率(Realized Volatility, RV):在给定时间窗口内,用高频或日频收益率实际计算出的波动率,通常用于事后评估或作为波动率预测的基准。它回答的是“这段时间内,波动实际落地是多少”。

三者的关系可以这样理解:HV 是 RV 的一种常见计算形式,RV 更强调“已发生”的实测值;IV 则是前瞻性预期,带有风险溢价和供需信息。波动率目标策略通常以 HV 或 RV 作为仓位调节依据,同时参考 IV 判断市场情绪与对冲成本。

二、方法流程:计算步骤与参数选择

下面给出三种波动率的标准计算流程。实战中,参数选择比公式本身更影响结果。

1. 历史波动率(HV)

  1. 取标的收盘价序列,计算对数收益率:r_t = ln(P_t / P_{t-1})。
  2. 选定窗口长度 N,例如 20 日、60 日或 252 日。
  3. 计算窗口内收益率标准差,通常用样本标准差。
  4. 年化处理:乘以 sqrt(252)(日频)或 sqrt(52)(周频)。
import numpy as np
import pandas as pd

# 假设 df 含收盘价 close
df['ret'] = np.log(df['close'] / df['close'].shift(1))

def hist_vol(ret, window=20, ann=252):
    return ret.rolling(window).std() * np.sqrt(ann)

df['hv20'] = hist_vol(df['ret'], 20)
df['hv60'] = hist_vol(df['ret'], 60)

2. 隐含波动率(IV)

IV 不能直接由价格序列算出,而是通过期权定价模型反解。以 Black-Scholes 模型为例:已知期权市价、标的价格、行权价、到期时间、无风险利率,反推使理论价格等于市价的波动率参数。

# 伪代码:牛顿迭代反解 IV
def implied_vol(option_price, S, K, T, r, option_type='call'):
    sigma = 0.2  # 初始猜测
    for _ in range(100):
        price = bs_price(S, K, T, r, sigma, option_type)
        vega = bs_vega(S, K, T, r, sigma)
        diff = price - option_price
        if abs(diff) < 1e-6:
            break
        sigma -= diff / vega
    return sigma

实战中常用 VIX 或期权链的平值 IV 作为市场预期波动率代理。注意:IV 包含风险溢价,通常高于后续 RV。

3. 已实现波动率(RV)

RV 强调用实际发生的高频数据计算,常见形式为日内收益率平方和:

RV_t = sum(r_{t,i}^2)   # i 为日内第 i 个采样区间

若用日频数据,RV 与 HV 在窗口内计算方式接近,但 RV 更强调“已实现”这一事实,常用于波动率预测模型的标签或评估基准。

三、对比表格:三种波动率的关键差异

维度 历史波动率 HV 隐含波动率 IV 已实现波动率 RV
数据来源 过去价格序列 期权市场价格 实际高频/日频收益率
时间视角 回溯 前瞻预期 已发生实测
是否含溢价 否 通常含风险溢价 否
主要用途 仓位调节、风险预算 情绪判断、对冲成本 评估、预测基准
典型窗口 20/60/252 日 近月/次月期权 日内 5 分钟或日频
对策略影响 直接决定杠杆倍数 辅助判断是否降杠杆 验证波动率目标效果

四、案例与场景:波动率目标策略中如何选用

假设某策略设定年化目标波动率为 10%,当前标的 HV20 为 25%,则理论杠杆约为 10%/25% = 0.4 倍。若此时 IV 显著高于 HV,说明市场预期未来波动更大,可进一步压低杠杆;若 IV 低于 HV,则需警惕市场低估风险。

实战流程:每日收盘后计算 HV20 与 HV60,取两者较大值作为风险估计;若 IV 高于 HV 的 1.2 倍,则额外施加 0.8 的降杠杆系数。这样既尊重已实现波动,又纳入市场预期。

再比如,当 RV 持续低于 HV 时,说明实际波动比历史估计更小,策略可能过于保守;反之,RV 持续高于 HV,则说明历史窗口反应滞后,需要缩短窗口或引入 EWMA 加权。

五、误区与复盘

  • 误区一:把 IV 当成未来 RV 的无偏预测。IV 含风险溢价,长期看通常高于 RV,直接用它做仓位调节会系统性偏低杠杆。
  • 误区二:窗口越短越灵敏,但噪声也越大。HV5 反应快,但容易在震荡市频繁调仓;HV60 更稳,但滞后明显。建议多窗口结合。
  • 误区三:忽略收益率频率与年化因子。日频用 sqrt(252),周频用 sqrt(52),分钟频需按交易分钟数调整,否则波动率量级会错。
  • 误区四:用 RV 直接替代 HV 做实时仓位。RV 是事后值,若未做预测处理,容易“追涨杀跌”。
复盘要点:每次调仓后记录当时 HV、IV、RV 三者数值与后续实际波动,定期检查哪一口径对策略风险控制更有效。波动率目标不是预测波动,而是让仓位对波动变化保持敏感且可控。
三种波动率的数据链路与策略作用 历史波动率 HV 过去收盘价序列 滚动标准差 × √252 回溯 · 无溢价 · 仓位调节 隐含波动率 IV 期权市场价格 BS 模型反解 前瞻 · 含溢价 · 情绪判断 已实现波动率 RV 高频/日频收益率 平方和或标准差 已发生 · 无溢价 · 评估基准 波动率目标与动态杠杆决策 杠杆 ≈ 目标波动率 / 当前波动率估计 HV 定基准 · IV 调情绪 · RV 做复盘 三者结合,避免单一波动率口径导致的仓位偏差