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.

Welcome!

It looks like you're new here. Sign in or register to get started.

Best Answer

  • Jirapongse
    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

  • Jirapongse
    Jirapongse ✭✭✭✭✭

    @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.

  • zxiaoah
    zxiaoah Newcomer

    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.

  • zxiaoah
    zxiaoah Newcomer

    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?

  • zxiaoah
    zxiaoah Newcomer
    Thank you! It works perfectly.
  • zxiaoah
    zxiaoah Newcomer

    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.

Welcome!

It looks like you're new here. Sign in or register to get started.

Welcome!

It looks like you're new here. Sign in or register to get started.