隐含波动率期限结构怎么看
了解隐含波动率期限结构如何按到期日变化,掌握向上倾斜与倒挂分别代表什么,并通过真实期权数据识别事件风险与市场状态。
隐含波动率期限结构是将隐含波动率按到期日绘制的曲线。每个到期日对应一个读数,所用期权的行权价接近当前股价。您遇到的情况几乎都可归为两种形态:市场平静时曲线向上倾斜,远期到期日的隐含波动率更高;近期月份存在已确定日期的事件时,曲线则会倒挂。下文两种形态均基于每份合约的期权数据,而非教科书式示意图。
隐含波动率期限结构衡量什么
隐含波动率是期权价格所隐含的标的股票年化波动幅度。它按合约报价,因此同一只股票在任何时点都有数百个读数,分别对应期权链上的每个行权价和到期日。将行权价固定在接近当前股价的位置,再让到期日变化,这些读数就会排列成一条曲线。这条曲线就是期限结构。
取样方式比大多数解释所承认的更加重要。本文每个图表都选取绝对 Delta 在 0.35 至 0.65 之间的合约。这是描述平值附近、又不固定某一行权价的标准方法。随后,计算每个期限区间内隐含波动率的中位数。采用中位数而非平均值,是因为一张几乎没有交易的合约若存在陈旧报价,可能显示不合理的数值,而平均值会将这一异常值带入结果。
以下是六只流动性较高股票在 2026 年 6 月各交易日的曲线。
每个数字背后的完整 SQL
WITH (
SELECT quantileDeterministic(0.5)(toFloat64(implied_volatility), cityHash64(ticker))
FROM global_markets.options_greeks
WHERE underlying_symbol IN ('SPY', 'AAPL', 'MSFT', 'KO', 'JNJ', 'PG')
AND date >= toDate('2026-06-01')
AND date < toDate('2026-07-01')
AND iv_converged = 1
AND volume > 0
AND implied_volatility BETWEEN 0.03 AND 3
AND abs(toFloat64(delta)) BETWEEN 0.35 AND 0.65
AND days_to_expiry BETWEEN 5 AND 20
) AS front_band_iv
SELECT multiIf(days_to_expiry <= 20, '5-20 days',
days_to_expiry <= 45, '21-45 days',
days_to_expiry <= 90, '46-90 days',
days_to_expiry <= 180, '91-180 days',
'181-365 days') AS expiry_band,
round(100 * quantileDeterministic(0.5)(toFloat64(implied_volatility), cityHash64(ticker)), 1) AS median_iv_pct,
round(100 * (quantileDeterministic(0.5)(toFloat64(implied_volatility), cityHash64(ticker)) - front_band_iv), 1) AS pts_vs_front_band,
count() AS contract_count
FROM global_markets.options_greeks
WHERE underlying_symbol IN ('SPY', 'AAPL', 'MSFT', 'KO', 'JNJ', 'PG')
AND date >= toDate('2026-06-01')
AND date < toDate('2026-07-01')
AND iv_converged = 1
AND volume > 0
AND implied_volatility BETWEEN 0.03 AND 3
AND abs(toFloat64(delta)) BETWEEN 0.35 AND 0.65
AND days_to_expiry BETWEEN 5 AND 365
GROUP BY expiry_band
ORDER BY min(days_to_expiry)隐含波动率中位数在 19.6% 的 5-20 days 区间为 21.5%,在 181-365 days 区间为 1.9,较近月区间高出 1.9 个百分点。该形态借用了期货市场的术语:正向市场,即交割时间越晚,价格越高。反向曲线则称为逆价差。
为什么曲线通常向上倾斜
两种机制共同维持着这种常态形状。
第一种是事件密度。一份九天后到期的合约覆盖九天的日历风险。对于一只大型股而言,如果这段时间内没有预定事件,那么其中大部分只是普通交易日。一份一年后到期的合约则覆盖四次季度报告、数次央行会议,以及期间所有未预先安排的新闻事件。每份合约包含的已知风险因素越多,市场愿意支付的年化波动率就越高。
第二种是波动率本身的表现。已实现波动率会聚集:平静的几周之后往往仍是平静的几周,剧烈波动的几周之后往往仍是剧烈波动的几周。市场平静时,临近到期的期权定价接近当前的低波动率水平,而一年后到期的期权定价则更接近长期平均水平,后者通常更高。冲击发生后,情况会反向运行。崩盘后的几个交易日内,最近到期合约的隐含波动率会升至报价板最高水平,整条曲线都会倒挂,远期月份则维持在接近通常水平的位置。
改变曲线的因素:一个有明确日期的事件
预定的财报发布是最容易观察到曲线倒挂的事件。财报会在已知日期的收盘后发布。所有在该日期之后结算的到期日都包含这次波动,而在该日期之前结算的到期日则不包含。覆盖该事件的最近到期日,能够用来平均这次波动的普通交易日最少,因此其年化读数升幅最大。六个月期权会将同一事件分摊到大约125个交易日中,因此几乎反映不出来。
NVIDIA于2025年2月26日星期三收盘后发布财报。该图表读取整条曲线两次:一次是在财报发布前的最后一个交易日,即2月25日;另一次是在发布后的第一个交易日,即2月27日。
每个数字背后的完整 SQL
SELECT multiIf(days_to_expiry <= 20, '5-20 days',
days_to_expiry <= 45, '21-45 days',
days_to_expiry <= 90, '46-90 days',
days_to_expiry <= 180, '91-180 days',
'181-365 days') AS expiry_band,
round(100 * quantileDeterministicIf(0.5)(toFloat64(implied_volatility), cityHash64(ticker),
toDate(date) = toDate('2025-02-25')), 1) AS iv_before_print_pct,
round(100 * quantileDeterministicIf(0.5)(toFloat64(implied_volatility), cityHash64(ticker),
toDate(date) = toDate('2025-02-27')), 1) AS iv_after_print_pct,
round(100 * (quantileDeterministicIf(0.5)(toFloat64(implied_volatility), cityHash64(ticker),
toDate(date) = toDate('2025-02-25'))
- quantileDeterministicIf(0.5)(toFloat64(implied_volatility), cityHash64(ticker),
toDate(date) = toDate('2025-02-27'))), 1) AS iv_drop_pts
FROM global_markets.options_greeks
WHERE underlying_symbol = 'NVDA'
AND date >= toDate('2025-02-25')
AND date < toDate('2025-02-28')
AND iv_converged = 1
AND volume > 0
AND implied_volatility BETWEEN 0.05 AND 5
AND abs(toFloat64(delta)) BETWEEN 0.35 AND 0.65
AND days_to_expiry BETWEEN 5 AND 365
GROUP BY expiry_band
HAVING countIf(toDate(date) = toDate('2025-02-25')) >= 3
AND countIf(toDate(date) = toDate('2025-02-27')) >= 3
ORDER BY min(days_to_expiry)5-20 days区间在财报发布前的交易日读数为84.9%,发布后的交易日读数为66.4%,变动了18.5个百分点。同一期间,181-365 days区间变动了1个百分点,仅为前端区间变动的一小部分。同一标的、同一事件,却在曲线两端带来完全不同的表现。前端的这种坍塌就是隐含波动率崩跌,而期限结构会提前显示这一变化。
观察期限结构的形成与坍塌
报告前后各一个交易日只能反映一个时点。整个形成过程持续数周,表现为期限结构两端之间的差距逐步扩大。
每个数字背后的完整 SQL
SELECT toDate(date) AS session_date,
round(100 * quantileDeterministicIf(0.5)(toFloat64(implied_volatility), cityHash64(ticker),
days_to_expiry BETWEEN 5 AND 20), 1) AS front_iv_pct,
round(100 * quantileDeterministicIf(0.5)(toFloat64(implied_volatility), cityHash64(ticker),
days_to_expiry BETWEEN 91 AND 180), 1) AS back_iv_pct,
round(100 * (quantileDeterministicIf(0.5)(toFloat64(implied_volatility), cityHash64(ticker),
days_to_expiry BETWEEN 5 AND 20)
- quantileDeterministicIf(0.5)(toFloat64(implied_volatility), cityHash64(ticker),
days_to_expiry BETWEEN 91 AND 180)), 1) AS front_minus_back_pts
FROM global_markets.options_greeks
WHERE underlying_symbol = 'NVDA'
AND date >= toDate('2025-02-10')
AND date < toDate('2025-03-15')
AND iv_converged = 1
AND volume > 0
AND implied_volatility BETWEEN 0.05 AND 5
AND abs(toFloat64(delta)) BETWEEN 0.35 AND 0.65
AND ((days_to_expiry BETWEEN 5 AND 20) OR (days_to_expiry BETWEEN 91 AND 180))
GROUP BY session_date
HAVING countIf(days_to_expiry BETWEEN 5 AND 20) >= 3
AND countIf(days_to_expiry BETWEEN 91 AND 180) >= 3
ORDER BY session_date该窗口首个交易日,两条带之间相差 12.4 点;最后一个交易日相差 3.3 点,期间共 24 个交易日。应关注前端曲线的形状,而不是其水平:随着报告临近,前端曲线上升;在报告前后几个交易日达到峰值;报告发布后一个交易日内回落。后端曲线在整个期间几乎没有变化。财报与期权希腊字母介绍同一事件对单个合约的 vega 和 theta 的影响。
曲线倒挂的频率
倒挂并不罕见,不同 ticker 处于倒挂状态的全年时长差异很大。
每个数字背后的完整 SQL
WITH daily AS (
SELECT underlying_symbol,
toDate(date) AS session_date,
quantileDeterministicIf(0.5)(toFloat64(implied_volatility), cityHash64(ticker),
days_to_expiry BETWEEN 5 AND 30) AS front_iv,
quantileDeterministicIf(0.5)(toFloat64(implied_volatility), cityHash64(ticker),
days_to_expiry BETWEEN 91 AND 180) AS back_iv
FROM global_markets.options_greeks
WHERE underlying_symbol IN ('NVDA', 'AAPL', 'MSFT', 'AMZN', 'KO', 'JNJ', 'PG', 'SPY', 'XOM', 'WMT')
AND date >= toDate('2025-08-01')
AND date < toDate('2026-08-01')
AND iv_converged = 1
AND volume > 0
AND implied_volatility BETWEEN 0.03 AND 5
AND abs(toFloat64(delta)) BETWEEN 0.35 AND 0.65
AND ((days_to_expiry BETWEEN 5 AND 30) OR (days_to_expiry BETWEEN 91 AND 180))
GROUP BY underlying_symbol, session_date
HAVING countIf(days_to_expiry BETWEEN 5 AND 30) >= 3
AND countIf(days_to_expiry BETWEEN 91 AND 180) >= 3
)
SELECT underlying_symbol AS ticker,
count() AS sessions,
round(100 * countIf(front_iv > back_iv) / count(), 1) AS inverted_pct,
round(100 * quantileDeterministic(0.5)(front_iv - back_iv,
cityHash64(concat(underlying_symbol, toString(session_date)))), 1) AS median_spread_pts
FROM daily
GROUP BY underlying_symbol
ORDER BY inverted_pct DESC截至 2026 年 7 月 31 日的十二个月内,在 251 个交易日中,XOM 有 68.5% 个交易日的近端区间高于 91 至 180 天区间;SPY 则为 19.5% 个交易日。两者的中位数价差分别为 1.4 点和 -2.1 点。具有定期日历事件的标的,一年中处于倒挂状态的时间更长;宽基指数基金大多数时间处于正价差状态,倒挂主要集中在市场抛售期间。IV 排名 衡量的是另一项指标:今日水平在过去一年自身区间中的位置,而不是不同到期日之间的曲线形态。
平坦或倒挂曲线对日历价差的影响
日历价差卖出近月期权,同时买入相同行权价的远月期权。对角价差也是如此,但两份期权的行权价不同。无论哪种策略,头寸都做多远期期限的隐含波动率,并做空近期期限的隐含波动率。因此,期限结构是其主要输入因素,而不是背景信息。
当曲线向上倾斜时,近月期权以低于远月期权的隐含波动率卖出。若事件发生前近月曲线倒挂,这一关系就会反转,头寸建立在一条存在收敛空间的曲线上。事件过后,近月隐含波动率向远月回落,远月变化不大,两者之间的差距恢复至通常形态。头寸最终表现还取决于股价的波动幅度,而曲线无法说明这一点。预期波动幅度页面介绍了问题的这一部分。
平坦曲线是最棘手的情况。曲线在任一方向上都没有斜率可供利用,结果几乎完全取决于股价路径和时间流逝。
IV期限结构常见问题
期权中的IV期限结构是什么?
它是按到期日绘制的平值附近期权隐含波动率曲线。2026年6月,六个流动性较高的标的中位数读数在5-20 days区间为19.6%,在181-365 days区间为21.5%。
IV期限结构倒挂意味着什么?
倒挂曲线的最高隐含波动率出现在最近到期的合约中。当某个有明确日期的事件落在近月合约期限内时,曲线可能倒挂。剧烈抛售后的几个交易日内也可能出现这种情况:近月合约根据近期的大幅波动定价,而远月合约的定价更接近长期均值。
财报公布前,近月隐含波动率为什么这么高?
近月合约剩余的正常交易日很少,难以将一次预期中的大幅隔夜波动分摊到整个期间,因此年化波动率会相应升高。NVIDIA的5-20 days区间在2025年2月26日财报公布前一个交易日为84.9%,在公布后的交易日为66.4%。
期限结构与波动率偏斜是一回事吗?
不是。偏斜比较同一到期日、不同执行价的隐含波动率。期限结构大致固定期权的实值程度,并比较不同到期日的隐含波动率。波动率偏斜涵盖同一波动率曲面的执行价维度。
上述每个数值均来自按合约统计的隐含波动率存储查询;每个面板下方都可展开查看SQL。您可以在Strasmore终端上为任意ticker绘制相同曲线。