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?

Best Answer

  • umer.nalla
    umer.nalla LSEG
    Answer ✓

    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.



Answers

  • Hi @clangevin

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

    image

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

    image

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


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