4、收益率曲线构建方法:插值法(线性、样条)、Nelson-Siegel模型、Svensson模型、构建步骤与案例
收益率曲线是固定收益证券定价、利率风险管理和宏观经济分析的核心工具。它描述了不同期限的无风险利率与到期时间之间的关系。在实际市场中,我们只能观察到有限期限的国债或利率互换报价,而定价与风险管理往往需要任意期限的即期利率或远期利率。因此,收益率曲线构建的本质是一个“从离散样本点到连续函数”的拟合与插值问题。本章将系统讲解三种主流构建方法:线性插值法、样条插值法、Nelson-Siegel(NS)参数模型及其扩展Svensson模型,并给出完整的构建步骤与实战案例。
4.1 插值法:从线性到样条
核心原理:插值法的基本思想是,利用已知期限的利率样本点,通过某种函数形式填补相邻期限之间的空白。线性插值是最简单的方法,它假设相邻两个样本点之间的利率呈线性变化。对于期限 \( t_i \) 和 \( t_{i+1} \) 之间的任意期限 \( t \),即期利率 \( r(t) \) 满足:
r(t) = r(t_i) + [r(t_{i+1}) - r(t_i)] × (t - t_i) / (t_{i+1} - t_i)
线性插值实现简单、计算速度快,但得到的曲线在样本点处不可导,远期利率曲线呈现明显的锯齿状,不符合市场对利率平滑性的直觉。三次样条插值则通过分段三次多项式,保证曲线在样本点处一阶、二阶导数连续(即C²连续),从而得到平滑的即期利率曲线和远期利率曲线。样条插值的关键在于节点(knot)的选择——节点过多容易过拟合,节点过少则无法捕捉曲线形态。
- 数据清洗:剔除异常报价、流动性不足的债券,统一计息基准(如ACT/365)。
- 节点选择:通常将节点设置在样本期限处,或使用等间距节点(如1年、2年、5年、10年、30年)。
- 构造基函数:使用B样条基函数或自然样条基函数,将利率表示为基函数的线性组合。
- 求解系数:通过最小二乘法或带约束的优化(如单调性约束)求解基函数系数。
- 验证与输出:检查拟合误差、远期利率是否为正,输出即期利率和贴现因子。
案例拆解:假设市场观察到以下国债即期利率:1年期2.0%,2年期2.5%,5年期3.0%,10年期3.5%。若使用线性插值,3年期利率为2.5% + (3.0%-2.5%)×(3-2)/(5-2) = 2.67%。若使用三次样条,由于样条会考虑整体曲率,3年期利率可能略高于或低于线性插值结果,具体取决于边界条件。在实际交易中,线性插值常用于短期利率曲线(如隔夜至1年),而样条插值更适用于中长期国债曲线。
4.2 Nelson-Siegel模型与Svensson扩展
核心原理:Nelson-Siegel(NS)模型由Charles Nelson和Andrew Siegel于1987年提出,它将即期利率表示为三个因子的线性组合:水平因子(长期利率)、斜率因子(短长期利差)和曲率因子(中期弯曲)。其数学形式为:
r(t) = β₀ + β₁ × [1 - exp(-t/τ)] / (t/τ) + β₂ × { [1 - exp(-t/τ)] / (t/τ) - exp(-t/τ) }
其中,β₀为长期利率水平(t→∞时r(t)→β₀),β₁为短期利率贡献(t→0时r(t)→β₀+β₁),β₂为中期曲率贡献,τ为衰减因子(控制曲线弯曲位置)。NS模型仅用4个参数就能描述大多数收益率曲线的形态,且远期利率在远端趋于常数β₀,符合经济直觉。
Svensson扩展:Svensson(1994)在NS模型基础上增加了一个额外的曲率因子,以更好地拟合带有“驼峰”或“双弯曲”的复杂曲线:
r(t) = β₀ + β₁ × [1 - exp(-t/τ₁)] / (t/τ₁) + β₂ × { [1 - exp(-t/τ₁)] / (t/τ₁) - exp(-t/τ₁) } + β₃ × { [1 - exp(-t/τ₂)] / (t/τ₂) - exp(-t/τ₂) }
Svensson模型有6个参数(β₀, β₁, β₂, β₃, τ₁, τ₂),拟合能力更强,但参数估计的稳定性下降,对初始值敏感。
| 参数 | 经济含义 | 典型取值范围 | 对曲线的影响 |
|---|---|---|---|
| β₀ | 长期利率水平 | 2%~5% | 决定曲线远端高度 |
| β₁ | 短长期利差(斜率) | -3%~1% | 负值表示曲线向上倾斜 |
| β₂ | 中期曲率 | -2%~2% | 正值产生驼峰 |
| τ₁ | 第一衰减因子 | 0.5~5年 | 控制曲率峰值位置 |
| β₃ / τ₂ | 第二曲率(Svensson) | 视市场而定 | 捕捉双驼峰形态 |
4.3 构建步骤与完整案例
标准构建流程:无论是插值法还是参数模型,收益率曲线构建都遵循以下步骤:
- 样本选择:选取流动性好的国债、政策性金融债或利率互换报价,覆盖短、中、长各期限。
- 价格转换:将债券价格转换为即期利率(通过Bootstrapping方法)或直接使用互换利率作为即期利率。
- 模型选择:根据数据特征和用途选择插值法或参数模型。若用于衍生品定价,通常需要平滑的远期利率,优先选择样条或Svensson。
- 参数估计:对于NS/Svensson模型,使用非线性最小二乘法(如Levenberg-Marquardt算法)最小化拟合误差。
- 验证与校准:检查拟合残差、远期利率是否为正、曲线是否合理,必要时调整节点或参数初始值。
初始参数:β₀=3.5%,β₁=-1.2%,β₂=0.8%,β₃=0.3%,τ₁=1.5,τ₂=3.0。
优化结果:经过迭代,得到β₀=3.62%,β₁=-1.35%,β₂=0.92%,β₃=0.28%,τ₁=1.82,τ₂=4.15。拟合误差(均方根误差)为2.3个基点。
应用:利用拟合曲线计算5年期零息债券价格:P = 100 / (1+3.28%)^5 ≈ 85.12元。同时可计算1×4远期利率:F(1,4) = [(1+3.0%)^5 / (1+2.5%)^1]^(1/4) - 1 ≈ 3.13%。
案例复盘:该案例中,Svensson模型成功捕捉了曲线的轻微驼峰形态(3-5年期利率上升较快)。若使用NS模型,拟合误差会增大至5个基点左右,但参数稳定性更好。在实际交易中,若用于对冲,建议使用样条插值以保证局部拟合精度;若用于宏观分析或情景模拟,NS/Svensson模型更合适,因为其参数具有经济解释。
4.4 方法选择与常见误区
方法选择矩阵:
| 应用场景 | 推荐方法 | 理由 |
|---|---|---|
| 国债定价、套利交易 | 三次样条 | 局部拟合精度高,远期曲线平滑 |
| 利率衍生品定价(IRS、Swaption) | Svensson | 参数化形式便于计算敏感度 |
| 宏观分析、利率预测 | NS模型 | 参数具有经济含义,稳健性强 |
| 短期资金市场(1年以内) | 线性插值 | 数据密集,简单高效 |
常见误区总结:
- 误区一:认为样条插值一定优于线性插值。实际上,在数据点密集且噪声较大的短期市场,线性插值更稳健。
- 误区二:忽略样本券的流动性差异。低流动性债券的报价可能偏离真实利率,应赋予较低权重或剔除。
- 误区三:过度追求拟合优度。Svensson模型虽然拟合误差小,但参数可能不稳定,导致曲线在远端异常摆动。
- 误区四:未考虑税收和信用利差。国债收益率曲线与互换曲线之间的基差(Treasury-Swap Spread)需要单独建模。
总结:收益率曲线构建是利率建模的基础。插值法适合数据密集、需要精确复制的场景;NS/Svensson模型适合参数化分析、宏观建模和衍生品定价。掌握每种方法的适用边界、参数含义和潜在陷阱,是成为合格利率模型构建者的关键。本章的案例展示了从数据输入到曲线输出的完整流程,读者应通过实际编程(如Python的SciPy或QuantLib)加深理解。