I have 2 discount factor curves;

DF 1

I expected every DF curve to have the shape of the 2nd one (almost a straight line), what does it mean economically when a DF curve has the shape of the 1st one? or maybe the curve is wrong?

How could a shorter CF 2036 offer a higher yield than the latter CF 2041 enter image description here

DF 2


EDIT: In the end this is the curve I got, I believe this shape is normal. THe issue I had was with the date formats, quanlib, matplotlib.

enter image description here


2 Answers 2


If the input data is correct and there aren't any calculation errors, then the discount curve should be decreasing (just like your second chart).

Using a no-arbitrage argument, Hagan & West (2007) state:

As already mentioned, the discount factor curve must be monotonically decreasing whether the yield curve is normal, mixed or inverted. Nevertheless, many bootstrapping and interpolation algorithms for constructing yield curves miss this absolutely fundamental point.

This should be straight forward to see for a zero coupon bond $Z$ (assuming continuous compounding):

$$Z(0,t)=exp(-r(t)t) \ \Longleftrightarrow \ r(t)=-\frac{1}{t} ln Z(0,t)$$

Naturally, if you just randomly bump a zero coupon rate and recalculate the discount factors you will get a spike like in your first chart. That's why you should bump the traded instruments, then re-strip the curve and re-calculate your discount factors.

enter image description here

So to answer your question: my guess is that chart 1 doesn't show a consistent discount factor curve and there's either a calculation error or the rates $r(t)$ have been bumped like in the above example.

  • $\begingroup$ I added DF3, if you could have a look would appreciate it. $\endgroup$
    – darkuss
    Commented Jan 9, 2023 at 16:58
  • $\begingroup$ Yes looks alright to me. Best to check if you can reprice the input instruments precisely. $\endgroup$
    – oronimbus
    Commented Jan 10, 2023 at 11:37

It might be helpful to think about the forward rates that your curve implies.

While instantaneous rates are not very intuitive they are mathematically simple, so if we have a discount curve of $Z(t)$ (with the index indicating the current time suppressed) then we can define the instantaneous forward rate as $$ f(t) = -\frac{d}{dt}\ln(Z(t)) $$ See, for example, Brigo and Mercurio equation 1.23.

Given this definition, a "bump" or locally increasing section of the discount curve represents negative forward rates.

I agree with most of what @oronimbus says but negative forward rates are, strictly speaking, allowed under no-arbitrage. It is certainly very odd for them to appear in the middle of the curve and you very well may wish to construct models that only produce positive forward rates but, unless you have access to costless storage of cash, they do not violate the no-arbitrage assumption.

Our definition of the instantaneous forward rate also helps use understand what a discount curve "should" look like. If we set $f(t)$ to equal some constant rate $r$ and then integrate we get that $Z(t)=\exp(C - rt)$ where $C$ is the constant of integration. We know that $Z(t)=1$ (that is arbitrage enforced) so $C=0$ and $$ Z(t)=\exp(-rt) $$ This has the shape of your third curve.


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.