I have a big dataset containing zero-coupon bond yields with different relative maturities. I fix a time horizon on my dataset and I want to calculate instantaneous forward rate. I'm going to write how I calculated:

The yield curve is given by: $Y(t,T)=-\frac{\log(P(t,T))}{T-t}$ formula.

So by inverting it we get bondprice:


We get instantaneous forward rate from partial derivate of $\log(P(t,T))$ by $T$ so the formula I use is:


where $T_0=0$.

My goal is to set up an observation matrix of instant. forward rates for volatility estimation in a model and I want to be sure if my pre-calculations are fine. Thanks for help in advanced.


1 Answer 1


Your overall approach is correct. However to my knowledge it is formally more appealing to work with a parameterized and smoothed yield curve.

Basically one assumes that the yield curve can be described by a smooth function $r(t,\alpha, \beta,\gamma)$ (mostly of three parameters)

Given a set of market data $Y(t,T_1)\dots Y(t, T_n)$ one looks for parameters $\alpha,\beta,\gamma$ so that the distance $\sum_{i=1}^n (r(T_i,\alpha,\beta,\gamma)-Y(t,T_i))^2$ is minimized (depending on the choice of $r$ one might have to use a numerical optimization routine) After $\alpha, \beta,\gamma$ have been found they are seen as fixed inputs.

This method has two significant advantages:

  1. Due to the continuity of $r(t,\alpha, \beta,\gamma)$ one can calculate yields for maturities not quoted by the market via $r(T,\alpha, \beta,\gamma)$
  2. $r(t,\alpha, \beta,\gamma)$ is smooth. Thus $P(t,T)=exp(-r(T-t,\alpha,\beta,\gamma)(T-t))$ is a smooth function and one can easily calculate $f(t,T)=-\frac{\partial P(t,T)}{\partial T}$

For more on yield curve construction I refer you to the Nelson–Siegel–Svensson model

  • $\begingroup$ Thanks for the answer. So overall, my procedure is fine in these discrete points, but I could get a better solution with a smooth function that I can derivate by T? $\endgroup$
    – user7778
    Apr 21, 2014 at 13:59
  • $\begingroup$ exactly - using the smooth function entails optimization but it is generally the cleaner way to go. This is primarily done to get the quotes for all maturities. Also a parametric form smoothes away "erratic" and unplausible behaviour. $\endgroup$ Apr 21, 2014 at 15:54

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.