question

Upvotes
Accepted
39 2 4 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.

Upvotes
Accepted
25k 87 11 23

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
25k 87 11 23

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+.