Python Data retrieving

Hello,

I'm using Python to retrieve live FX Data, like Bid/Ask Eur/Usd. But it's too slow.

I'm using the function eikon.get_data("EUR=",['PRIMACT_1','SEC_ACT_1']). It takes like 1-2min and I need a faster way.

Thank you,

Code example :

def CalculDevise(devise):

return (ek.get_data(devise,['PRIMACT_1','SEC_ACT_1'])[0].values.tolist())[0];

EURUSD = CalculDevise('EUR=')

GBPUSD = CalculDevise('GBP=')

USDCAD = CalculDevise('CAD=')

...

USDKWD = CalculDevise('KWD=')

I'm creating a FX Interface on Python that projects(shows) Live FX Data. And since I'm retrieving several data at the same time, I'm having a speed issue.

Best Answer

  • Try requesting all instruments at once, i.e.

    ek.get_data(['EUR=', 'GBP=', 'CAD=', 'KWD='],['PRIMACT_1','SEC_ACT_1'])[0]

Answers

  • It does not look like an API issue. The get_data() call will be forced to time out after 30 seconds, I believe, so I can not see how your request can take 1-2 mins to be delivered.

    Could you please provide more details, like the full code sample?

  • Thank you for your answer. Please take notes of the changes!

  • Yes, for 20 data it goes from 18 sec to 3 sec.

  • Just for information, is there any other way to retrieve the data to Python ? Like from Web or something

  • well, technically it is web, you are just using the wrapper around the REST API. There is no better way to get the data in to python with Eikon.

  • Ok thank you, do you mind telling me how to do it by web ?

  • Unfortunately we are not yet disclosing the underlying API calls, as the protocol is due to change.