第三章 利率互换定价原理:从贴现因子到互换利率

各位同学,今天我们来聊聊利率互换定价的核心逻辑。说实话,我刚入行那会儿,觉得定价就是套公式。后来在实盘里栽过跟头才明白——定价的本质,是理解现金流的时间价值

利率互换(IRS)说白了就是两笔现金流的交换:固定端 vs 浮动端。你想想看,要给它定价,我们得先回答三个问题:

  1. 未来的1块钱,今天值多少?——贴现因子
  2. 不同期限的贴现因子怎么串起来?——零息曲线
  3. 固定端和浮动端分别怎么算现值?——估值

好,我们一个一个拆解。

3.1 贴现因子:一切定价的起点

贴现因子,符号记作 Z(t, T)。它表示:在 t 时刻,承诺 T 时刻支付1块钱,这个承诺今天值多少钱。

公式很简单:

Z(t, T) = 1 / (1 + r * τ)   (单利,期限≤1年)
Z(t, T) = 1 / (1 + r)^τ     (复利,期限>1年)

其中 r 是即期利率,τ 是年化期限。

核心要点:贴现因子一定是小于等于1的正数。期限越长,贴现因子越小——因为未来的钱越不值钱。

我在项目中遇到过一个问题:用不同计息基准(ACT/360 vs ACT/365)算出来的贴现因子不一样。嗯,这里要注意,定价时必须统一计息基准,否则你的估值会莫名其妙地偏掉。

3.2 零息曲线构建:从碎片到连续

市场上我们能直接看到的利率,大多是附息债的到期收益率,或者利率互换的报价。但这些都不是零息利率。

为什么要构建零息曲线?因为只有零息利率才能直接用来贴现每一笔现金流。

构建方法我习惯用拔靴法(Bootstrapping)。思路很简单:

  1. 从最短期限开始,已知该期限的贴现因子
  2. 用这个贴现因子,反推下一个期限的零息利率
  3. 依次迭代,直到覆盖所有期限

举个例子:假设我们有1年期和2年期的互换利率(平价互换),分别是2.0%和2.5%。

步骤1:1年期贴现因子
Z(0,1) = 1 / (1 + 0.02) = 0.98039

步骤2:2年期互换的固定端现金流
第1年:2.5% * 1 * Z(0,1)
第2年:(1 + 2.5%) * 1 * Z(0,2)

步骤3:令固定端现值 = 1(平价互换)
0.025 * 0.98039 + 1.025 * Z(0,2) = 1
解得 Z(0,2) = 0.95181

步骤4:反推2年期零息利率
r2 = (1 / 0.95181)^(1/2) - 1 = 2.51%

实战技巧:我建议用三次样条插值来填补缺失期限。直接用线性插值的话,远期利率曲线会不够平滑,做对冲时容易出问题。

3.3 固定端与浮动端估值

有了零息曲线,估值就变成了纯粹的现金流贴现。

固定端:

PV_fixed = C * Σ Z(0, ti) * τi + 1 * Z(0, T)

C 是固定利率,τi 是第 i 期的计息期限,最后1是名义本金(通常到期归还)。

浮动端:

PV_float = Σ (F_i * Z(0, ti) * τi) + 1 * Z(0, T)

F_i 是第 i 期的远期利率,从零息曲线里推导出来。

这里有个坑——浮动端的远期利率要用期初的即期利率来锁定。我曾经犯过一个错误:直接用历史浮动利率去算现值,结果估值和市价差了十万八千里。后来才意识到,浮动端定价必须用隐含远期利率,而不是历史利率。

注意:浮动端在重置日(reset date)的现值恰好等于面值1。这是因为浮动利率会重新调整到市场利率。但在两个重置日之间,浮动端的现值会偏离面值——这个偏离就是利率风险所在。

3.4 互换利率计算:让两端相等

互换利率,就是让固定端现值等于浮动端现值的那个固定利率。

公式:

C * Σ Z(0, ti) * τi + 1 * Z(0, T) = 1

解出 C:

C = (1 - Z(0, T)) / Σ Z(0, ti) * τi

你看,这个公式很优雅。它告诉我们:互换利率只取决于贴现因子,不依赖于任何主观假设

我习惯在Excel里搭一个定价模板,结构如下:

期限(年) 贴现因子 Z 计息期限 τ Z * τ 累计 Σ Zτ
0.5 0.99010 0.5 0.49505 0.49505
1.0 0.98039 0.5 0.49020 0.98525
1.5 0.97087 0.5 0.48544 1.47069
2.0 0.96154 0.5 0.48077 1.95146

假设2年期零息利率为2.0%,则:

C = (1 - 0.96154) / 1.95146 = 1.97%

这个1.97%就是2年期平价互换的互换利率。

3.5 知识体系总览

下面这张图,是我自己整理的知识框架。每次做定价前,我都会在脑子里过一遍这个流程:

利率互换定价知识体系 市场报价(互换利率) 计息基准(ACT/360) 插值方法(样条/线性) 拔靴法构建零息曲线 贴现因子 Z(t, T) 序列 固定端估值 PV = C × Σ Zτ + 1×Z(T) 浮动端估值 PV = Σ F_i × Z_i × τ_i + 1×Z(T) 互换利率 C

这张图从左到右、从上到下,完整展示了定价的流程。你想想看,每一步都环环相扣——输入错了,后面全白搭。

3.6 避坑指南

最后,分享几个我踩过的坑:

  • 计息基准不统一:我曾经用ACT/360算贴现因子,用ACT/365算现金流,结果估值差了2个基点。嗯,2个bp在套利交易里就是盈亏的分界线。
  • 插值方法选择不当:线性插值简单,但远期利率曲线会有折点。做对冲时,这些折点会导致delta不连续。我建议用三次样条或单调凸插值。
  • 忽略节假日调整:现金流日期如果落在周末,要顺延到下一个工作日。这个调整会影响计息期限τ,进而影响估值。
  • 浮动端重置日判断错误:浮动利率是在期初确定的,但现金流在期末支付。如果你用期末的即期利率去算,那就错了。

我的习惯:每次搭建定价模型前,先手工算一个简单案例(比如2年期、半年付息),用Excel逐笔核对。等手工算的和模型输出一致了,再上生产环境。这个习惯帮我避免过至少3次重大失误。

好了,利率互换定价的核心逻辑就这些。说白了就是:贴现因子 → 零息曲线 → 两端估值 → 解出互换利率。这个框架你掌握了,后面学国债期货基差交易、互换利差策略,都会轻松很多。

专注资料整理