构建 Swaption Cube 的实践与模型
构建 Swaption Cube 的实践与模型
一、Swaption Cube
在利率衍生品交易与风控中,Swaption Cube(互换期权立方体)是一个核心定价/对冲工具。它将不同到期(Expiry)、不同行权价(Strike)和不同互换期限(Swap Tenor)下的隐含波动率(Implied Volatility)组织成一个三维网格,支持对任意组合的 Swaption 进行快速定价和敏感度分析。
二、Swaption解释
- Swaption 是买方(或卖方)在未来某一日期获得进入(或退出)一个利率互换(IRS)的权利。
- 交易对手关心的核心参数是该权利的隐含波动率,它反映了市场对未来利率波动性的预期。
- 但衍生品交易常常跨多种到期和互换期限:例如 2Y→5Y、5Y→10Y、10Y→30Y 等。
- 单条 ATM 曲线已无法覆盖全部需求,必须构建一张包含非 ATM Strike 的完整 Surface,进而组合成 Cube,以支撑跨期限交易定价与风险管理。
三、市场数据与报价形式
1. ATM 报价
市场上最常见的 Swaption 报价是 ATM Volatility:
- Period:Swaption 的到期,比如 1Y、2Y …
- Strike:对应这一期限下的 ATM 行权价——通常取当期的 par swap rate(平价互换利率)。
- Vol:给出这一行权价下的年化隐含波动率。
下面是路孚特ATM EUR Vol的示例:

2. 非 ATM 报价
除了 ATM,部分市场还会提供:
- Risk-Reversal (RR)、Butterfly (BF):反映 OTM Call/Put 的 skew/butterfly;
- OTM Vols:直接给出某些偏离 ATM 的特定 Strike 下的隐含波动率。
如果只有 ATM 数据,就必须借助参数化模型(如 SABR)或做出特定插值假设,才能“填满”整个 Strike 维度。
下面是路孚特非ATM Vol的示例:

四、Normal Vol vs. Black Vol
在利率期权定价中,主要有两种波动率口径:
Bachelier 模型(Normal Vol) | Black-76 模型(Black Vol) | |
---|---|---|
波动率含义 | 绝对波动率:(单位:bp) | 相对波动率:(%) |
定价公式 | 经典 Black-76: | |
适用场景 | 低利率 / 利率或价差可负环境 | 利率正值居多的传统环境 |
互转关系 | 需数值解方程:将 Normal-Price ⇄ Black-Price 对应 σ 解算 | ATM 附近可近似 |
在后危机低利率环境下,Normal Vol 越来越受到青睐。但许多历史模型(如 Black-76、SABR)本身是以 log-normal 假设为基础,因此需要在两种口径间灵活转换。
注意,在MCP定价系统中也会这样使用:
• Price‐Vol(Normal Vol,Bachelier)
• Yield‐Vol(Log-Normal Vol,Black-76)
五、Swaption Cube 构建流程
下面给出一个从市场 ATM 报价 → 参数化模型 → 三维插值立方体的经典流程。
1. 数据准备
收集 ATM 曲线
- 到期 :例如 1Y、2Y、3Y…30Y。
- ATM 行权价 :对应的 par swap rate 或 swaption ATM strike。
- ATM 波动率 :可选 Normal/Black 口径。
(可选)收集 OTM Skew 数据
- RR/BF 或若干 In/Out Strikes 的 Vol。
确定互换起止结构
- 常见 Swap Tenor:1Y、2Y、5Y、10Y…30Y。
2. 模型选型
2.1 参数化 Skew:SABR
最常见的做法是对每对 校准一组三参数 SABR:
- 通过 ATM Vol 反解出 ;
- 若有 Skew 数据,则同时最小二乘拟合 ;
- 否则可对 做平滑插值或历史估计。
得到每个节点的 SABR 参数后,即可用 Hagan 公式在任意 Strike 下输出 。
2.2 非参数化插值
若市场提供了足够多的 OTM Vol 点,也可直接在 Strike 维度做 1D 插值(线性、Spline 等),无需模型假设。
3. 三维插值架构
Strike 维度
- 对每个 ,用 SABR 或 1D 插值生成一条 Vol vs. Strike 曲线。
Expiry 维度
- 对固定 Swap Tenor,插值不同到期 下的 Vol 曲线,形成 Vol Surface。
Swap Tenor 维度
- 对不同互换期限 ,在固定 上插值,形成完整 Swaption Cube。
整个过程可视为三次连续的一维插值/外推,或使用专门的 3D 插值库(trilinear、spline、Kriging 等)。