question

Upvotes
Accepted
1 0 0 2

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

eikon-data-api#technology#productpython apirefinitiv-data-platform-libraries
1721663364903.png (178.6 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.

Upvotes
Accepted
7k 18 2 8

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


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.

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


1721931494556.png (42.0 KiB)
Show more comments
Upvotes
7k 18 2 8

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

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.

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

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.