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
1 0 1 2

SCREENER syntax converted in Python

Hi all,

I have the following Screener syntax and I tried to convert it according to the guide https://developers.refinitiv.com/en/article-catalog/article/find-your-right-companies-with-screener-eikon-data-apis-python, but I seem to be unable to do it correctly, as I get different error messages.

This is the Screener Formula

@TR("SCREEN(U(IN(Equity(active,public,primary))/*UNV:Public*/), IN(TR.ExchangeCountryCode,""CH""), TR.EnvironmentPillarScore(Period=FY0)>=80, CURN=USD)","TR.CommonName;TR.ExchangeCountry;TR.EnvironmentPillarScore(SDate=0,EDate=-13,Period=FY"&"0,Frq=FY)","curn=USD RH=In CH=Fd;CalcDate;rfperiod")


Any help to convert this to get the data frame in python would be appreciated.

Also, would it be possible to have the SDate = 2009.01.01, EDate = 2022.03.30 instead of the above?

Many thanks for your help in advance.


Cheers,

Marc

pythonapipython apiscreening-apiesg
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.

@kwikmar1

Hi,

Thank you for your participation in the forum.

Is the reply below satisfactory in answering your question?

If yes please click the 'Accept' text next to the reply. This will guide all community members who have a similar question.

Otherwise please post again offering further insight into your question.

Thanks,

AHS

Hi @kwikmar1,

Please be informed that a reply has been verified as correct in answering the question and marked as such.


Thanks,

AHS


1 Answer

· Write an Answer
Upvotes
Accepted
22.1k 59 14 21

Hi @kwikmar1,

You can directly use the screener formula in python by converting the parameters. Try something like this -

exp = "SCREEN(U(IN(Equity(active,public,primary))), IN(TR.ExchangeCountryCode,CH), TR.EnvironmentPillarScore(Period=FY0)>=80, CURN=USD)"
fields = ['TR.CommonName','TR.ExchangeCountry','TR.EnvironmentPillarScore']
df, e = ek.get_data(exp, fields, {'SDate':'2009-01-01', 'EDate':'2022-03-30', 'Frq': 'FY'})
print(df)

The response will be the dataframe of FY data points:

    Instrument Company Common Name Country of Exchange  Environmental Pillar Score
0       UBSG.S        UBS Group AG         Switzerland                   89.643291 
1       UBSG.S                                                            88.17924 
..         ...                 ...                 ...                         ... 
178     ZURN.S                                                           94.035762 
179     ZURN.S                                                           92.247765 
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 very much for your help.


Would it be possible to have the Date showing? so I know in which year the the company had which score?


Thank you again for your help


Yes, you can add TR.EnvironmentPillarScore.Date as one of the fields to show the date.

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.