If you have a workflow which requires to search for companies that match your criteria.

For example:

"Companies that Market Cap is greater than 5,000M USD, in NYSE, in Energy business and 3 months return is more than 15%"

"Companies that 3 months return is more than 15%, 52 weeks return is more than 10% and is in the Stock Exchange of Thailand"

 

This article will guide you to the following topics:

1. Use the SCREENER app to define a search syntax

2. Use Eikon Data APIs (Python) to retrieve companies list from the defined syntax.

Sample code and Jupiter notebook file is available for download at the end of this article

SCREENER App on Eikon Desktop

SCREENER is a flexible idea-generation tool that allows you to find securities in the investable universe that display certain characteristics and match your investment philosophy or style.

You can create simple and sophisticated filters and ranks on a broad range of factors to identify new investment opportunities.

You can follow these steps to launch the SCREENER application

 

1. Type in "SCREENER" on Eikon search bar and press enter.

2. You can add filters on the SCREENER app

3. This is a sample filter

Eikon Data APIs (Python)

Use Eikon Data APIs (Python) to retrieve companies list with the defined filters.

You can follow below instruction to use defined filters with Eikon Data APIs

1. On the SCREENER app, click on excel icon and select Export All as Formulars

2. Open the exported file with Excel, you should see the TR function with SCREENER syntax

This is the TR function on Excel:

=TR("SCREEN(U(IN(Equity(active,public,primary))/*UNV:Public*/), TR.CompanyMarketCap>=5000000000, IN(TR.ExchangeMarketIdCode,""XNYS""), IN(TR.TRBCBusinessSectorCode,""5010"",""5020"",""5030""), TR.TotalReturn3Mo>=15, CURN=USD)","TR.CommonName;TR.CompanyMarketCap;TR.ExchangeName;TR.TRBCBusinessSector;TR.TotalReturn3Mo","curn=USD RH=In CH=Fd")

 

From this TR function, you can extract SCREENER syntax and format it in Python as the following:

syntax = 'SCREEN(U(IN(Equity(active,public,primary))), TR.CompanyMarketCap>=5000000000, IN(TR.ExchangeMarketIdCode,"XNYS"), IN(TR.TRBCBusinessSectorCode,"5010","5020","5030"), TR.TotalReturn3Mo>=15, CURN=USD)'
#you can remove /*UNV:Public*/ as it is a comment

fields = ["TR.CommonName","TR.CompanyMarketCap","TR.ExchangeName","TR.TRBCBusinessSector","TR.TotalReturn3Mo"]

 

3. Now you can use the defined syntax with Eikon Data APIs (Python) to retrieve list of instruments and data fields

References

- SCREENER help page

- Eikon Data APIs - Quick Start