Skip to content
All library documents

Calculating Par Rates from Spot Curves and Discount Factors

Article Quant Q&A · Author: Soham

Summary

The document presents a question about converting a hypothetical spot curve into par rates across short and long tenors. It describes a short-tenor formula using the discount factor for that maturity and a day-count adjustment, then a longer-tenor formula based on the difference between par value and the terminal discount factor divided by a sum of discount factors. The reported long-maturity result is unexpectedly high, prompting concern about the method.

This is a problem statement rather than a resolved tutorial: it supplies example spot rates, calculated par rates, and a discount-factor illustration, but includes no accepted answer or corrected procedure. It therefore highlights the need to check cash-flow timing, coupon frequency, accrual conventions, and consistency between the spot curve and discount factors when deriving par yields. The numerical example alone does not establish which assumption causes the discrepancy, and the document does not give enough detail to reproduce a full bootstrap.

Key ideas

  • Par rates are derived from discount factors that price a coupon instrument at par.
  • Short-tenor calculations may use a day-count adjustment distinct from longer coupon tenors.
  • The example produces an unexpectedly high long-maturity par rate, raising questions about the formula.
  • Coupon dates, accrual conventions, and curve construction affect the calculation.
  • The document poses the issue but does not provide a definitive correction.

Tags

Full text
# Bootstrapping Par Curves from Spot and their values with respect to each other


# Bootstrapping Par Curves from Spot and their values with respect to each other












Context I am trying to code a general algorithm to 'convert' a spot curve to a par curve for any given curve. This is part of a larger problem - where I need to calculate par rate for any given spot curve and for any given tenor.

Consider the following instance of a spot curve (completely hypothetical):

| Tenor | Spot |
| 1mo | 1% |
| 40d | 1.5% |
| 3mo | 2.0% |
| 120d | 2.5% |
| 1y | 5% |
| 2y | 8.5% |
| 3y | 10% |
| 10y | 18.25% |

Problem

When I try to code using the calculation methodology as below, my results for par curves at the 10 year tenor is higher than the spot curve rate. However the problem gets solved if I change the last tenor from 10yr to 4yr.

Following are my numbers for par curve:

| Tenor | Spot |
| 1mo | 0.9954% |
| 40d | 1.4901% |
| 3mo | 1.9852% |
| 120d | 2.4795% |
| 1y | 5% |
| 2y | 8.3551% |
| 3y | 9.7403% |
| 10y | 29.67% |

CALCULATION METHOD

- For tenors upto 1year, I am using the following formula:

$par(N)$ = $\frac {1-df(N)}{df_{N}} *\frac{360}{N}$

- For tenors greater than 1 yr I am calculating the par rate for each tenor by the following formula (assuming $1 notional):

$par(N)$ = $\frac {1-df(N)}{\sum_{i=1y}^{N} df_{i}}$

$df(i)$ is the discount factor calculated using the spot rate for that period. For example, using the spot rate as above:

$df(1y) \approx 0.952381$ (calculated by $\frac{1}{(1+r)^{t}}$, where t is in years)

I am having a hunch that my formulas are wrong (even though I derived it myself and not sure where I am exactly wrong), or my "basic" knowledge of bootstrapping is wrong. Please help.

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.