Upgrade from Eikon -> Workspace. Learn about programming differences.

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

Overview |  Quickstart |  Documentation |  Downloads |  Tutorials |  Articles

question

Upvotes
Accepted
3 1 1 1

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:

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.

eikoneikon-data-apipythonrefinitiv-dataplatform-eikonworkspaceworkspace-data-apiricspeers
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.

Upvote
Accepted
78.8k 250 52 74

@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('/','-')})
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! 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.

Upvotes
78.8k 250 52 74

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

From the result, the Peers function works fine.


1596516028950.png (22.9 KiB)
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! 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?

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

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