Any way to be connected real time (PYTHON)

Hi guys, good afternoon.

I am currently connecting to the API in python in this way:

ek.set_app_id('XXXXXXXXXXXXXXXXX')

If I want to obtain my data, I have it this way:

df= ek.get_timeseries('GGAL.O', fields='close', start_date='1900-01-01', end_date='2018-05-19')

Until this point we are fine. I would like to know if there is any way to be connected real time and receive information every 10 minutes. Is there any way I can do this?

Best Answer

  • Streaming market data is not currently available through Eikon Data APIs. It will certainly be introduced, but there's no committed time frame yet. In the meantime you can use Eikon COM or .NET APIs to subscribe to streaming market data. Or you can periodically retrieve snapshots of real-time market data using get_data method, e.g. ek.get_data(['GGAL.O','AAPL.O'],['CF_LAST','CF_BID','CF_ASK']). This should work for a relatively short list of RICs (say up to a few hundred) and relatively infrequent snapshot requests (once every 10 minutes is probably fine, but more frequently is probably not).

Answers

  • i put:

    ek.get_data(['GGAL.O','GFG.BA'],['CF_LAST','CF_BID','CF_ASK'])

    And then:

    ---------------------------------------------------------------------------
    HTTPError Traceback (most recent call last)
    <ipython-input-31-7451a5cd0a30> in <module>()
    ----> 1ek.get_data(['GGAL.O','GFG.BA'],['CF_LAST','CF_BID','CF_ASK'])

    ~\Anaconda3\lib\site-packages\eikon\data_grid.py in get_data(instruments, fields, parameters, field_name, raw_output, debug)
    149 payload = {'instruments': instruments,'fields': fields_for_request}
    150 if parameters: payload.update({'parameters': parameters})
    --> 151result = eikon.json_requests.send_json_request(DataGrid_UDF_endpoint, payload, debug=debug)
    152
    153 if raw_output:

    ~\Anaconda3\lib\site-packages\eikon\json_requests.py in send_json_request(entity, payload, ID, debug)
    90 raise EikonError('401', response.text) #'daemon is disconnected')
    91 else:
    ---> 92raise requests.HTTPError(str(response), response=response)
    93
    94 except requests.exceptions.ConnectionError as connectionError:

    HTTPError: <Response [403]>
  • Hmm. You're the second person reporting the exact same error today. Are you able to retrieve any data right now using Eikon Data APIs? Does the get_timeseries method you mentioned in the original post return data?
    If the error you mentioned persists, could you please update the version of eikon library to the latest v0.1.13 by running "pip install eikon --upgrade" from command prompt? I expect the latest version of eikon library to produce a more verbose error message, which hopefully will help identify the root cause of the issue.