How calibration works
This page explains what calibrating means, why most curves are solved one pillar at a time, when you'd solve explicitly rather than let a recipe do it, and what the credit, inflation, collateral and model solves add. Each solve's reference page has its arguments and a program you can run.
What a calibration is
A desk sees quotes, not curves: par swap rates, CDS spreads, breakevens, swaption vols. Calibrating finds the curve or model parameters under which every quoted instrument prices back to its quote. Each quote becomes a rung: the instrument struck at its quote, attached to the date it carries information to, its pillar. The solve moves the parameters until every rung is worth nothing, or for a model, until its prices match.
A solved curve keeps its ladder of rungs, which is what lets it report risk per quote later; see provenance and the Jacobian.
The bootstrap
A five-year swap reads the curve out to five years and no further. So if the rungs are sorted by pillar, the first rung fixes the first pillar alone, the second fixes the second given the first, and so on: one equation in one unknown at a time. That's the bootstrap, and it's fast and robust because each step is a one-dimensional Newton solve.
It stops working when ladders read each other. A euro desk that quotes €STR only as a basis to EURIBOR, and EURIBOR through swaps that discount on €STR, has no order to go in: every rung reads both curves. Then every pillar of both curves goes into one Newton system, the joint calibration. Where an order does exist, the joint solve simply returns the bootstrap's answer.
Interpolation matters too. Under log-linear, a rung reads only the pillars up to its own. A spline lets a later pillar move an earlier segment, so the solve sweeps the ladder again until nothing moves; bootstrapping reports how many sweeps it took.
A recipe or an explicit solve
Most of the time you don't call a solve at all. MarketContext.with_recipe_quotes reads a quote
sheet, builds the rungs its recipe lists and runs the bootstrap: one call from sheet to market. Reach
for an explicit solve when you need something the recipe doesn't give you:
- Rungs no recipe lists, such as a year-end turn or a node pinned past the last quote.
- The solve's report: each pillar's iterations and residual, or a different tolerance.
- Curves that read each other, solved jointly.
- Objects that aren't rates curves: survival curves, inflation curves, model volatilities.
The two routes agree: on a sheet of swaps alone, the recipe's curve and the explicit bootstrap's are the same to the bit.
Credit and inflation
A survival curve is solved from CDS spreads the same way, with two differences. A survival curve means nothing without a recovery rate, so the solve takes one. And the curve has two shapes between pillars: flat hazard rates, the market's standard form, or a linear default density, which is smoother. Both reprice every quote; they differ only between pillars. A CDS that pays its last coupon after a weekend reads a little survival past its own pillar, so solving the next pillar can nudge it; the solve sweeps the ladder again until no pillar moves.
An inflation curve is solved from zero-coupon inflation swaps. An index like US CPI is published monthly and late, so a swap reads it a few months back, its lag: each swap's pillar is its maturity moved back by the lag, and the swap's base is a print already published. See credit calibration and inflation calibration.
Collateral and currencies
A trade is discounted at the rate its collateral earns. A euro cashflow on a trade whose CSA posts dollars is discounted at the dollar collateral rate carried into euros through the cross-currency basis: the market's price for swapping one funding for the other. That curve is solved from basis swaps, once both currencies' own curves and the spot are marked; cross-currency calibration does it explicitly, and a counterparty's CSA can have a recipe build it, as counterparties and CSAs shows.
Models
Some products need a model, not just curves, and a model has parameters fitted to option prices.
- Hull-White prices callable bonds and Bermudan swaptions. A callable can be exercised on several dates into swaps that all end on one date, so its volatility is fitted to the European swaptions on exactly those dates: the co-terminal strip. The mean reversion is chosen, not fitted, because that strip pins how much rates move but not how fast they pull back. See Hull-White calibration.
- SABR describes a smile: how vol changes with strike. The desk states β, α comes from the at-the-money vol so the smile passes through it, ρ tilts the smile and ν curves it, so a fit to the wings determines those two. See SABR.
See also
- Related pages:
- Quote sheets and recipes, the one-call route.
- Build a curve from your own rungs.
- Pin a curve node past the last quote.
- Calibrate Hull-White and pin it.
From the 0.0 line at revision bf7f2e2. Every printed number is that revision's own output.