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

Overview |  Quickstart |  Documentation |  Downloads |  Tutorials |  Articles

question

Upvotes
Accepted
5 2 2 4

Can't get constituents of Russell index

I am trying to get constituents of Russell 1000 and Russell 2000 index but the following codes did not work:

ek.get_data("0#.RUT","TR.RIC")

ek.get_data("0#.RUI","TR.RIC")

I've tried "RUI-E" and "RUT-E". They did not work either.

This function works for some other index, however, for example:

ek.get_data("0#.STOXX","TR.RIC").

What is the correct RIC to use or what other functions can I use? Thanks in advance.

eikoneikon-data-apiworkspaceworkspace-data-apirefinitiv-dataplatform-eikonpythonindexconstituents
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 5.0 MiB each and 10.0 MiB total.

1 Answer

Upvotes
Accepted
39.2k 75 11 27

You can use Equity Screener to retrieve index constituents. Follow the Screener wizard, which provides GUI to aid you in constructing the screener query in Excel, which you can then copy & paste into your code. You may want to watch a 3 minute tutorial video titled "Create Data Retrieval Functions using the Equity Screener in Excel", which you can find by copying and pasting this title into Eikon command/search bar. Here's the expression you can use to retrieve the constituents of Russell 2000:

ek.get_data('SCREEN(U(IN(indices(4387873/*Russell 2000 */))/*UNV:Public*/))',['TR.CommonName'])
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 5.0 MiB each and 10.0 MiB total.

Thanks for your reply! I just copied and pasted your code, but got an error message: KeyError: 'headers', which comes from "get_data_frame" function.

Could you include the full trace printed? And could you try the following worksheet function in Excel? Does it retrieve the result or return some error?
=TR("SCREEN(U(IN(indices(4387873/*Russell 2000 */))/*UNV:Public*/))","TR.CommonName","RH:In CH:Fd")

I copied and pasted the function in Excel, and it returned as 'NULL'

The error in python is as follows:

File "<ipython-input-96-bb2785d21964>", line 1, in <module> rics_temp, err = ek.get_data('SCREEN(U(IN(indices(4387873/*Russell 2000 */))/*UNV:Public*/))',['TR.CommonName']

File "C:\...\lib\site-packages\eikon\data_grid.py", line 146, in get_data return get_data_frame(result, field_name)

File "C:\...\lib\site-packages\eikon\data_grid.py", line 176, in get_data_frame headers = [header['displayName'] for header in data_dict['headers'][0]]

KeyError: 'headers'

Show more comments
Show more comments
Click below to post an Idea Post Idea