14、波动率与信息:已实现波动率、隐含波动率的信息含量、波动率微笑与偏斜、波动率风险溢价

波动率这东西,我做了十年交易,越做越觉得它有意思。很多人盯着价格看,其实价格里藏着的秘密,远不如波动率多。今天咱们就聊聊,波动率到底能告诉我们什么信息。

14.1 已实现波动率:过去发生了什么

已实现波动率,说白了就是「已经发生的波动」。它衡量的是过去一段时间里,资产价格实际波动的剧烈程度。我个人习惯用5分钟高频数据来计算,这样能捕捉到日内的大部分波动信息。

计算方式其实不复杂:

# 已实现波动率计算(5分钟频率)
import numpy as np
import pandas as pd

def realized_volatility(price_series, freq='5min'):
    # 计算对数收益率
    log_returns = np.log(price_series / price_series.shift(1))
    # 去掉NaN
    log_returns = log_returns.dropna()
    # 已实现方差
    rv = np.sum(log_returns ** 2)
    # 年化已实现波动率
    rv_annual = np.sqrt(rv * 252)
    return rv_annual

嗯,这里要注意:采样频率越高,对微观结构的噪声越敏感。我曾在项目中遇到过用tick级数据算波动率,结果噪声比信号还大,后来老老实实改回5分钟频率。

关键点:已实现波动率是后验的,它告诉我们「市场已经发生了什么」。但它有个致命缺陷——无法预测未来。

14.2 隐含波动率:市场在预期什么

隐含波动率就不一样了。它是从期权价格里反推出来的,反映的是市场对未来波动的一致预期。你想想看,期权交易者愿意花多少钱买保护,这本身就包含了大量信息。

计算隐含波动率需要解一个非线性方程:

from scipy.optimize import brentq
from scipy.stats import norm

def implied_volatility(option_price, S, K, T, r, option_type='call'):
    """使用二分法求解隐含波动率"""
    def bs_price(sigma):
        d1 = (np.log(S/K) + (r + 0.5*sigma**2)*T) / (sigma*np.sqrt(T))
        d2 = d1 - sigma*np.sqrt(T)
        if option_type == 'call':
            price = S*norm.cdf(d1) - K*np.exp(-r*T)*norm.cdf(d2)
        else:
            price = K*np.exp(-r*T)*norm.cdf(-d2) - S*norm.cdf(-d1)
        return price - option_price
    
    try:
        iv = brentq(bs_price, 0.01, 2.0)
        return iv
    except:
        return np.nan

个人经验:隐含波动率往往比已实现波动率高,尤其是在市场恐慌时。我曾经在2015年股灾期间观察过,隐含波动率一度飙到已实现波动率的2倍以上。这说明什么?市场在给不确定性定价时,总是倾向于保守。

14.3 波动率微笑与偏斜:市场情绪的密码

如果市场是完美的,不同行权价的期权应该隐含相同的波动率。但现实不是这样。你会发现,虚值看跌期权的隐含波动率往往更高——这就是波动率微笑和偏斜。

为什么会这样?我个人的理解是:

  • 波动率微笑:极端行权价的IV高于平值IV,像个笑脸。这反映了市场对尾部风险的担忧。
  • 波动率偏斜:看跌端IV明显高于看涨端,说明市场更害怕暴跌而非暴涨。

我曾在项目中用以下代码来量化偏斜程度:

def skew_measure(iv_puts, iv_calls, moneyness):
    """计算波动率偏斜指标"""
    # 选取25-delta的看跌和看涨期权
    put_25 = np.interp(0.25, moneyness, iv_puts)
    call_25 = np.interp(0.25, moneyness, iv_calls)
    # 偏斜 = 看跌IV - 看涨IV
    skew = put_25 - call_25
    return skew

避坑指南:我曾经犯过一个错误——直接用平值附近的IV来代表整个波动率曲面。结果在极端行情下,这个指标完全失效。记住,波动率微笑的形态本身就是一个重要的信息变量。

14.4 波动率风险溢价:谁在为不确定性买单

波动率风险溢价,就是隐含波动率和已实现波动率之间的差值。说白了,这是期权卖方收取的「风险补偿」。

我习惯这样理解:

  • 如果IV > RV,说明市场在支付溢价来对冲风险
  • 如果IV < RV,说明市场低估了风险(这种情况很少见)

实际交易中,这个溢价是持续存在的。我统计过标普500指数过去10年的数据,平均波动率风险溢价大约在3-5个波动率点。这意味着什么?长期做空波动率是有正期望收益的——但前提是你扛得住黑天鹅。

核心结论:波动率风险溢价是市场对不确定性定价的「超额部分」。它包含了投资者的风险厌恶情绪、对冲需求以及市场微观结构的影响。

14.5 知识体系总览

下面这张图,是我自己梳理的波动率与信息的关系框架。你看完应该能有个整体把握:

波动率与信息:知识体系框架 已实现波动率 历史数据计算 高频/低频采样 后验信息 隐含波动率 期权价格反推 市场预期 前瞻信息 微笑与偏斜 行权价维度 尾部风险 市场情绪 波动率风险溢价 隐含波动率 - 已实现波动率 风险厌恶 + 对冲需求 + 市场微观结构 对比 对比 影响 核心应用 波动率交易策略设计 | 风险度量与对冲 | 市场情绪监测

你看这张图就清楚了:已实现波动率和隐含波动率是两条腿,波动率微笑与偏斜是情绪的放大器,而波动率风险溢价则是最终的「定价结果」。做交易时,我习惯把这四个维度结合起来看,而不是孤立地盯某一个指标。

我的习惯:每天早上开盘前,我会先看一眼波动率曲面的形态。如果偏斜突然变大,说明市场在酝酿什么。这时候我会更谨慎,减少方向性头寸,增加对冲。

好了,波动率与信息的关系,咱们就聊到这儿。记住一句话:波动率不是风险本身,而是市场对风险的定价。读懂这个定价,你就能比别人多看到一层信息。