• C++ Programming for Financial Engineering
    Highly recommended by thousands of MFE students. Covers essential C++ topics with applications to financial engineering. Learn more Join!
    Python for Finance with Intro to Data Science
    Gain practical understanding of Python to read, understand, and write professional Python code for your first day on the job. Learn more Join!
    An Intuition-Based Options Primer for FE
    Ideal for entry level positions interviews and graduate studies, specializing in options trading arbitrage and options valuation models. Learn more Join!

How is convexity of this bond computed?

A ten-year Treasury security with 2-1/8 percent coupons, its price is (P = 98.39) and its yield is (y=2.306 ). I would like to compute its convexity. Here is how I did it.

Note that the yield is annual yield, so the semiannual interest rate is ( y/2).
Each coupon is paid semi-annually and is (C = 100 ×2.125/100/2= 1.0625.)

The convexity (by the formula given at Chapter 3 Section 3.7 Convexity of Investment Science by Luenberger) is
&= \frac{1}{P(1+y/2)^2} (
\frac{100+C}{(1+y/2)^{20}} (20^2+20)/2^2
+ \sum_{t=1}^{19} \frac{C}{(1+y/2)^t} (t^2+t)/2^2)
\\&= \frac{1}{98.39 \times (1+0.02306/2)^2} (
\frac{100+1.0625}{(1+0.02306/2)^{20}} (20^2+20)/2^2
+ \sum_{t=1}^{19} \frac{1.0625}{(1+0.02306/2)^t} (t^2+t)/2^2)
\\&= 89.75947

But the solution is 94.18. Where am I wrong? Thanks for help!