I'm reading a material on DV01 calculation which use a example as follows:

current 10-year Treasury note that is cheapest-to-deliver into the March 2009 10-Year Treasury Note futures contract: the 5-1/8s of May 15, 2016. The last trade for this note was 108-19 (i.e., 108 and 19-32nds or 108.59375), which represents a yield-to-maturity of 3.79%. The cash price represented here is $108,593.75


Thanks to the information provided in noob's comment, the anual coupon is 5.125. time to maturity is 2016-2009=7 years. According to the YTM formula:

$$ YTM = [(Face value / Present value)^{1/Time period} ]-1 $$ $$ YTM = [(5.125 \times 7 + 100)/108.59375] ^ {1/7} -1 = 3.25\% $$

the caculation does not match the stated result 3.79%.

  • 1
    $\begingroup$ May 15, 2016 was the maturity and 5.125 (percent) was the per year coupon (received in two halves, at 6 month intervals). By convention "one bond" is 1000 of face value, and one contract calls for the delivery of one bond. Standard formulas (and standard code) exist for the yield to maturity, in essence it is an internal rate of return type calculation based on how much money you put in to buy the bond vs how much money you get back from coupons and return of principal. $\endgroup$
    – nbbo2
    Sep 5, 2020 at 23:13
  • $\begingroup$ Thanks for the information. I updated my question. I got different number as a result. $\endgroup$
    – techie11
    Sep 6, 2020 at 0:24
  • $\begingroup$ That is not the right formula for YTM, the coupons are not received after 7 years, they are received as the 7 years go by. Don't calculate YTM on your own, use a professional quality piece of code (the details are quite tricky (for ex how to handle holidays, leap years, etc.)) if you want exact results. $\endgroup$
    – nbbo2
    Sep 6, 2020 at 0:46

1 Answer 1


You need to be reading a more beginner-oriented tutorial on bond maths.

Several of the details in your question are irrelevant: the mention of dv01 (although it might be the next step after you figure out the yield) and the fact that this note is the cheapest to deliver for some futures contact is also irrelevant. The fact that the note "last" traded at some price is only slightly relevant. You should be able to convert any price to yield and vice versa.

You ask what "the 5-1/8s of May 15, 2016" means. This means, the note having 5.125% annual coupon rate and May 15, 2016 maturity date. The combination of coupon rate and maturity is often used to identify a particular issue. I lookeed it up. FYI, it has cusip 912828FF2.

You need to know that the market convention for U.S. treasury notes and bonds is to pay semi-annual coupon equal to 1/2 of the quoted annual rate, i.e. 2.5625% every 6 months, and to repay the principal at maturity as a bullet payment. Other kinds of bonds have different market conventions.

The 19 cash flows of your note are:

11/15/2006 2.5625% coupon

05/15/2007 2.5625%

11/15/2007 2.5625%

05/15/2008 2.5625%

11/15/2008 2.5625%

05/15/2009 2.5625%

11/15/2009 2.5625%

05/15/2010 2.5625%

11/15/2010 2.5625%

05/15/2011 2.5625%

11/15/2011 2.5625%

05/15/2012 2.5625%

11/15/2012 2.5625%

05/15/2013 2.5625%

11/15/2013 2.5625%

05/15/2014 2.5625%

11/15/2014 2.5625%

05/15/2015 2.5625%

11/15/2015 2.5625%

05/15/2016 2.5625% coupon + 100% principal

Observe that we use "quasi-dates", not bumped for weekends or holidays. You need to know when to use them and when to use bumped dates.

Your remaining question is, given the (clean) price of the note, how do you calculate the yield. This cannot be done with the information you've provided because you did not include the settlement date. Your information is insufficient.

If you had the settlement date, then you would need to know how to discount the remaining cash flows using the given yield to arrive at the dirty price; how to calculate the coupon accrued from the start of the coupon perdiod to the settlement date using the note's daycount convention; and subtract the accrued from the dirty price to arrive at the clean price.

To go the other way, from clean price to yield, generally cannot be done using closed form. You need to try different values of yield until you match your price closely enough. Brent works well here. This is not practical to solve for yield manually, but you need to understand what the computer does for you.

There are also some special rules that apply only to price-yield of U.S. treasury notes and bonds (not to corporate bonds) during the last coupon period.

As noob2 said, you should walk through some good code in a debugger to understand how to project cash flows, how to calculate price from yield, and how to solve for yield given a price.

  • 1
    $\begingroup$ Thanks for the elaboration on the subject. The example was found here: cmegroup.com/trading/interest-rates/files/…. I initially thought a straightfoward formula can be used to calculate YTM. sound like many more nitty-gritty in it :) $\endgroup$
    – techie11
    Sep 6, 2020 at 15:59

Not the answer you're looking for? Browse other questions tagged or ask your own question.