Retrieve Historical price and fundamental data Eikon API

How and to what extent do I have access to historical End of Day pricing, fundamental and financial data with Eikon API (.net and when it is available for access the python scripting API)

Best Answer

  • You can have access only to real-time and time series, while the fundamental data is not available in the .NET Data API.

    For all of this you can use the legacy COM APIs.

Answers

  • Thank you kindly Zhenya Kovalyov.
    Could you please provide an example, or refer me to where i could get one, on how to get the fundamental/financial data for a stock 10 years ago?

  • You can get historic values of data using the python like this (example apple ebitda 10 years ago):

    import eikon as ek
    ek.set_app_id('1234567890') <- put your key
    df, err = ek.get_data('AAPL.O','TR.EBITDA(SDate=-10Y,Period=FY0)',raw_output=True)

    You can browse for the data you want in the eikon api proxy data browser in the red circle search box, then check for the time period you are interested in the blue circle, and in the green area you will have the parameter you can use as input to the python ek.get_data function:

    image

    I hope it helps :)

  • ek.get_timeseries works perfect!

    >>> import eikon as ek
    >>> ek.set_app_id('set your app id here')
    >>> req = ek.get_timeseries(["MSFT.O"], start_date = "2017-02-01T15:04:05",
    >>> end_date = "2017-02-05T15:04:05", interval="tick")
    >>> req = ek.get_timeseries(["MSFT.O"], start_date = "2017-03-01",
    >>> end_date = "2017-03-10", interval="daily")
    >>> req = ek.get_timeseries(["MSFT.O"], start_date = get_date_from_today(150),
    >>> end_date = get_date_from_today(100), interval="daily")
  • ek.get_timeseries works perfect!

    >>> import eikon as ek
    >>> ek.set_app_id('set your app id here')
    >>> req = ek.get_timeseries(["MSFT.O"], start_date = "2017-02-01T15:04:05",
    >>> end_date = "2017-02-05T15:04:05", interval="tick")
    >>> req = ek.get_timeseries(["MSFT.O"], start_date = "2017-03-01",
    >>> end_date = "2017-03-10", interval="daily")
    >>> req = ek.get_timeseries(["MSFT.O"], start_date = get_date_from_today(150),

    >>> end_date = get_date_from_today(100), interval="daily")