Refinitiv Data API performs worse than Eikon on large universes

Hello. I've recently been looking at implementing the Refinitiv Data Library in existing code over the eikon library. I've found that when large universes are specified, the refinitiv data library performs significantly worse than the eikon library. Following some testing some strange results were found. For example:

When using the chain operator, the RD library performs better as expected. When requesting a large list of RICS, eikon performs better. If you pass these individually instead, RD once again performs significantly better. This has lead to some previously functioning code timing out, so what is the best way to deal with this. I don't know if this is expected, so what is the best way to handle requesting data for a large number of instruments. Thank you in advance.

1721663364903.png

Best Answer

  • aramyan.h
    Answer ✓

    Hi @ns02 ,


    Both libraries are using the same underlying service for the request you have above, however, the service response times might be different for each request regardless of the library. I have run a query below for 100 RICs in a loop. See the code and results below:


    screenshot-2024-07-22-at-171011.png

    Best regards,

    Haykaz

Answers

  • Can you try with my example with a refreshed Kernel and the RD library first?
    Here is the universe:

    universe = ['US3MT=RR', 'US2YT=RR', 'US5YT=RR', 'US10YT=RR',

    'EU3MT=RR', 'EU2YT=RR', 'EU5YT=RR', 'EU10YT=RR',

    'JP3MT=RR', 'JP2YT=RR', 'JP5YT=RR', 'JP10YT=RR',

    'GB3MT=RR', 'GB2YT=RR', 'GB5YT=RR', 'GB10YT=RR',

    'FR3MT=RR', 'FR2YT=RR', 'FR5YT=RR', 'FR10YT=RR',

    'DE3MT=RR', 'DE2YT=RR', 'DE5YT=RR', 'DE10YT=RR']

    fields = ['CF_NAME']


    Many Thanks @aramyan.h

  • Hi @ns02 ,

    sure, please see below:

    screenshot-2024-07-23-at-100334.png

    I have also included lib versions. Are you experiencing much different results? What are the version libs you are using?


    Best regards,

    Haykaz

  • Hi @aramyan.h, Thank you for your reply. It turns out in my case, it looked like it was taking longer due to the longer first call of rd.get_data(). So in this case, it is true the rd library works better. I have looked into our code and found the function calls that took longer. I was able to replicate the phenomenon I was seeing like this:


    1721931494556.png


  • With a similar to result if I use get_data instead.

    1721931861785.png

  • Hi @ns02 ,


    I see the difference in rd get_data vs eikon get_data and rd get_history vs eikon get_timeseries on my end for those fields as well. I will raise this to the product team and see what are their thoughts around it and will get back to you here.


    Best regards,

    Haykaz

  • Awesome, Thank you for the help!

  • Hi
    @aramyan.h ,


    Has there been any update from the product team?

    Many Thanks,


  • still waiting the team to check, will update here