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

Best Answer

  • Gurpreet
    Answer ✓

    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

Answers

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