What's new

Convexity Calculation

mathman

New Member
Hi David,

I was checking if both the formulas of convexity that I know lead to the same solution. I had posted this in another topic but am still confused. Could you please help me.

There are 2 formulas for convexity that I used:

1. C = [ BV(2) + BV(1) - 2*BV(0) ] / BV(0) * (delta y)^2

2. C = Summation of ( t^2 + t) * Present Value of Cash Flow / [ Current Bond Value * (1 + y)^2 ]

The Question: What is the convexity of a bond which pays a coupon of 2.5 every 6 months for 2 years and a principal of 100 at the end of 2 years. The market rate is 4.5% compounded semi annually.

When using the 1st formula I got 4.53

Here is the calculation:
BV2 = 102.873 (when interest rate is 3.5%)
BV1 = 99.06514 (when interest rate is 5.5%)
BV0 = 100.9462 (when interest rate is 4.5%)


When using the 2nd formula I got 5.23

Here is the calculation for the 2nd formula:

t(t+1) * PVCF = 1.84, 4.78, 8.77, 562.62
Sum of the above: 578.01

denominator: B ( 1 + y )^2 .... Now B = 100.95 and taking y = 4.5% we get this = 110.24
So convexity = 5.24

(I am also confused about what value of y to take. The effective annual yield comes to 1.04551. Should I use this instead? This gives convexity = 5.23)

Please let me know if there is something wrong.

Thanks.
 

David Harper CFA FRM

David Harper CFA FRM
Staff member
Subscriber
Hi mathman,

Re your (1), which is effective convexity, my calc ~agrees with yours (i.e., 100 bps shock --> convexity 4.559 with difference due to your rounding, far as i can tell, since our three prices agree).

Re your (2), I think your mistake is: in this case of semi-annual discounting (k = 2), you want to multiply each PV cash flow by [t*(t+0.5)]; i.e., when you see [t*(t+1.0)] that refers to annual compounding but implicitly it is [t*(t+1.0/k), where k = number of periods [1 or 2]. So, see below, the sum of that right-most column is something I might call Macaulay Convexity (4.7618) which is translated into ("modified") convexity by, analogous to duration translation, dividing by (1+y/k). In this case, 4.7618/(1+4.5%/2)^2 = 4.554508. Or, equivalently each of the rows can be instead given by PV(cash flow) * t * (t+0.5) * 1/(1+4.5%/2)^2, then the sum of the column, divided by price, will equal the (modified) convexity of 4.55. As expected, this is near to the approximation; i.e., the 1st (a secant function) is an approximation of the exact 2nd.

from our xls:

 
Top