Bootstrapping A Curve From Market Instruments
You can't observe the discount rate for every future date directly, so you infer them one at a time from instruments you can see — deposits, futures, and swaps — each new rate solved using only the rates already found.
Prerequisites: Discount Factors and Curve Interpolation, Forward Rates and Implied Forwards
You want to know the discount factor for cash arriving in 7 years, but nobody trades a bond that matures in exactly 7 years with no other cash flows attached. What you can see are a handful of liquid instruments — a 3-month deposit rate, a strip of futures, a set of par swap rates at 2, 5, 10 years — each of which mixes together several unknown discount factors at once. Bootstrapping is the trick of climbing a staircase where you can only see the landings: solve for the nearest unknown rate using only rates you've already pinned down, then use that answer to unlock the next one, one step at a time.
The recursive step
Each instrument gives you one equation. A par swap paying a fixed rate against floating, worth zero at inception, satisfies
where is the discount factor for time (today's value of $1 received then) and is the year fraction of period . In plain English: the fixed leg's coupons, each discounted back and summed, plus the final $1 of principal discounted back, must equal the $1 the floating leg is worth today. Every for was already found from shorter instruments in earlier steps, so this equation has exactly one unknown, , and you solve it directly.
Worked example 1 — two steps by hand
Suppose a 1-year deposit yields 4% simple annual, so . Now a 2-year par swap, paying annually, quotes a fixed rate of 4.5%. Using the formula with , :
Plug in : . Solve: . That converts to a 2-year zero rate of — close to but not exactly the swap rate, because the swap rate is an average over two coupons while the zero rate is a single point.
Worked example 2 — a rate that would break it
If instead the 2-year swap quoted 4.5% but someone mis-keyed the 1-year deposit as 40% (a typo for 4.0%), the same algebra gives , so — a discount factor that looks plausible in isolation but is now inconsistent with every curve point downstream, since every later step inherits it. Bootstrapping has no built-in error check; a bad input at step one silently corrupts every step after it.
Drag the curve above and notice how the near end anchors everything to its right — that mirrors bootstrapping's one-way dependency: later discount factors depend on earlier ones, never the reverse.
What this means in practice
A trading desk's curve isn't downloaded fully formed — it's rebuilt every morning from that day's deposit, futures, and swap quotes, and the choice of interpolation between the solved points (linear on rates, log-linear on discount factors, cubic splines) changes the shape of the forward rates implied between them, even when it barely changes the discount factors themselves. Two banks bootstrapping the same quotes with different interpolation methods can disagree meaningfully on forward rates used to price other products.
Bootstrapping is not unique. The same set of market quotes, run through different interpolation schemes, produces different curves — and because forward rates are a derivative of the discount curve, small interpolation choices that barely move discount factors can produce visibly wavy or negative forward rates. Always ask which interpolation method a curve was built with before trusting its forward rates.
Bootstrapping solves for one new discount factor at a time, using only discount factors already pinned down by shorter instruments — a one-directional chain where every error compounds forward and never self-corrects.
Related concepts
Practice in interviews
Further reading
- Hull, Options, Futures, and Other Derivatives (Ch. 4)