Skip to content
All library documents

Bootstrapping Zero Rates from Swap Quotes with Missing Tenors

Article Quant Q&A · Author: Energy Media

Summary

The document discusses constructing a zero-rate curve from ESTR OIS par-swap quotes when some maturities, including intermediate long tenors, are unavailable. It outlines a bootstrap that solves discount factors sequentially from swap rates and earlier discount factors, then converts those discount factors into zero rates. The author’s simple setup treats quotes through one year as zero rates and notes that directly interpolating between the available long maturities may distort the resulting curve.

The accepted response explains that bootstrapping across a gap requires choosing a curve interpolation rule. With log-linear discount-factor interpolation, the implied forward rates are piecewise constant; the missing discount factors can then be expressed in terms of the unknown endpoint discount factor, and the endpoint swap rate can be solved, potentially with a root finder. Another response reports using this approach for ESTR OIS and notes that a pricing system may describe it as a step-function forward method. Day counts and instrument conventions are omitted, so the displayed formulas are illustrative rather than a complete production procedure.

Key ideas

  • Swap par rates can be bootstrapped sequentially into discount factors and zero rates.
  • Missing maturities require an explicit interpolation assumption to complete the curve.
  • Log-linear interpolation of discount factors implies piecewise-constant forward rates.
  • The unknown endpoint discount factor can be solved so the final curve reproduces the quoted swap rate.
  • Day-count rules and other instrument conventions are outside the simplified treatment.

Tags

Full text
# Bootstrapping the zero-curve/spot-curve from incomplete swap curve par-rates


# Bootstrapping the zero-curve/spot-curve from incomplete swap curve par-rates












TL;DR: I have an incomplete set of swap rates and want to bootstrap the zero-rate curve, what can I do?

I'm trying to construct a spot-rate/zero-rate curve from a swap curve (i.e. par-rate quotes) based on ESTR OIS swaps for tenors (OverNight; 1week; 2w; 1month; 2m; 3m, 6m; 1year; 2y; 3y; 4y; 5y; 6y; 7y; 8y; 9y; 10y; 11y; 12y; 15y). I make the assumption that all tenors up to 1y (inclusive of 1y) already are the zero-rate, since ESTR OIS swaps pay annually and thus only have one pay-out for all tenors up to one year. If it helps, here is the BBG description of the instruments I'm using:

In order to construct the spot-rate/zero-rate curve, I naturally apply bootstrapping. I.e. I use the following approach to calculate the spot-rates/zero-rates, ignoring day-count conventions for now:

First, we extract the discount factors $df$ with $s_n$ being the fixed par-rate of the swap as per the market quote

$df_n=\frac{1-s_n\times\sum_{i=1}^{n-1}df_i}{1+s_n}$

then we find the spot-rates/zero-rates from the discount factors by applying:

$zeroRate_n=\sqrt[n]{\frac{1}{df_n}}-1$

The above is of course done in an iterative way, progressing forward on the curve. My starting rate, as implied earlier, is the 1y-tenor par-rate, which I take to be a spot-rate as is.

However, as the given tenors are missing the 13y- and 14y-tenor, I am at a loss as to what I should do when trying to calculate the 15y spot-rate/zero-rate... Upon browsing the web, little can be found w.r.t this issue. All articles and papers I found assume a complete information set. Of course I have tried linearly interpolating between the 12y- and 15y-tenor, but this is unsatisfactory as it results in a kink and seems overly simplistic and will heavily influence the result.

Ultimately, I'm trying to construct a panel dataset of zero-rate curves to experiment with various Dynamic Nelson Siegel (DNS) models.

## Answer by Attack68 (score 2, accepted)

https://quant.stackexchange.com/a/78052

You need to assert an interpolation scheme for your curve model.

If you use log-linear then the overnight rates between 12y and 15y will be constant and this provides a way of determining the 13y and 14y discounty factors as a function of the known 12y DF and the unknown 15y DF which allows the bootstrap to continue. The equations are obviously less tractable than above and you may need a root solver.

You can also use other interpolation schemes which may or may not be more or less difficult to implement but still work on the same principle of having to derive the 13y and 14y DFs based on the unknown 15y value, such that the end result returns the 15y swap rate.

## Answer by aghilario (score 0)

https://quant.stackexchange.com/a/78055

I've also recently implemented bootstrapping for ESTR OIS swaps and used a log-linear interpolation on the discount factors. Log-linear interpolation results in a piecewise-constant forward rates. I believe this is also the default in Bloomberg when pricing a swap through SWPM, note that Bloomberg calls it the step-function forward method.

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.