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?
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?
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
Hi,
Please be informed that a reply has been verified as correct in answering the question, and has been marked as such.
Thanks,
AHS
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
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.
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....
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+.