How to retrieve peers multiple mean/median for a list of companies at given date

I have a csv file containing the list of RICs and specific date for each RIC, like this:image

I want to retrieve the mean and median multiple (P/E, EV/EBITDA) for each company at its specific date, and I've written the following code:

df=pd.read_csv(loc)


dataset=[]

df2=df["ticker"].values.tolist()

df3=df["date"].values.tolist()


for x in range(0,1):

keyword=df2[x]

date=df3[x]

data,err = ek.get_data('Peers("keyword")', ["TR.EVToEBITDA", "TR.PE"],{'SDate':date})

dataset.append(data)


the code is not working, especially the Peers("keyword") is treated as a string and Peers function doesn't work. I am wondering how can I modify my code to reach my goal.

Best Answer

  • Jirapongse
    Answer ✓

    @zxiaoah

    The date format is incorrect. The correct format is 2014-01-09.

    Therefore, the code should be:

    df=pd.read_csv(loc)
    dataset=[]
    df2=df["ticker"].values.tolist()
    df3=df["date"].values.tolist()

    for x in range(0,1):
        keyword=df2[x]
        date=df3[x]
        print(keyword, date)
        data,err = ek.get_data('Peers({})'.format(keyword), ["TR.EVToEBITDA", "TR.PE"],{'SDate':date.replace('/','-')})

Answers

  • @zxiaoah

    I have run this code:

    data,err = ek.get_data('Peers("1353.HK")', ["TR.EVToEBITDA","TR.PE"], {'SDate':'2014-01-09'})
    data

    The output is:

    image

    From the result, the Peers function works fine.

  • Thank you! but I have a list of over 600 stocks and manually changing instrument and date takes too much time. is there a way that I can use for loop or other to do that?

  • Hi @zxiaoah

    https://www.w3schools.com/python/python_for_loops.asp

    You can consider using loop in Python.

    So you would have a list of RIC and Date in each loop and do the API call.

  • Thanks! I tried to use loop in my original code (shown above) but the "keyword" is always intrepreted as a string instead of the RIC I want. Could you give me some hints on how to modify my code?

  • Thank you! It works perfectly.
  • Hi, I want to know if I can calculate the mean or median of the multiple of peers for a certain company within each loop? so that I can return a data frame with peer mean/median for each RIC.