CDS Spreads

Hello


I have a list of companies, e.g. Apple and Microsoft. I need their yearly CDS spreads (at end of year). How do I get this? I am doing something but I am not sure.


data, error = ek.get_data(['VOD.L','AAPL.OQ','MSFT.OQ'],'TR.CDSPrimaryCDSRic')
result = data["Primary CDS RIC"]
df,e = ek.get_data(result,
                   ['TR.CDSType', 'TR.PARMIDSPREAD.date', 'TR.PARMIDSPREAD'],
                   {'SDate': '2018-01-01', 'EDate': '2018-01-30', 'DateType': 'AD', 'CURN': 'EUR'})
df

My first problem: result does not work as a list.

Second problem: What should I change in the parameters so that I get the end of year CDS spread for each of my stocks from, say, 2008 until now?

Best Answer

  • Hello @staff2,

    Try:

    data, error = ek.get_data(['VOD.L','AAPL.OQ','MSFT.OQ'],'TR.CDSPrimaryCDSRic')
    pcrs = data["Primary CDS RIC"]
    df,e = ek.get_data(pcrs.tolist(),
                       ['TR.CDSType', 'TR.PARMIDSPREAD.date', 'TR.PARMIDSPREAD'],
                       {'SDate': '2018-01-01', 'EDate': '2018-01-30', 'DateType': 'AD', 'CURN': 'EUR'})
    df

    If you like to loop some end of years, in my understanding, a simple, perhaps not the most elegant way would be:

    import pandas as pd
    dfRes = pd.DataFrame()
    for year in range(2008, 2020):
        dfIter,e = ek.get_data(pcrs.tolist(),
                       ['TR.CDSType', 'TR.PARMIDSPREAD.date', 'TR.PARMIDSPREAD'],
                       {'SDate': str(year)+'-12-30', 'EDate': str(year)+'-12-31', 'DateType': 'AD', 'CURN': 'EUR'})
        dfRes = dfRes.append(dfIter)
    dfRes

    Resulting in

    image


    This approach can be adjusted to your requirements in terms of the date range ( I am pulling both 12-30 and 12-31 just in case)


Answers

  • Hello @zoya faberov,

    do you know if it would be possible to not look for the CDS spreads of a fixed company during a specific time but rather look for all CDS that were traded during a specific time range ? I would like to look for all CDS´s that were trade during 2007-2010 for example. Can you help me out here ?