Multi-Curve Construction

Table of Contents

Summary

Before 2008, a single curve (typically LIBOR) served both roles: it projected expected floating fixings and discounted every cash flow, because the LIBOR/OIS basis was small enough to ignore. The 2008 financial crisis widened that basis to a level that could no longer be ignored, forcing the market to split discounting from projection: a collateralised Funding Curve (OIS-based) now discounts every cash flow, while one or more Projection Curves (one per floating index tenor) project expected fixings. This split imposes a strict build order — the Funding Curve must exist before any Projection Curve's own pillar instruments can be repriced — which is what turns "build one curve" into "build a family".

Detail

From one curve to a family

Single-curve era (pre-2008)

One curve, usually LIBOR, did both jobs: an instrument's floating leg was projected off it, and the same curve's discount factors discounted every cash flow. This worked because LIBOR (bank credit/liquidity risk) and the risk-free rate were close enough that the basis between them was economically negligible to ignore for pricing purposes.

The break: LIBOR-OIS basis widens

During the 2008 crisis, the LIBOR-OIS basis widened sharply and stayed persistently non-negligible: LIBOR embeds bank credit and liquidity risk that a collateralised (near risk-free) rate does not — see Interest Rate Benchmark Types: IBOR vs. RFR for what that risk difference actually is. Discounting collateralised trades at LIBOR after that point systematically mispriced them. The market response was to stop using one curve for both jobs.

Dual-curve, then multi-curve (post-2008)

The fix separates the two roles into different curves:

  • A Funding Curve, built from OIS (or equivalent collateralised-rate) instruments, used for discounting every cash flow regardless of which index projected it.
  • One Projection Curve per floating index tenor (3M, 6M, 12M, …), each bootstrapped from instruments quoted on that specific index, used only to project expected fixings.

Two curves (Funding + one Projection) is the dual-curve case; a full family with several Projection Curves (one per traded index tenor) generalises this to multi-curve. The mechanism is identical either way — only the count of Projection Curves differs.

The build-order dependency this creates

Splitting the roles does not make the curves independent of each other: it introduces one specific, one-directional dependency.

  1. Build the Funding Curve first. Its own pillar instruments (OIS) are self-discounting — an OIS curve is bootstrapped against its own compounded-overnight-rate instruments, with no external curve needed.
  2. Build each Projection Curve next, discounting off the completed Funding Curve. A Projection Curve's pillar instruments (e.g. 3M-indexed swaps) have both a projected floating leg (which the curve being built determines) and a present value that must be discounted using the Funding Curve, already fixed in step 1. A Projection Curve cannot be bootstrapped in isolation.
  3. Projection Curves do not depend on each other. Once the Funding Curve exists, EURIBOR-3M and EURIBOR-6M can be bootstrapped independently, and in parallel — each needs only the Funding Curve for discounting, never another Projection Curve.

So a family has exactly one construction-time dependency edge — every Projection Curve points at the Funding Curve — and is otherwise a set of mutually independent bootstraps. The pillar instrument selection and interpolation choices for each curve remain independent per curve; only the discounting step couples them.

Concrete example: Fed Funds discounted by SOFR

USD Fed Funds is a concrete instance of the Funding/Projection split, and a sharper one than the generic IBOR-vs-RFR case: the Fed Funds curve is built (projected) from Fed Funds OIS instruments, but every one of those instruments' cash flows is discounted using the SOFR curve, not the Fed Funds curve itself —

\[PV(\text{Fed Funds instrument}) = \sum_t \frac{\text{Fed Funds } CF_t}{(1+SOFR_t)^t}\]

SOFR, as the market's standard secured risk-free rate, is self-calibrating — it discounts its own instruments (step 1 above). Fed Funds is unsecured and is a dependent node on SOFR for discounting (step 2 above): the curve is projected off unsecured Fed Funds fixings but discounted off the secured, risk-free SOFR curve. Getting this directional mapping backwards — discounting Fed Funds cash flows off the Fed Funds curve itself — breaks the calibration.

The long end of the Fed Funds curve carries a further, separate complication once Fed Funds Average Swaps enter the pillar set — see Fed Funds Average Swap Convexity.

Caveat: basis-linked Projection Curves can be cyclic

The claim above — that Projection Curves are mutually independent once the Funding Curve exists — holds for the ordinary case where each Projection Curve's pillar instruments are priced purely against the Funding Curve. It does not automatically hold once basis swaps between Projection Curve tenors (e.g. a 3M/6M basis swap, a 6M/1Y basis swap, and a 1Y/3M basis swap for the same currency) are themselves used as pillar instruments: each such instrument's value depends on two Projection Curves at once, and if enough of these interlock, the tenors form a genuinely circular dependency rather than the simple sequential chain shown above — solving for one requires the others, which require the first. That case cannot be bootstrapped sequentially at all; it requires an iterative or simultaneous solver over the whole interdependent system, not the "build Funding, then each Projection independently" order this document otherwise describes. ORE Studio's current curve family model assumes the sequential case; the cyclic case is a known modelling gap, not something currently handled.

Source: André Luiz Rodrigues (https://www.linkedin.com/in/andre-luiz-df-rodrigues/), LinkedIn posts on interest rate curve dependency graphs (2026), including the whiteboard diagrams "Interest Rate Curve Calibration: Dependency Graph Approach" (self-calibrating node, sequential chain, and cyclic multicalibration) and "SOFR vs. FedFund Curves & Discounting Relationship". Original posts filed at tmp/luiz_rodrigues_posts.org (not part of the published documentation).

Pre-2008: one curve, two jobs
──────────────────────────────
  LIBOR curve ──► projects fixings AND discounts cash flows

Post-2008: roles split, one dependency edge
─────────────────────────────────────────────
  Step 1:  FUNDING CURVE (OIS)         ← self-discounting, built first
                   │
                   │ discounts every cash flow below
                   ▼
  Step 2:  Projection 3M   Projection 6M   Projection 12M   ...
           (built next, in any order/parallel — mutually independent,
            each depends only on the Funding Curve from step 1)

See also

Emacs 29.3 (Org mode 9.6.15)