question

Upvotes
Accepted
27 2 5 9

How to get all list stock of exchange, like Hong Kong Stock Exchange?

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

Here's an example.

ek.get_data('SCREEN(U(IN(Equity(active,public,primary))/*UNV:Public*/), IN(TR.ExchangeMarketIdCode,"XHKG"))',['TR.CommonName'])

The exchange code XHKG used in the above expression is known as Market Identifier Code or MIC. The expression in the first argument of get_data method above uses Equity Screener available in Eikon. The Screener returns a max of 5K rows. If the exchange listing exceeds 5K instruments, then you need to break the request into multiple and introduce additional criteria such as for instance market cap. E.g. first retrieve all stocks listed on the exchange with market cap above X, then all stocks from the same exchange with market cap between X and Y, and then all stocks with market cap below Y.
To construct an Equity Screener expression follow the wizard behind Screener button in Thomson Reuters tab in Eikon Excel ribbon. Once you insert the Screener into Excel worksheet you can copy the screener expression from =TR Excel worksheet function and paste it into your code as the first argument for get_data method.
To learn more about using Equity Screener watch video tutorial titled "Create Data Retrieval Functions using Equity Screener" available from the main Eikon menu under Help - Tutorials and Training.

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
11.1k 22 6 9

Hi @andy.ej

Its super simple - just use a chain RIC - you can preface a stock index RIC eg .HSI with a 0# and it will operate over all constituents in that index. You can also use these chain RICs in other API calls directly eg ek.get_timeseries or ek.get_news_headlines. If you want the Main Board Constituents for HKSE you can use the chain RIC 0#MBD.HK. See the code below:

RICS = ['0#.HSI']
fields = ['CF_NAME']
df,err = ek.get_data(RICS,fields)
df.head()
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 to reply

But I want to get all stock list in some stock exchange, not member of index

As the example you show, it only gets 50 stocks from Hong Kong stock exchange, may be it have more than 1,000 stocks in Hong Kong stock exchange.

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.