2. 波动率基础
在波动率目标与动态仓位控制体系中,波动率不是附属指标,而是仓位决策的核心输入。理解波动率的定义、类型与计算口径,决定了后续目标波动率设定、杠杆缩放和风险预算是否可靠。本节从定义出发,梳理历史波动率、隐含波动率与已实现波动率三类口径,并给出可落地的计算流程与常见误区。
一、核心原理:波动率到底是什么
波动率衡量的是资产收益率围绕其均值波动的离散程度,通常以年化标准差表示。若把日收益率序列记为 rt,波动率刻画的是“未来一段时间收益率可能偏离均值的幅度”。它不等于风险本身,但在正态近似下,波动率越大,极端亏损的概率与幅度通常越高。
金融含义上有三点必须明确:第一,波动率是前瞻性概念,我们真正关心的是持仓期间未来的波动;第二,波动率具有聚集性,高波动往往成簇出现,这为波动率目标策略提供了可预测性基础;第三,波动率是可缩放的,若将仓位乘以 k,组合波动率近似乘以 k,这正是动态仓位控制的数学前提。
二、三类波动率:历史、隐含与已实现
实务中常说的波动率至少有三类,它们的时间指向和用途完全不同:
- 历史波动率(HV):基于过去一段时间的收益率序列计算,是回看口径,常用于估计当前波动水平与设定基准。
- 隐含波动率(IV):从期权价格反推的市场对未来波动的预期,是前瞻口径,反映市场定价与风险溢价。
- 已实现波动率(RV):在指定区间内实际发生的波动,通常用高频或日频收益计算,是事后验证口径,用于评估预测误差。
三者的关系可以概括为:HV 是“过去发生了什么”,RV 是“这段时间实际实现了多少”,IV 是“市场愿意为未来波动付多少钱”。在波动率目标策略中,HV 与 RV 用于建模和回测,IV 用于风险预警与仓位上限约束。
三、计算方法与流程
最常用的历史波动率计算采用对数收益率标准差并年化。流程如下:
- 取收盘价序列 Pt,计算对数收益率 rt = ln(Pt / Pt-1)。
- 在窗口 N 内计算收益率标准差 σdaily。
- 按年化因子缩放:σannual = σdaily × √252(日频、每年约252个交易日)。
- 若需更贴近近期波动,可使用指数加权(EWMA)或 GARCH 类模型替代简单标准差。
import numpy as np
import pandas as pd
# 假设 df 含 'close' 列
df['ret'] = np.log(df['close'] / df['close'].shift(1))
# 20日历史波动率(年化)
N = 20
df['hv_20'] = df['ret'].rolling(N).std() * np.sqrt(252)
# EWMA 波动率(lambda=0.94,RiskMetrics 常用)
lam = 0.94
df['ewma_var'] = df['ret'].pow(2).ewm(alpha=1-lam, adjust=False).mean()
df['ewma_vol'] = np.sqrt(df['ewma_var']) * np.sqrt(252)
print(df[['close','ret','hv_20','ewma_vol']].tail())
隐含波动率无法直接计算,需通过期权定价模型反解。以 Black-Scholes 为例,给定市场价格、行权价、到期时间、无风险利率与股息率,用数值方法求解使理论价格等于市场价格的 σ。实务中常用牛顿法或二分法,并注意隐含波动率微笑与期限结构。
| 类型 | 数据来源 | 时间指向 | 主要用途 | 常见陷阱 |
|---|---|---|---|---|
| 历史波动率 HV | 历史收盘价 | 回看 | 建模、基准设定 | 窗口选择敏感 |
| 已实现波动率 RV | 高频/日频收益 | 事后 | 验证预测误差 | 采样频率影响大 |
| 隐含波动率 IV | 期权价格 | 前瞻 | 风险预警、上限约束 | 含风险溢价,偏高 |
四、案例与场景:从波动率到仓位
假设某策略基准仓位为 100%,目标年化波动率为 10%。当前用 20 日 HV 估计的年化波动率为 20%,则目标仓位 ≈ 10% ÷ 20% × 100% = 50%。若波动率降至 10%,仓位可升至 100%;若升至 40%,仓位应降至 25%。这就是波动率目标最直接的动态仓位映射。
在真实场景中,还需考虑三点:一是波动率预测存在滞后,高波动后仓位调整可能偏慢;二是杠杆上限与流动性约束会限制实际仓位;三是隐含波动率飙升往往先于已实现波动率,可作为提前降仓的预警信号。
五、误区与复盘
- 误区一:把波动率等同于风险。波动率只刻画离散程度,不区分上行与下行,也不反映尾部风险与流动性风险。
- 误区二:窗口越短越灵敏越好。短窗口反应快但噪声大,容易频繁调仓、增加交易成本;长窗口稳定但滞后。
- 误区三:直接用 IV 做仓位分母。IV 含风险溢价,通常高于 RV,直接使用会导致仓位系统性偏低。
- 误区四:忽略年化因子与交易日差异。不同市场每年交易日不同,年化因子需按实际调整。
掌握波动率的定义、三类口径与计算方法,是后续设定目标波动率、构建预测模型和执行动态仓位控制的基础。只有在口径一致、计算可复现的前提下,波动率目标策略的收益风险特征才具备可解释性与可比较性。