I am running a regression analysis on a bondxday panel to explain the variation in repo rates. The dependent variable is the weighted average rate of all repo transactions which are conducted on a specific day and which are collateralized with a specific bond. All considered (collateral) bonds are Eurozone government bonds. In this analysis, I want to control for cheapest-to-deliver (CTD) bonds.

To this end, I want to construct an indicator variable which identifies whether a bond in my sample is the CTD on a certain day. I am struggling to query this data from Bloomberg.

  1. Are Euro-Bund (DE), Euro-BONO (ES), Euro-OAT (FR), Euro-BTP (IT) all future contracts I should consider for my sample of bonds?
  2. From the BB-Excel Add-In, how can I obtain a daily series that indicates for a specific future contract which bond is the CTD? I know that in the Terminal I can, for example, type RXA Comdty and CTD, and look out for the bond with the highest Implied Repo % value.


  • $\begingroup$ Did you ask Help Help (F1 F1)? $\endgroup$
    – AKdemy
    Jul 12 at 11:09

Best to ask the Help Desk in my opinion.

=BDH("RX1 COMB Comdty","FUT_CTD_CUSIP","20150101"," ") in excel for example (works also with active or whatever future in the chain)


Yes, on the terminal it is HCTD - that formula pulls the same info. You cannot do all contracts in a chain at once (that I know of). The generics are always "chaining" them together. =BDH("RX1 Comdty","FUT_CUR_GEN_TICKER","20150101"," ") shows the contracts associated with the generic at the specific date.

If you need all, there are a few ways. RXA Comdty DES shows (or also CT page) shows you that there is only H, M, U, and Z for quarters and the associated year. RXH, RXM, with RXM19, RXM12 for June 2012. Should be easy to loop through if needed. =BDS("RX1 Comdty","FUT_CHAIN", "CHAIN_DATE=20180713" gives you the entire chain at a given date. Depends what you feel works better I suppose.

  • $\begingroup$ Just for the record: in terminal, you can load the specific future contract, e.g. RXZ19 Comdty, then look for HCTD (Historical CTD) and extract this to an Excel spreadsheet. $\endgroup$
    – Jhonny
    Jul 13 at 8:40
  • $\begingroup$ This works, thanks. I did contact the help desk and they claimed I needed to go via the Terminal, but I verified your procedure. However, it seems that I have to query the time series for a specific future contract, e.g. RXZ17 Comdty, but not for all contracts in a chain at once. Is this correct? $\endgroup$
    – Jhonny
    Jul 13 at 8:43
  • $\begingroup$ @Edit: As a newcomer to Bloomberg, I took a more manual approach with the Terminal to collect all future contracts relevant to my project and eventually queried CTD through Excel. Thanks for the explanations, though, I am sure I will need it in the future. $\endgroup$
    – Jhonny
    Jul 14 at 7:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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