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

How to screen for companies that do not have an ESG score?

How can I adjust my screener search:

screener = f"SCREEN(U(IN(Equity(active,public,primary))/*UNV:Public*/), IN(TR.RegCountryCode,{country}), TR.TRESGScore(Period=FY{i})>0, CURN=USD"

which screens for companies that have an ESG score for a screen only returning companies that do not have an ESG score?

I have tried:

TR.TRESGScore(Period=FY{i})<=0
TR.TRESGScore(Period=FY{i})<0
TR.TRESGScore(Period=FY{i})==<NA>
TR.TRESGScore(Period=FY{i})=='<NA>'

But could not figure out a way to screen for companies NOT having an ESG score. Is there any possibility to do that?

#product#contentpython apiscreenerjupyter-notebook
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.

@lukas.kleemann

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

1 Answer

· Write an Answer
Upvotes
Accepted
5.8k 21 2 6

Hi @lukas.kleemann ,

Having a look at this article, and using this python file, I managed to make the following work:

from dataquery import *
import refinitiv.data as rd
try:  # The following libraries are not available in Codebook, thus this try loop
    rd.open_session(
        config_name="C:\\Example.DataLibrary.Python-main\\Configuration\\refinitiv-data.config.json",
        name="desktop.workspace")
except:
    rd.open_session()
query = SCREEN.express.universe(
    Equity(active=True, public=True, primary=True)) \
        .conditions(IN('TR.RegCountryCode', 'US'), FLOOR('TR.TRESGScore')) \
            .currency('USD').query
df = rd.get_data(
    query,
    'TR.TotalRevenue')
df


Is this what you were after?

1687003282851.png


FYI: the syntax object was:
SCREEN(U(IN(Equity(primary,public,active))),IN(TR.RegCountryCode,US),FLOOR(TR.TRESGScore),CURN=USD)


1687003282851.png (21.0 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.

@jonathan.legrand Thank you for your suggestion! I will test it out and see if the resulst is what I am looking for.

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.