For a deeper look into our Eikon Data API, look into:

Overview |  Quickstart |  Documentation |  Downloads |  Tutorials |  Articles


13 5 4 12

Retrieve the complete list of RICs of an exchange using Eikon Data Python API?

I am looking for the way to use Eikon Data Python API to retrieve the complete list of RICs of a given exchange.

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.

1 Answer

39.3k 76 11 27

Here's an example retrieving the full listing on Australian Securities Exchange. The screener returns the max of 5K rows. If the listing exceeds 5K, then additional criteria need to be used to narrow the search and break the result. E.g. you can retrieve all stocks listed on an exchange with the market cap more than X, then with the market cap between X and Y and then with the market cap less than Y.

ek.get_data('SCREEN(U(IN(Equity(active,public,primary))/*UNV:Public*/), IN(TR.ExchangeMarketIdCode,"XASX"))','TR.CommonName')
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.

Thanks a lot for the formula. Can you please also explain how did you populate "XASX" for Australian Securities Exchange? How about other exchanges like Mexican Stock Exchange, Chile Stock Exchange?

For exchange identifiers in the screener we use MIC or Market Identifier Code (ISO 10383). For a more generic use case follow the Screener wizard in Eikon Excel. Click on the Screener button in Thomson Reuters ribbon in Eikon Excel. Follow the wizard to select your equity screening criteria, then click Insert Screener button. This will insert =TR function into Excel worksheet. The screener expression can be copied and pasted from this formula into your Python code. This is exactly what I did to create the example above.

I try to get all RICs of HongKong Exchange(XHKG), but 0005.HK is not in the returned list, anything wrong?

The equity screener expression in the above example excludes non primary and dual listings. To include dual listings in the result use

ek.get_data('SCREEN(U(IN(Equity(active,public,primary,countryprimaryquote))/*UNV:Public*/), IN(TR.ExchangeMarketIdCode,"XHKG"))',['TR.CommonName'])
For help with creating equity screener expressions follow the Screener wizard in Eikon Excel. You may also want to watch video tutorial titled "Creating Data Retrieval Functions using Equity Screener" available from the main Eikon menu - Help - Tutorials and Training.

Thank you for your reply Alex. I also want to get all active equities of a given exchange on a given historical date, point in time. Do you have any suggestions?

Show more comments