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:

Bloomberg Terminal EUR SWAP OIS ESTR description

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


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


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.


2 Answers 2


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.

  • $\begingroup$ Would you happen to have a good reference article or a paper that you can refer to that explains the methodology, e.g. log-linear interpolation of discount factors? Thanks! $\endgroup$ Jan 20 at 9:37
  • $\begingroup$ I've found a good description of the general interpolation methodology. If it helps anyone else, it is described on page 46: mpra.ub.uni-muenchen.de/62086/1/MPRA_paper_62086.pdf $\endgroup$ Jan 21 at 10:44

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.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.