第四节:已实现波动率——从理论到实战的桥梁

各位同学,今天我们来聊聊已实现波动率。说实话,这个指标是我在实盘中最依赖的工具之一。它不像隐含波动率那样带着市场情绪的「滤镜」,也不像历史波动率那样滞后。已实现波动率,说白了就是「过去一段时间,价格到底动了多少」——用高频数据算出来的真实波动。

我个人习惯把已实现波动率叫做「市场的脚印」。你想想看,如果脚印又大又乱,说明市场情绪激烈;如果脚印整齐划一,那可能就是机构在控盘。嗯,咱们先别急,一步步来拆解。

一、已实现波动率的计算:从数学到代码

先看最基础的定义。假设我们在一天内采集了 n+1 个价格点,得到 n 个对数收益率:

r_i = ln(P_i / P_{i-1})   (i = 1, 2, ..., n)

那么已实现方差(RV)就是这些收益率的平方和:

RV = Σ r_i²

已实现波动率(RVOL)就是它的平方根:

RVOL = sqrt(RV)

是不是很简单?但这里有个坑——采样频率怎么选。我刚开始做量化时,傻乎乎地用了 tick 级数据,结果算出来的波动率大得离谱。后来才明白,微观结构噪声会把信号淹没掉。

核心公式(年化版):

RV_annual = sqrt( Σ r_i² × N_year )

其中 N_year 是一年内的采样次数。比如5分钟数据,一天约288个,一年约72000个。

二、高频数据与采样频率:选对了是宝,选错了是坑

这里我要分享一个实战经验。我曾经在某个商品期货上做波动率套利,一开始用1分钟数据算 RV,结果回测曲线漂亮得不像话。但实盘一跑,直接亏了3%。为什么?因为1分钟数据里包含了太多买卖价差反弹(bid-ask bounce)——价格在买一和卖一之间来回跳,算出来的波动率虚高。

后来我改用5分钟采样,效果就好多了。这里有个经验法则:

采样频率适用场景注意事项
1分钟股指期货、流动性极好的品种噪声大,需做噪声过滤
5分钟大多数股票、商品期货我个人的「黄金频率」
15分钟流动性一般的品种可能丢失日内波动细节
30分钟隔夜策略、低频套利适合看趋势,不适合套利

为什么会这样?其实跟市场微观结构有关。高频数据里,每一笔成交都带着「摩擦成本」——买卖价差、订单簿深度变化、大单拆单等等。这些微观结构噪声,在低频数据里会被平均掉,但在高频数据里会被放大。

我的避坑指南:

我曾经在回测中用过1秒级别的数据,结果RV算出来比实际波动高了40%。后来我加了一个简单的中位数滤波器,把异常跳点去掉,才把误差压到5%以内。记住:高频数据一定要做预处理。

三、已实现波动率的统计特征:它不简单

你以为已实现波动率就是个普通的时间序列?错了。它的统计特征非常有意思,我总结了几点:

  • 长记忆性:今天的波动率高,明天大概率也高。这不是玄学,是实证结果。我见过一个极端案例——某只股票连续5天高波动,第6天才突然安静下来。
  • 厚尾分布:RV的分布不是正态的,而是右偏的。也就是说,极端高波动事件比正态分布预测的要频繁得多。嗯,这跟金融市场的「黑天鹅」特征一脉相承。
  • 日内U型模式:开盘和收盘时波动率最高,中午最低。我做过一个统计,A股上午9:30-10:00的波动率,大约是下午1:00-2:00的1.8倍。这个模式在做日内套利时非常有用。
  • 杠杆效应:价格下跌时波动率上升,价格上涨时波动率下降。说白了,市场恐慌时波动更大,贪婪时反而平稳。

你想想看,这些特征意味着什么?意味着我们不能用简单的AR模型去预测RV。我个人习惯用HAR-RV模型(异质自回归模型),它把日、周、月的RV都考虑进去,效果比普通AR好得多。

注意:已实现波动率不是「真实波动」的完美估计。它受采样频率、微观结构噪声、隔夜跳空等因素影响。我见过有人直接用5分钟RV做期权定价,结果偏差很大——因为隔夜跳空没算进去。建议加上隔夜收益率的调整项。

四、知识体系图:一张图看懂已实现波动率

下面这张SVG图,是我自己梳理的已实现波动率知识框架。你可以把它当作学习地图:

已实现波动率 计算:平方和法 采样频率选择 统计特征 对数收益率 平方求和 年化处理 1分钟/5分钟 15分钟/30分钟 噪声过滤 长记忆性 厚尾分布 日内U型模式 杠杆效应 核心:采样频率决定信号质量

五、实战中的几个关键点

最后,我把自己在实盘中踩过的坑总结一下,希望能帮你少走弯路:

  1. 采样频率不是越高越好。我见过有人用毫秒级数据算RV,结果全是噪声。建议先用5分钟数据试水,再根据品种流动性调整。
  2. 隔夜跳空必须处理。A股有涨跌停板,隔夜跳空有时能达到5%。如果不处理,RV会系统性偏低。我一般用「开盘价/前收盘价」算一个隔夜收益率,加到当天的RV里。
  3. 注意数据清洗。高频数据里经常有异常值——比如某笔成交价比前一笔低了10%。这种数据不剔除,RV会虚高。我习惯用3倍中位数绝对偏差(MAD)来过滤。
  4. RV不是万能的。它只能反映已发生的波动,不能预测未来。做套利时,一定要结合隐含波动率一起看——当IV远高于RV时,才是入场时机。

一个小技巧:如果你用Python做RV计算,建议用numpy的向量化操作,别用for循环。我试过,100万行数据,向量化只要0.3秒,循环要30秒。代码示例如下:

import numpy as np
prices = np.array([...])  # 价格序列
log_returns = np.diff(np.log(prices))
rv = np.sum(log_returns**2)
rvol = np.sqrt(rv)

好了,关于已实现波动率的基础内容就讲到这里。记住一句话:采样频率决定信号质量,统计特征决定建模方向。下一节我们会深入讨论如何用RV做波动率套利策略,到时候会用到今天讲的所有知识点。


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