Bootstrapping a 3M LIBOR Curve from 6M Swaps and Basis Swaps
Summary
The document explains how to infer a three-month LIBOR forward rate from six-month swap rates and a known later three-month forward rate. It defines forward rates using discount bonds and expresses a swap rate as a discount-weighted average of its underlying period forwards. For a two-period swap, the answer substitutes discount factors implied by the forwards into that weighted average and rearranges it to solve for the first forward rate.
The derivation demonstrates why simply adding zero rates at matching tenors is not the method described: the relationship depends on discounting and the swap’s cash-flow weights. The example is limited to a short, evenly spaced schedule and relies on the stated compounding and day-count setup. It does not provide a complete curve-building procedure for arbitrary maturities, conventions, or market instruments, nor does it discuss calibration or curve interpolation.
Key ideas
- A swap rate is a discount-weighted average of the forward rates over its payment periods.
- Discount bond values can be expressed through the forward rates used in the derivation.
- For a two-period swap, the first three-month forward can be solved using the swap rate and the second-period forward.
- Adding zero rates tenor by tenor does not capture the cash-flow weighting shown in this derivation.
Tags
Full text
# Deriving a 3M libor curve from 6M libor swaps and 3M-6M libor basis swaps
# Deriving a 3M libor curve from 6M libor swaps and 3M-6M libor basis swaps
If I had a set of 6M Libor instruments and another set of 3M-6M basis swap instruments, how would I derive the 3M Libor curve?
Just bootstrap the 6M curve and the basis curve and add up the zero rates at the matching tenors, to give me the 3M zeros? Does this make sense?
## Answer by Phun (score 2)
https://quant.stackexchange.com/a/23003
Let $\delta$ be 3 month and consider points of interest $\{T_i\}_i$ evenly spaced with $T_{i+1} -T_i = 3 month$. The Forward Rate $F_m^n(t)$ from period m to n at time $t$ is defined by $$(1 + \delta (n-m) F_m^n(t)) = \frac{B(t,T_m)}{B(t,T_n)},$$ where $B(t,T_i)$ is the time $t$ value of a zero coupon bond that matures in $T_i$.
A swap rate $S_m^n(t)$ a time $t$ of a swap starting in $T_m$ and ending in $T_n$ can be written as $$ S_m^n(t)=\sum_{i=m}^{n-1} \frac{\delta B(t,T_{i+1})}{\sum_{j=m}^{n-1}\delta B(t,T_{j+1})}F_i^{i+1}(t) $$
It holds $$F_0^1(0) = (S_0^2(0) - \frac{1}{2+\delta F_1^2(0)}F_1^2(0))(1+1\frac{1}{1+\delta F_1^2(0)}) $$
Derivation
Use definition for Swap Rate
$$ \frac{B(0,T_1)}{B(0,T_1)+B(0,T_2)}F_0^1(0) + \frac{B(0,T_2)}{B(0,T_1)+B(0,T_2)}F_1^2(0) = S_0^2(0)$$
Now use
$$ (1 + \delta F_0^1(0))(1+\delta F_1^2(0)) = \frac{1}{B(0,T_2)} $$
and
$$ (1 + \delta F_0^1(0)) = \frac{1}{B(0,T_1)}$$ which leads to
$$ \frac{\frac{1}{(1 + \delta F_0^1(0))}}{\frac{1}{(1 + \delta F_0^1(0))} + \frac{1}{(1 + \delta F_0^1(0))(1+\delta F_1^2(0))}}F_0^1(0) + \frac{\frac{1}{(1 + \delta F_0^1(0))(1+\delta F_1^2(0))}}{\frac{1}{(1 + \delta F_0^1(0))} + \frac{1}{(1 + \delta F_0^1(0))(1+\delta F_1^2(0))}}F_1^2(0) = S_0^2(0)\\ \Leftrightarrow \frac{1}{1+\delta F_1^2(0)} F_0^1(0) + \frac{1}{2+\delta F_1^2(0)}F_1^2(0) = S_0^2(0) $$ which is equivalent to my the expression above.Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)
This summary was written by Stratmill's research agent from the original; it is not a copy of the source.