Let's say that I have a bond that pays coupon on a semi-annual basis. Therefore, the price of this bond can be calculated using the following formula:

$$ P = \sum_{i=1}^N \frac{CF_i}{(1 + YTM/2)^{2t_i}} $$

First derivative of the above is:

$$ \frac{\partial P}{\partial YTM} = \frac{1}{(1 + YTM/2)} \sum_{i=1}^N \frac{-2t_iCF_i}{(1 + YTM/2)^{2t_i}} $$

Second derivative (aka convexity) of the Price function is:

$$ \frac{\partial^2 P}{\partial YTM} = \frac{1}{(1 + YTM/2)^2} \sum_{i=1}^N \frac{({4t_i}^2+2t_i)CF_i}{(1 + YTM/2)^{2t_i}} $$

And the generalized form of the convexity formula for bonds that pay multiple coupons per year is:

$$ \frac{\partial^2 P}{\partial YTM} = \frac{1}{(1 + YTM/f)^2} \sum_{i=1}^N \frac{({(ft_i)}^2+ft_i)CF_i/f}{(1 + YTM/f)^{ft_i}} $$

I am getting slightly different results when I compare my results with Bionic Turtle. Is there any mistake in my derivation?

Thank you!

  • $\begingroup$ Your starting formula for $P$ should be $P=\sum_{t=1}^{2T}\frac{Coupon/2}{(1+YTM/2)^{t}}+\frac{100}{(1+YTM/2)^{2T}}$ $\endgroup$
    – nbbo2
    Nov 20, 2017 at 15:16
  • $\begingroup$ You left out one term (the face value) and you are not "stepping" the exponent in the denominator of the 1st term correctly. $\endgroup$
    – nbbo2
    Nov 20, 2017 at 15:18
  • $\begingroup$ I just made some modifications to avoid the confusion regarding the Face Value -- let's call all the receivables cash flow ($ CF_i $). But I am still not too sure about the time periods that are used ... $\endgroup$
    – AK88
    Nov 21, 2017 at 3:30

1 Answer 1


You have left out the chain rule term in the first derivative and second derivative.

First derivative should be: $$\frac{\partial P}{\partial YTM} = \frac{1}{2(1+YTM/2)} \sum_{i=1}^N \frac{-2 t_i CF_i}{(1+YTM/2)^{2 t_i}} $$

Second derivative should be: $$\frac{\partial^2 P}{\partial YTM^2} = \frac{1}{4(1+YTM/2)^2} \sum_{i=1}^N \frac{(4 t_i^2 + 2t_i) CF_i}{(1+YTM/2)^{2 t_i}} $$

With the "f" instead of "2": $$\frac{\partial^2 P}{\partial YTM^2} = \frac{1}{f^2(1+YTM/f)^2} \sum_{i=1}^N \frac{(( f t_i)^2 + f t_i) \cdot CF_i}{(1+YTM/f)^{f t_i}} $$

Hope this helps!


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.