已实现波动率
已实现波动率(realized volatility)是某个品种在选定窗口内历史收益率的标准差,通常年化之后以百分比报出;它衡量价格实际上走了多少,与之相对的是隐含波动率——那是期权价格所表达的市场预期。
Senzoukria · 术语表 · 更新于 2026 年 9 月
计算方法
取收盘价最近 N 个对数收益率,即 ln(close_t / close_{t−1})。算出它们的样本标准差,除数用 N − 1,这是历史波动率的惯例。再乘以年化因子(一年中的 K 线根数)的平方根,结果以百分比表示。在日线上,这个因子是交易日数;在 K 线内部的数据上,还必须把每天的 K 线根数也算进去。
- Senzoukria 在这里用样本形式(N − 1),而在布林带和 z 分数指标里用总体形式(N)。在长窗口上差别很小,每条公式里都有记载。
- 窗口内出现零或负的收盘价会让对数没有定义;该数值会作为缺失上报。
- 在攒够 N 个收益率之前没有估计值,窗格保持空白,而不是显示零。
已实现与隐含
两者之间的差距本身就是信息:期权价格所隐含的波动比近期实际走出来的更大或更小,这描述了市场相对于刚刚过去这段时间,如何给未来的不确定性定价。波动率偏斜指南讲的是隐含这一侧,以及微笑曲线的形状可能意味着什么。
| 已实现波动率 | 隐含波动率 | |
|---|---|---|
| 数据来源 | 该品种的历史价格 | 当前的期权价格 |
| 时间方向 | 向后看 | 向前看,按到期日和行权价分别给出 |
| 需要什么 | 只需要价格历史 | 需要期权链和一个定价模型 |
| 典型用途 | 仓位大小、止损距离、状态描述 | 偏斜、预期波动幅度、对冲压力 |
在期货上怎么读
- 它是一个水平值,不是方向。已实现波动率上升说明波动区间在变宽,而不是说明价格往哪边走。
- 它依赖窗口。20 根 K 线的数值会对上一个时段作出反应;100 根 K 线的数值则会把它抹平。
- 一个相关的无量纲读数是 Volatility Regime 指标,即短期 ATR 与长期 ATR 之比,它把当下和自己的常态作比较,不需要年化。
- 只有年化因子与 K 线周期相匹配,那个年化百分比才有意义。用错因子算出来的数字会差一个常数倍,无法跨周期比较。
在 Senzoukria 里
目录里的指标叫 Realized Vol,属于波动率组,画在自己的窗格里,带有 Period 和 annualization 两个参数。它的默认年化假定 1 分钟 K 线、一年 252 天、每天 24 小时交易;公式注释指出,对于大约 23 小时的 CME 时段来说,这是一个近似值。换到别的周期,这个参数必须手动调整。正因如此,指标目录把它标注为 Realized volatility · manual annualization。隐含波动率是另一个量:在桌面端,它由 GEX 模块读取的期权链按发布值提供,而且只有在配置了期权数据源时才有。
常见错误
- 在 5 分钟图或日线图上沿用默认年化,然后把算出的百分比当成可以和公开的日波动率数字相比较。
- 拿已实现波动率去和一个按不同期限算出的隐含波动率作比较。
- 把它当趋势指标用;它对收益率的正负号是对称的。
- 以为已实现波动率低就意味着某个仓位规模是安全的。下一个窗口并不受上一个窗口约束。
相关内容
其他语言版本
常见问题
- 为什么要把已实现波动率年化?
- 年化把不同 K 线周期上的数字放到同一把尺子上,这样 1 分钟的估计和日线的估计才能比较,而且它与隐含波动率的报价惯例一致。换算的做法是把每根 K 线的标准差乘以「一年中 K 线根数」的平方根,所以这个因子必须与实际画图的周期相符。
- 已实现波动率和 ATR 是一回事吗?
- 不是。ATR 是对每根 K 线真实波幅的平均,单位是价格,它忽略收益率的方向和分布。已实现波动率是收益率的标准差,单位是百分比。两者通常同向变动,但对跳空、以及一串实体很小却影线很长的 K 线,反应并不相同。