For a deeper look into our Eikon Data API, look into:

Overview |  Quickstart |  Documentation |  Downloads |  Tutorials |  Articles


0 1 2 3

Construction of Corporate Bonds DTS measure.

I am trying to construct the DTS measure for a list of corporate bonds in a monthly basis for the last 5 years. But I am struggling in finding the right variables (due to the multitude of definitions, and no historical availability ).

Any suggestions?

"Duration Times Spread (DTS) is the market standard method for measuring the credit volatility of a corporate bond. It is calculated by simply multiplying two readily available bond characteristics: the spread-durations and credit spread. The result is a single number that can be used to compare credit risk across a wide range of bonds."

df, err = ek.get_data(
    instruments = ['XS1416688890','DE000A194DE7','FR0013405032','XS1416688890'],
    fields =['TR.ISIN',
    parameters={'SDate':'2019-12-01','Frq':'M', 'EDate':'2020-12-01'}


From intuition, I would like to use 'TR.FiOptionAdjustedDuration' and 'TR.CREDITSPREAD'. But these columns return N/As values.

Is there a way to work this around?

Other columns are available, such as 'TR.MODIFIEDDURATION' and 'TR.INTERPOLATEDGOVERNEMENTSPREAD'. But given the definitions, I am not sure if is a good choice to use them for the DTS.


icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

1 Answer

39.3k 76 11 27


'TR.MODIFIEDDURATION' and 'TR.INTERPOLATEDGOVERNEMENTSPREAD' seem like a reasonable choice to me. The article you referenced provides the definition of DTS as modified duration times spread. It does not specify that duration must be option adjusted. According to the article DTS is aimed to be a measure of credit volatility of a bond. I personally don't have a strong opinion about what effect (if any) embedded options have on credit volatility. But given that the intent for DTS is to be an easy to calculate measure, using option adjusted duration would probably be an overkill. Regardless, since Refinitiv does not provide timeseries of historical option adjusted duration (field TR.FiOptionAdjustedDuration is not available as historical timeseries), you couldn't use it for your purposes anyway. So, use what you can get, i.e. unadjusted modified duration. As for the choice of the spread, it should correspond to whatever credit spread volatility you want to measure. E.g. if you want to use DTS as a measure of volatility of swap spreads, then you need to use swap spread to calculate DTS. If you don't have a specific spread in mind and intend to use DTS as a generic measure of credit volatility of a bond, then interpolated treasury spread seems like a good choice because it's widely available.

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Thank you Alex, for always pointing to the right direction!