3. 利率互换入门

在进入 Cap/Floor 与 Swaption 定价之前,必须先彻底厘清利率互换(Interest Rate Swap, IRS)的现金流结构,以及互换利率、互换曲线、贴现曲线三者之间的区别与联系。很多定价错误的根源,并非模型不够复杂,而是把“互换曲线”和“贴现曲线”混为一谈,或者把互换利率误当成零息利率直接使用。本节将围绕这一核心问题展开。

一、核心原理:互换现金流与互换利率的本质

一笔标准固定换浮动利率互换,是双方约定在未来一段时间内,按同一名义本金交换利息流:一方支付固定利率,另一方支付浮动利率。浮动端通常挂钩某个参考利率(如 SOFR、EURIBOR、SHIBOR),按重置周期确定。互换在签约时点的经济价值为零,因此“互换利率”就是使固定端现值等于浮动端现值的那个固定利率。

这里有一个关键认识:互换利率不是零息利率,也不是即期利率。它是一段期限内固定现金流的“平价利率”(par rate),本质上是若干零息利率的加权平均结果。因此,互换利率天然带有“期限平均”属性,不能直接用于对单笔现金流贴现。

核心恒等式:固定端现值 = 浮动端现值。在无套利假设下,浮动端现值等于名义本金 ×(1 − 最后一期贴现因子)。由此可反推出互换利率与贴现因子之间的对应关系。

二、方法流程:从互换利率到互换曲线,再到贴现曲线

市场报价通常给出一组不同期限的互换利率(如 1Y、2Y、3Y、5Y、7Y、10Y)。要用于定价,需要完成以下流程:

  1. 收集市场报价:各期限的互换利率、对应浮动利率的期限结构、以及短期无风险利率(如 OIS)。
  2. 选择曲线构建方法:常见有自举法(Bootstrap)、全局拟合(如 Nelson-Siegel、Svensson)或分段插值。
  3. 由互换利率反推贴现因子:利用“固定端现值 = 浮动端现值”逐期限求解,得到一组贴现因子。
  4. 生成贴现曲线:将贴现因子按期限插值,形成连续可用的贴现曲线。
  5. 生成互换曲线:将各期限互换利率按期限连接,形成互换曲线,用于报价和相对价值分析。

需要特别强调:互换曲线是“报价曲线”,贴现曲线是“定价曲线”。前者是市场输入,后者是定价输出。两者可以相互推导,但功能不同。

三、案例/场景:用 Python 演示互换利率与贴现因子的关系

假设市场给出 1Y、2Y、3Y 的互换利率分别为 3.0%、3.5%、4.0%,名义本金为 100,浮动端按年重置。我们可用自举法逐期求解贴现因子。

import numpy as np

# 市场互换利率
swap_rates = [0.03, 0.035, 0.04]
tenors = [1, 2, 3]
notional = 100

# 自举法求解贴现因子
discount_factors = []
for i, (r, t) in enumerate(zip(swap_rates, tenors)):
    if i == 0:
        # 第一期:固定端现值 = 浮动端现值
        # 浮动端现值 = notional * (1 - DF_t)
        # 固定端现值 = notional * r * sum(DF) + notional * DF_t
        # 简化:DF_1 = 1 / (1 + r)
        df = 1 / (1 + r)
    else:
        # 已知前几期贴现因子,求解本期
        prev_sum = sum(discount_factors)
        # 固定端 = notional * r * (prev_sum + DF_t) + notional * DF_t
        # 浮动端 = notional * (1 - DF_t)
        # 令两者相等,解 DF_t
        df = (1 - r * prev_sum) / (1 + r)
    discount_factors.append(df)

print("贴现因子:", [round(df, 6) for df in discount_factors])
print("互换利率:", swap_rates)

运行结果会显示:随着互换利率上升,对应期限的贴现因子下降。这说明互换利率与贴现因子呈反向关系,但并非简单的倒数关系,因为互换利率是多个期限的加权平均。

在实际定价中,通常需要同时构建多条曲线:贴现曲线(如 OIS 曲线)和预测曲线(如 SOFR 曲线)。互换利率报价往往对应的是“双曲线”环境下的平价利率,不能只用一条曲线同时完成预测和贴现。

四、误区/复盘:互换曲线与贴现曲线的常见混淆

以下是初学者最容易犯的三个错误:

  • 误区一:把互换利率直接当作零息利率贴现。 互换利率是平价利率,不是零息利率。直接使用会导致远期利率和贴现因子系统性偏差。
  • 误区二:认为互换曲线就是贴现曲线。 互换曲线是市场报价的集合,贴现曲线是定价用的连续函数。两者在无套利下可相互推导,但概念不同。
  • 误区三:忽略浮动端期限结构。 浮动端挂钩的参考利率可能有不同期限(如 3M、6M),其预测曲线与贴现曲线可能不同,尤其在基差较大的市场环境中。
对比项 互换曲线 贴现曲线
本质 市场报价的互换利率集合 用于贴现的零息利率/贴现因子曲线
来源 市场报价(经纪商、交易所) 由互换利率、OIS 等推导得出
用途 报价、相对价值分析、曲线交易 现金流贴现、衍生品定价
期限属性 平价利率,期限平均 零息利率,单点贴现
关系 输入 输出(可由互换曲线推导)
在 Cap/Floor 与 Swaption 定价中,若贴现曲线与预测曲线不一致,必须分别构建。忽略这一点会导致期权价值被高估或低估,尤其在利率波动率较高时更为明显。
互换曲线与贴现曲线的推导关系 市场输入 互换利率报价 OIS / 无风险利率 浮动端参考利率 期限结构数据 推导过程 自举法 / 全局拟合 固定端现值 = 浮动端现值 求解贴现因子 插值生成连续曲线 定价输出 互换曲线(报价) 贴现曲线(定价) 远期利率曲线 Cap/Floor 定价输入 互换曲线是市场报价输入,贴现曲线是定价输出;两者在无套利下可相互推导,但功能不同。

总结来看,互换现金流是定价的起点,互换利率是市场报价的平价利率,互换曲线是报价的集合,贴现曲线是定价的核心工具。理解四者的区别与联系,是后续 Cap/Floor 与 Swaption 定价不出错的基石。