I am trying to determine how CME calculated their Implied Repo Rates in table 3 on the penultimate page of the Understanding Treasury Futures Document:


The quotes for the ten year note contract are presented from October 10, 2017, with futures price 125.265625. For simplicity, let's stick with the CTD, which has 2.375% coupon, August 15, 2017 maturity, a clean cash price of $101.2266, and treasury conversion factor of 0.8072.

Following the The Treasury Bond Basis by Burghardt et. al., I use the following formula (there are no interim coupons, so I use this simpler expression)

$ \left( \frac{\mathrm{Invoice Price}}{\mathrm{Purchase Price}} -1 \right) \times \left(\frac{360}{n}\right)$,

where $n$ is the number of days until delivery, and the Invoice and Purchase Price include accrued interest: $\mathrm{Invoice Price} = \mathrm{FuturesPrice}\cdot\mathrm{CF} + \mathrm{AI}_d$, $\mathrm{PurchasePrice}=\mathrm{CleanPrice}+\mathrm{AI}_s$, and $\mathrm{AI}_d$ and $\mathrm{AI}_s$ correspond to accrued interest at delivery date and settlement date respectively.

I calculate the accrued interest at settlement to be $\mathrm{AI}_s=\\\$0.367867$ per $\\\$100$ face value for the ten year notes. I use the number of days between October 11 2017 (settlement) until the last delivery date (December 29 2017) for $n$. This gives an accrued interest at delivery of $\mathrm{AI}_d=\\\$0.877717$.

Putting this all together, I get the following:

$ \mathrm{IRR} = \left( \frac{\mathrm{125.265625\cdot 0.8072+0.877717}}{\mathrm{101.2266+0.367867}} -1 \right) \times \left(\frac{360}{79}\right)=1.783695\%$,

which is quite far off from CME's listed value of 1.42%. Where have I gone wrong? I tried doing the calculation for a range of delivery dates, looping from November 25 to December 29. I saw a rate of 1.423% on November 26, but this date makes no sense, because the earliest delivery date would be the first day of the delivery month (December in this case.)


2 Answers 2


Inclined to say that if CME uses the same methodology as Burghardt, then the IRR is wrong (assuming all the inputs are correct in that table, which they seem). Using Bloomberg this is what we get:

enter image description here

The value is quite close to what you're calculating. In any case, the calculation is:

$$r = \frac{(125+8.5/32)\times0.8072+0.877717-0.3561413-101.2266}{(101.2266+0.361413)\times(80/360)}$$

which gives the $1.79$ from the table (above values are rounded but you get the idea).

Note that there are 80 days between settlement date 10/10/2017 and (last) delivery date 29/12/2017.

  • $\begingroup$ Thank you for reply. This is quite helpful. The Burghardt formula gives a reasonably close answer to the Bloomberg for the notes that I checked from the screenshot. Interesting that the CME literature has different cash prices for all the notes except the 08/15/24. I would assume the Bloomberg terminal is more accurate than CME for the cash prices (I do not have access to a Bloomberg terminal.) My next question would be what methodology is CME using to calculate the IRR? I wonder if they use the first delivery date and possibly 365 day count; I find it strange that CME result is so different. $\endgroup$ Commented Jul 31, 2022 at 21:35
  • $\begingroup$ I've ran some tests using different delivery dates and day counts. Using 365 days increases the IRR whereas shortening the delivery period reduces it (makes intuitively sense). Assuming the first delivery date (1st Dec with 52 days to delivery) we get an IRR around 1.52, still far off from the CME's value. I don't know how responsive the CME's support desk is but perhaps shoot them a message? Their documentation doesn't clarify the methodology. $\endgroup$
    – oronimbus
    Commented Aug 2, 2022 at 8:55
  • $\begingroup$ Good answer, but looks like a typo in the formula. You mistyped the accrued interest at settlement number in the numerator. It's .361413 not .3561414. Anyway, thanks for the explanation. $\endgroup$ Commented Nov 15, 2023 at 15:05
  • 1
    $\begingroup$ It is disappointing that a CME publication is inaccurate (or unclear?). It would seem worth bringing to the attention of the authors or someone in the research dept. $\endgroup$
    – nbbo2
    Commented Nov 16, 2023 at 15:42

I get the same as @oronimbus using my own pricing library github.com/attack68/rateslib, for those without BBG (and BBG formulae are not transparent)

from rateslib import *

ust = FixedRateBond(
    effective=dt(2017, 8, 15),
    termination=dt(2024, 8, 15),
usbf = BondFuture(
    delivery=(dt(2017, 12, 1), dt(2017, 12, 29)),
    settlement=dt(2017, 10, 10)

enter image description here


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.