question

Upvotes
Accepted
1 0 0 3

Which screeners are available in Eikon Data API?

Hi,

I've been testing out to see which instruments from the screener tool can be accessed via the Eikon Data API and have found some that work, while others don't.

For example in R, the following download for public companies works:

get_data(instruments = 'SCREEN(U(IN(Equity(active,public,primary))/*UNV:Public*/), IN(TR.HQCountryCode,"JE"), TR.Revenue(Period=FY0)>=500000000, CURN=USD)',
         fields = list("TR.CommonName"), debug = TRUE)

But when I try the same filter but want to include private companies I receive a 400 Bad Request error:

get_data(instruments = 'SCREEN(U(IN(Equity(active,public,private,primary))/*UNV:PublicPrivate*/), IN(TR.HQCountryCode,"JE"), TR.Revenue(Period=FY0)>=500000000, CURN=USD)',
                        fields = list("TR.CommonName"), debug = TRUE)

Similarly, I can download M&A deals with the following command:

get_data(instruments = 'SCREEN(U(IN(DEALS)/*UNV:DEALSMNA*/), IN(TR.MnANationHQ,"JE"), NOT_IN(TR.MnATRBCEconomicSector,"55"), CURN=USD)',
                        fields = list("TR.MnASDCDealNumber", "TR.MnATarget"), debug = TRUE)

But when I try to download bond deals, the response from the server is that it is returns null fields for the instrument identifiers and says it is "Unable to collect data for the field 'TR.ISIN' and some specific identifier(s)." I assume this is due to the fact the instrument identifiers are null but interestingly, the response is able to pull out some bond deal identifier as well as the issuers' names.

get_data(instruments = 'SCREEN(U(IN(DEALS)/*UNV:DEALSBOND*/), IN(TR.NINationHQ,"JE"), NOT_IN(TR.NITRBCEconomicSector,"55"), CURN=USD)',
                        fields = list("TR.ISIN", "TR.NIIssuer"), debug = TRUE)

Could you please let me know if there are any issues in my searches and if not, which screeners are actually available in the Data API?

Many thanks,

Marek

eikoneikon-data-apipythonworkspacerefinitiv-dataplatform-eikonworkspace-data-apibondsscreener
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.

Upvotes
Accepted
39.4k 78 11 27

@marek.r
All universes listed in the Screener wizard can be used in Screener expressions with Eikon Data APIs.
The best way to construct a Screener expression is by following the Screener wizard in Eikon Excel, which I assume you must have done. But then you must have manually added TR.ISIN field to your screen for bond deals. This field is not available for bond deals, hence the error message you saw. Only the fields that you can find in the Screener wizard when setting up columns for a screen template are valid for use in a screen.
To resolve the "400 Bad Request" error, please upgrade your Eikon Data APIs Python library to v1.0.1 as suggested by @Gurpreet.

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.

Upvotes
25.1k 68 15 21

Hi @marek.r I would recommend to check your Eikon SDK version and upgrade if needed, before you try.

I was able to post the first query and not get a bad request:

>>> df, err = ek.get_data(instruments = 'SCREEN(U(IN(Equity(active,public,private,primary))), IN(TR.HQCountryCode,"JE"), TR.Revenue(Period=FY0)>=500000000, CURN=USD)', fields = list("TR.CommonName"))
>>>
>>> print(df)
Instrument T R C O M M O N N A M E
0 CEY.L NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
1 PFC.L NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
2 BREE.L NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
3 ENPLq.L NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
4 5052157694 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
>>>
>>> ek.__version__
'1.0.1'
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.

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.