2. 金融波动率基础
在进入深度学习模型之前,必须先建立对“波动率”这一预测目标的统一认知。波动率不是价格的方向,而是价格变化的不确定性强度。它既是风险度量,也是期权定价、资产配置与交易策略的核心输入。本节从定义出发,梳理四类常见波动率的计算逻辑与适用边界,并解释波动率聚集与杠杆效应这两个对深度学习建模至关重要的经验规律。
一、核心原理:波动率到底是什么
波动率通常定义为收益率序列的标准差,衡量价格围绕均值波动的离散程度。若记资产在 t 时刻的对数收益率为 rt = ln(Pt/Pt-1),则波动率刻画的是 rt 的离散性。它有三个关键性质:不可直接观测、随时间变化、具有聚集性。正因为不可观测,我们才需要用历史数据、期权价格或高频数据去“估计”它,而深度学习模型本质上是在学习这些估计量背后的动态结构。
按年化处理时,常用 √252 将日波动率换算为年化波动率。理解这一点,是后续所有模型输出解释的基础。
二、四类波动率的计算与适用场景
历史波动率(Historical Volatility, HV)基于过去一段窗口的收益率标准差计算,是最直观的向后看指标。窗口长度决定其灵敏度:短窗口反应快但噪声大,长窗口平滑但滞后。
import numpy as np
def historical_volatility(prices, window=20, annualize=True):
log_ret = np.diff(np.log(prices))
hv = np.std(log_ret[-window:], ddof=1)
return hv * np.sqrt(252) if annualize else hv
隐含波动率(Implied Volatility, IV)由期权市场价格反推得到,代表市场对未来波动的预期。它通过 Black-Scholes 等模型求解,是唯一“向前看”的波动率。IV 常高于后续实际波动,这一现象称为波动率风险溢价。
已实现波动率(Realized Volatility, RV)利用日内高频收益率平方和估计当日波动,精度远高于日频 HV。常见形式为 RVt = Σ rt,i2,其中 i 为日内采样点。RV 是深度学习预测中最常用的标签来源。
波动率指数(如 VIX)可视为 IV 的加权综合,反映市场整体恐慌程度,常作为模型的外部特征。
| 类型 | 数据来源 | 方向 | 典型用途 |
|---|---|---|---|
| 历史波动率 HV | 历史价格 | 向后看 | 风险监控、基线模型 |
| 隐含波动率 IV | 期权价格 | 向前看 | 期权定价、预期风险 |
| 已实现波动率 RV | 高频数据 | 向后看 | 预测标签、模型评估 |
| 波动率指数 VIX | 期权组合 | 向前看 | 市场情绪、外部特征 |
三、波动率聚集与杠杆效应
波动率聚集(Volatility Clustering)指高波动往往跟随高波动、低波动跟随低波动,表现为收益率平方序列的自相关缓慢衰减。这是 GARCH 类模型和 LSTM、Transformer 等深度学习模型能够预测波动率的根本原因——序列存在可学习的记忆结构。
杠杆效应(Leverage Effect)指负收益对波动率的冲击通常大于同等幅度正收益,即“坏消息”推高波动更明显。在建模中,这意味着输入特征应保留收益率的符号信息,而非仅使用绝对值或平方。
四、案例与复盘:从数据到标签的常见误区
假设我们使用某股票 2018—2023 年的日频与 5 分钟高频数据构建波动率预测任务。一个典型流程是:用 5 分钟收益率计算日度 RV 作为标签,用日频收益率、换手率、VIX 等构造特征,再输入 LSTM 预测次日 RV。
常见误区包括:
- 标签泄漏:用当日 RV 预测当日 RV,或特征中混入未来信息,导致离线指标虚高。
- 忽略杠杆效应:只输入平方收益,模型无法区分正负冲击,预测在下跌行情中系统性偏低。
- 窗口选择随意:HV 窗口与预测周期不匹配,例如用 5 日 HV 预测月度波动。
- 未做平稳化:RV 分布右偏严重,直接回归易受极端值主导,通常需取对数 ln(RV)。
理解 HV、IV、RV 的差异,以及波动率聚集与杠杆效应这两条经验规律,是后续设计深度学习模型输入、输出与损失函数的前提。只有预测目标定义清晰,模型结果才具备可解释性与实战价值。