question

Upvotes
Accepted
39 3 7 4

How to retrive all RICs within a Chain from Eikon Data API and RDP ?

How to retrieve all the RICs within a Chain from Eikon Data API and from RDP API?

For instance how can all the RICs within the 0#TFMB+ chain be retrieved from both APIs above?

eikon-data-apirdp-apirefinitiv-data-platformchain-ric
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.

Hello @clangevin

Thank you for your participation in the forum. Is the reply below satisfactory in resolving your query?


If so please can you click the 'Accept' text next to the appropriate reply. This will guide all community members who have a similar question.

Thanks,


AHS

@clangevin

Hi,

Please be informed that a reply has been verified as correct in answering the question, and has been marked as such.

Thanks,

AHS

Upvotes
Accepted
25.3k 87 12 25

Hi @clangevin

As per my eikon.get_data() example, I believe this is because 0#TFMB+ is a chain of chains - so you would need to

  • extract the top-level list of chain RICs
  • then create & open a StreamingChain for each constituent e.g.
streaming_prices = rdp.StreamingPrices(universe=['0#TFMB+'], fields=['LONGLINK1','LONGLINK2','LONGLINK3','LONGLINK4',.....and so on])
streaming_prices.open()
streaming_prices.get_snapshot()
00#TFMB+0#TFMBX0+0#TFMBZ0+0#TFMBF1+0#TFMBG1+


And then execute StreamingChain on each of the above.



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.3k 87 12 25

Hi @clangevin

With EDAPI you can use get_data as follows, which will give the first level of constituent RICs,

And then you can query the 2nd level e.g.

And so on.

There may be a one stop call which one of my more Eikon savvy colleagues may offer.

Also, for RDP Python library it has a StreamingChains object e.g.

chain = rdp.StreamingChain('0#/TFMBX0+')
chain.open(with_updates = False)
constituents = dowjones_chain.get_constituents()
where constituents contains ['/TFMB50K0', '/TFMB50W0', '/TFMB100K0', '/TFMB100W0', '/TFMB150K0', '/TFMB150W0', '/TFMB200K0', '/TFMB200W0', '/TFMB250K0', '/TFMB250W0', '/TFMB300K0', '/TFMB300W0', '/TFMB350K0', '/TFMB350W0', '/TFMB400K0', '/TFMB400W0', '/TFMB450K0', '/TFMB450W0', '/TFMB500K0', '/TFMB500W0',.... and so on....



1602149637963.png (15.8 KiB)
1602149680695.png (15.1 KiB)
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.

Apologies for the delay replying and thanks for the reply @umer.nalla .
The RDP call to open the chain does not seem to work with the chain I want to open:
chain = rdp.StreamingChain('0#TFMB+')
chain.open(with_updates = False)
returns the error:
StreamingChain :: Stopped to process chain record because it found an invalid chain record 0#TFMB+.

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.