3. 收益率曲线与估值基础

在OpenGamma Strata中,任何一笔利率产品的估值都离不开一条或多条收益率曲线。曲线是连接市场报价与未来现金流的桥梁,而曲线构建的质量直接决定了估值、风险指标乃至交易决策的可信度。本章从即期曲线、远期曲线、贴现因子、计息方式、日算规则五个基础概念出发,梳理曲线构建的基本原理,并结合Strata的API与配置方式给出可落地的实践路径。

一、核心原理:从贴现因子到即期与远期

利率估值的本质是“贴现”。给定未来某一时点的现金流 CF(t),其现值可写为 PV = CF(t) × DF(t),其中 DF(t) 即为贴现因子。贴现因子是曲线的最小信息单元,其余概念都是它的不同表达形式。

  • 贴现因子 DF(t):今天1元在未来t时刻的价值折算回今天的比例,通常 DF(0)=1,且随期限单调不增。
  • 即期利率(Zero Rate):使 DF(t) = 1 / (1 + z(t))^t 成立的年化利率,反映从今天到t的“一次性”收益率。
  • 远期利率(Forward Rate):由两个即期利率或贴现因子推导,f(t1,t2) = (DF(t1)/DF(t2) - 1) / (t2 - t1),代表未来区间内的边际资金成本。
  • 计息方式:单利、复利、连续复利之间的换算关系决定了利率与贴现因子的映射。
  • 日算规则(Day Count):如ACT/360、ACT/365、30/360,决定时间t的度量方式,直接影响利率数值。
关键等式:DF(t) = exp(-z_cont(t) × t)。在Strata中,曲线内部通常以连续复利即期利率或贴现因子存储,对外再按需转换。

二、方法流程:Strata中的曲线构建步骤

曲线构建不是“拟合一条线”,而是“用可交易工具反推贴现因子”。Strata采用“曲线节点+插值+引导(Calibration)”的流程,典型步骤如下:

  1. 选择曲线组(Curve Group):确定本币OIS、LIBOR/SOFR、国债等曲线角色。
  2. 录入市场报价:存款、FRAs、利率期货、利率互换等工具的报价。
  3. 选择插值器:如线性、对数线性、单调凸、Nelson-Siegel等。
  4. 引导求解:对每个工具令其理论价格等于市场报价,逐段解出节点贴现因子。
  5. 生成曲线对象:得到可查询 DF(t)、zeroRate(t)、forwardRate(t1,t2) 的曲线。
// Strata 曲线构建示意(伪代码)
CurveDefinition definition = CurveDefinition.of(
    name("USD-OIS"),
    nodes(
        node(tenor("1M"), deposit(USD, 1M)),
        node(tenor("1Y"),  swap(USD, 1Y)),
        node(tenor("5Y"),  swap(USD, 5Y))
    ),
    interpolator(LogLinearDiscountFactor())
);
Curve curve = calibration(definition, marketData).calibrate();

三、可视化:曲线构建的数据流与依赖关系

下图展示了从市场报价到最终曲线对象的数据流,以及即期、远期、贴现因子三者之间的转换关系。理解这张图,就能理解Strata曲线API的调用顺序。

曲线构建数据流与利率转换关系 市场报价 Deposit / FRA Swap / Future 引导求解 Calibration 插值 + 节点求解 曲线对象 Curve / CurveGroup 可查询 DF / Zero / Fwd 贴现因子 DF(t) 曲线的最小信息单元 即期利率 z(t) DF(t) = 1/(1+z(t))^t 远期利率 f(t1,t2) 由 DF 比值推导 日算规则与计息方式决定 t 的度量与利率换算,是曲线构建的“隐式参数” ACT/360 · ACT/365 · 30/360 · 单利 · 复利 · 连续复利

四、案例与场景:一笔5年期互换的估值链路

假设我们有一笔支付固定3%、收取SOFR的5年期互换,名义本金1亿美元。在Strata中估值时,曲线的作用体现在:

环节 使用的曲线/参数 作用
浮动端现金流预测 SOFR远期曲线 确定每个重置期的远期利率
固定端现金流 合约固定利率3% 按日算规则计算每期金额
贴现 OIS贴现曲线 将各期现金流折现到估值日
PV与DV01 曲线组整体 计算净现值与利率敏感性
在Strata中,RatesProvider 负责把曲线组、估值日、日算规则组合起来,为每个产品提供估值上下文。曲线构建错误往往在PV上表现为“整体偏移”,而在DV01上表现为“局部异常”。

五、误区与复盘:曲线构建中最容易踩的坑

  • 混淆即期与远期:把1年期互换利率直接当作1年即期利率使用,忽略中间付息与日算规则,导致曲线整体偏移。
  • 日算规则不一致:报价工具与曲线节点使用不同Day Count,引导出的DF在节点处不连续。
  • 插值器选择不当:在曲线短端使用平滑插值,会掩盖货币市场的真实跳跃,造成远期利率失真。
  • 忽略曲线角色:用同一曲线同时做预测与贴现,在基差较大的市场中会系统性高估或低估PV。
  • 节点过密或过疏:节点过密导致过度拟合,节点过疏导致关键期限远期利率失真。
复盘建议:每次曲线构建后,先检查 DF(0)=1、DF单调递减、节点处工具重定价误差是否接近0,再检查远期利率曲线是否出现异常尖峰或负值。这三步能拦截80%以上的曲线错误。