# Bootstrapping (finance)

In finance, bootstrapping is a method for constructing a (zero-coupon) fixed-income yield curve from the prices of a set of coupon-bearing products, e.g. bonds and swaps.

Using these zero-coupon products it becomes possible to derive par swap rates (forward and spot) for all maturities by making a few assumptions (e.g. including linear interpolation). The term structure of spot returns is recovered from the bond yields by solving for them recursively, by forward substitution. This iterative process is called the Bootstrap Method.

Given that, in general, we lack data points in a yield curve (there are only a fixed number of products in the market) and more importantly these have varying coupon frequencies, it makes sense to construct a curve of zero-coupon instruments from which we can price any yield, whether forward or spot, without the need of more external information.

A generic algorithm is described below; for more detail see Yield curve: Construction of the full yield curve from market data.

General Methodology

1. Define set of yielding products, these will generally be coupon-bearing bonds
2. Derive discount factors for all terms, these are the internal rates of return of the bonds
3. 'Bootstrap' the zero-coupon curve step-by-step.

For each stage of the iterative process, we are interested in deriving the n-year zero-coupon bond yield, also known as the internal rate of return of the zero-coupon bond. As there are no intermediate payments on this bond, (all the interest and principal is realized at the end of n years) it is sometimes called the n-year spot rate. To derive this rate we observe that the theoretical price of a bond can be calculated as the present value of the cash flows to be received in the future. In the case of swap rates, we want the par bond rate (Swaps are priced at par when created) and therefore we require that the present value of the future cash flows and principal be equal to 100%.

$1 = C_{n} \cdot \Delta_1 \cdot df_{1} + C_{n} \cdot \Delta_2 \cdot df_{2} + C_{n} \cdot \Delta_3 \cdot df_{3} + \cdots + (1+ C_{n} \cdot \Delta_n ) \cdot df_n$

therefore

$df_{n} = {(1 - \sum_{i=1}^{n-1} C_{n} \cdot \Delta_i \cdot df_{i}) \over (1 + C_{n} \cdot \Delta_n )}$

(this formula is precisely forward substitution)

where
• $C_{n}$ is the coupon rate of the n-year bond
• $\Delta_i$ is the length, or day count fraction, of the period $[i - 1; i]$, in years
• $df_{i}$ is the discount factor for that time period
• $df_{n}$ is the discount factor for the entire period, from which we derive the zero-rate.

I have always found the concept difficult to understand, so to help illustrate the idea, here's a working example involving numbers.

Given 0.5 year spot rate, Z1 = 4%, 1 year spot rate, Z2 = 4.3% (we can get these rates from T-Bills which are zero-coupon, and serve as discount factors). We then use these rates to calculate the 1.5 year spot rate.

e.g. 1.5 year bond selling at Par, coupon = 4.5%, semi-annual. We solve the 1.5 year spot rate, Z3, by the formula below:

$100 = {2.25 \over (1 + 4% / 2)^1} + {2.25 \over (1 + 4.3% / 2)^2} + {102.25 \over (1 + Z_3 / 2)^3}$

We solve for $Z_3$ which is the 1.5 year spot rate.

## References

• William F. Sharpe, Gordon J. Alexander, Jeffery V. Bailey (1998). Investments. Prentice Hall International. ISBN 0-13-011507-X.
• John C. Hull (2009). Options, futures and other derivatives (seventh edition). Pearson Prentice Hall. ISBN 978-0-13-601586-4.