Interest Rate Curves

Table of Contents

Interest rate curves are a core market data input in ORE Studio. ORE uses them as discount and projection curves throughout valuation. This document covers day-count conventions, the bootstrapping process, and interpolation. For tenor labels and settlement conventions see Time Structures and Tenors. Return to Knowledge.

Overview

An interest rate curve (also called a discount curve or yield curve) is a term structure of discount factors — one for each tenor — that expresses the time value of money. Given a discount factor function \(DF(t)\), the present value of a future cash flow at time \(t\) is obtained by multiplying by \(DF(t)\). By convention \(DF(0) = 1\) and \(DF\) is monotonically decreasing for positive rates.

The process of constructing a curve from observable market instruments is called bootstrapping. It proceeds tenor by tenor from the short end to the long end, selecting the discount factor at each pillar that reprices the corresponding instrument at its current market rate.

Rates are stored internally as discount factors (typically to 15 decimal places). Interest rates — whether discrete or continuous — are derived from discount factors as required.

Day-Count Conventions

A day-count convention specifies how to convert a date interval into a fraction of a year (the day-count fraction or year fraction) for the purpose of computing interest. Different instruments and currencies use different conventions; mixing them silently is a common source of error.

Convention Description Typical use
ACT/360 Actual calendar days divided by 360 Money market (USD, EUR deposits)
ACT/365 Actual calendar days divided by 365 GBP money market, GBP IRS
ACT/ACT Actual days in period divided by actual days in year (ISDA or ICMA) Government bonds, IRS in some ccys
30/360 Each month treated as 30 days, year as 360 Fixed-rate bonds (USD, EUR)
BUS/252 Business days divided by 252 BRL and some LatAm money markets

The day-count fraction \(\Delta t\) appears directly in coupon and interest calculations:

\[\text{Interest}(t_n, t_{n+k}) = \left[ \frac{DF(t_n)}{DF(t_{n+k})} - 1 \right]\]

A single currency may use different conventions for its money market and its swap market. For example, a GBP IRS conventionally has a 6-month floating period on an ACT/365 basis.

Day Basis vs. Spot Days

The day basis (day-count convention) for the money market of a currency can differ from the FX day basis used when computing forward points for that currency. These must not be conflated.

Discount Factors and Rates

Discount Factor to Rate Conversion

Given a discount factor \(DF\) over \(D\) calendar days, the discrete (money market) rate is:

\[r = \left[ \left( \frac{1}{DF} \right)^{365/D} - 1 \right] \times 100\]

where 365 is replaced by the appropriate day basis for the currency.

A continuous rate \(r_c\) converts to a discrete rate as:

\[r_d = \left( e^{r_c/100} - 1 \right) \times 100\]

Internal implementations prefer continuous rates because they are additive in log space; market quotations are always discrete.

Spot Interest Rate

A spot interest rate for maturity \(M\) is an interest rate payable on a spot loan of maturity \(M\) that accumulates interest to maturity. Discount factors therefore reflect discounting to the spot date, not to today — a convention that must be tracked when computing present values.

Zero Coupon Normalisation

Because different instruments embed different coupon structures, bootstrapped curves are normalised to zero coupon (ZC) curves — continuous rates where every tenor carries the same economic meaning (yield of a zero-coupon bond). This allows discount and projection curves built from different instruments to be compared and combined consistently.

Input Instruments

The instruments used to build a curve are called pillar instruments. Each instrument fixes one point on the curve. The bootstrapped curve must reprice every pillar instrument at its observed market rate.

Deposits (Depos)

A deposit is a single-period instrument: cash is placed (lent) at the near leg and returned with interest at the far leg. Deposits are the primary instrument for the very short end (O/N through to 6M), quoting rates directly as LIBOR or equivalent fixings. The instrument defines:

  • Near leg: cash outflow on start date
  • Far leg: return of principal plus interest on maturity date
  • Rate: fixed on trade date; day basis is currency-specific

Forward Rate Agreements (FRA)

An FRA is like a deposit that starts in the future. It locks in a fixed rate for a specified future period against the floating fixing at settlement. FRAs have zero value at initiation (fixed rate equals expected floating rate). They are used to bootstrap the curve in the 3M--12M region where deposits become illiquid.

Interest Rate Swaps (IRS)

An IRS exchanges two streams of interest payments — typically fixed vs. floating — on a notional principal over multiple periods. The fixed rate (the swap rate) is set at inception to make the trade NPV-zero:

\[PV_{\text{fixed}} = \sum_{i=1}^{n} N \cdot r_{\text{fixed}} \cdot \Delta t_i \cdot DF(t_i)\] \[PV_{\text{float}} = \sum_{j=1}^{m} N \cdot r_{\text{fwd},j} \cdot \Delta t_j \cdot DF(t_j)\]

IRS are the primary pillar instrument for tenors from 1Y to 30Y. Each currency has a standard IRS description specifying payment frequency and day count (e.g. GBP: 6M period, ACT/365).

Key IRS types:

  • Fixed/Floating, same currency: the vanilla swap; floating leg typically LIBOR or SOFR
  • Fixed/Floating, cross-currency: fixed rate on one currency notional vs. floating on another; introduces FX risk
  • Floating/Floating, same currency (Basis Swap): two different floating indices (e.g. 3M LIBOR vs 6M LIBOR); used to capture tenor basis
  • Floating/Floating, cross-currency: two floating indices in different currencies; carries both IR and FX risk

Short-Term Interest Rate (STIR) Futures

Exchange-traded quarterly contracts (Eurodollar, Short Sterling) priced off 3M rates at IMM dates. Used to fill the 6M--2Y gap where liquid deposit and swap quotes are sparse. The bootstrapper takes the nearest IMM quarterly futures and discounts back to derive the curve.

OIS (Overnight Index Swap)

An OIS exchanges a fixed rate for a compounded overnight rate (Fed Funds, EONIA, SONIA, SOFR, etc.) over a given period. Post-2008, OIS curves became the standard collateralised discount curve. The OIS rate represents near-risk-free funding; the spread over OIS is the basis adjustment for uncollateralised exposure (relevant for FVA and MVA calculations).

Bootstrapping: USD Curve Construction

The USD discount curve is the foundation of most FX and rates market data systems. Many systems store only the USD curve plus forward points for all USD crosses, deriving other curves from these.

Bootstrapping proceeds in segments by instrument type:

Tenor range Instrument Notes
O/N1M Cash deposits / LIBOR May extend to 6M for some currencies
6M1Y STIR Futures (quarterly IMM) Nearest contracts discounted back
1Y7Y 1M Fixed IRS, time-valued Covers 1Y, 2Y, 3Y, 4Y, 5Y, 6Y, 7Y
18M 3M Fixed IRS, time-valued Odd pillar between 1Y and 2Y
2Y10Y 3M Reset IRS, time-valued Overlaps with above for cross-check
<15Y odd Interpolated No liquid instrument; interpolate
15Y, 20Y, 25Y, 30Y Plain IRS Long end liquid vanilla swaps

At each pillar, the bootstrapper solves for the discount factor that makes the instrument NPV zero, taking all shorter-maturity discount factors as given. Longer pillars require accounting for all intermediate coupon payments (e.g. an 18M IRS has two legs: a 12M leg reusing the already-bootstrapped 12M point, plus a new 6M leg from 12M to 18M).

The USD curve is then used to derive forward rates for other currencies via forward point arithmetic.

Projection Curves

A discount curve tells us the time value of money; a projection curve tells us what future floating fixings are expected to be. A system maintains multiple projection curves per currency — one for each floating tenor (3M LIBOR, 6M LIBOR, etc.) — because basis spreads mean 3M and 6M projections diverge. All projected cashflows are discounted using the funding (discount) curve.

Interpolation Methods

A bootstrapped curve is defined only at its pillar tenors. Interpolation is required for any date between pillars.

Local Methods

Local methods use only the immediately bracketing pillars; changing one pillar does not affect distant tenors.

  • Log-Linear (Linear in log-DF): Discount factor changes by a constant ratio every day within an interval. Daily forward rates are constant within each interval. Simple and stable; the industry default for the short end.
  • Zero-Linear (Linear in zero rate): Linear in \(-\ln(DF)/t\). Daily forward rates change at a constant rate within each interval.

Both perform well in low-curvature regimes.

Non-Local Methods

Non-local methods take into account the full shape of the curve, producing smoother results but introducing the risk that changing one pillar affects distant tenors.

  • Cubic Spline: Piecewise cubic polynomial fitted globally. Produces smooth forward curves but can generate oscillations and negative forward rates in extreme cases.
  • Monotone Spline: A shape-preserving variant of the cubic spline that prevents oscillations while maintaining smoothness.

A single curve may use different interpolation methods at different tenor ranges (e.g. log-linear at the short end, cubic spline beyond 2Y). A curve split tenor (typically 5Y) separates the short-end and long-end spline segments, preventing changes at one end from propagating to the other.

It is critical that all systems consuming the same curve agree on the interpolation method; different methods will produce different forward rates at off-pillar dates.

ORE Studio Notes

ORE models interest rate curves in curveconfig.xml (curve pillar definitions and instrument choices) and market.xml (which curves serve as discount vs. projection for each currency). Bootstrapping is performed automatically by ORE at the start of each analytics run before any pricing takes place. The interpolation method for each curve is set in curveconfig.xml.

ORE Studio exposes these configurations through the reference data domain (ores.refdata) and will eventually surface them as editable entities in the UI.

Emacs 29.1 (Org mode 9.6.6)