Multiple download date and data via Eikon API

Hi there,

when I download via Eikon API the Earning Per Share I retrieve multiple date with same data

download_params = 'Frq=D, SDate=2013-12-31, EDate=0'
fields = ['TR.EPSMean(Period=FY1, ' + download_params + ').Date', \
'TR.EPSMean(Period=FY1, ' + download_params + ').Value']
df_output, err = ek.get_data(['IBM'],fields=fields)

Is there a way in order to download one closing date with the reference data?

I think this cause a lot wast of time when I'm trying to download the data of all the SPX costituents.

Thank you in advance,

Best

Cihan

Best Answer

  • You will have to code execute the code in chunks as requesting this much data for all SPX constituents will hit a per request limit. So, something along the lines of this:

    df, e = tr.get_data(['.SPX'], ['TR.IndexConstituentRIC'])
    instruments = df['Constituent RIC'].tolist()

    df, e = tr.get_data(instruments[:10], ['TR.EPSMean.date', 'TR.EPSMean.value'], parameters={'Period':'FY1', 'Frq':'D', 'SDate':'2013-12-31', 'EDate':'0'})

Answers

  • Thanks Zhenya,

    You're right I must split my request.

    However, what about about the multiple download of data for one?

    Also in your example if run it I obtain 8 rows for same EPS with same date.

    Instrument Date Earnings Per Share - Mean

    0 CHRW.OQ 2013-12-11T00:00:00Z 2.71277 
    1 CHRW.OQ 2013-12-11T00:00:00Z 2.71277
    2 CHRW.OQ 2013-12-11T00:00:00Z 2.71277
    3 CHRW.OQ 2013-12-11T00:00:00Z 2.71277
    4 CHRW.OQ 2013-12-11T00:00:00Z 2.71277
    5 CHRW.OQ 2013-12-11T00:00:00Z 2.71277
    6 CHRW.OQ 2013-12-11T00:00:00Z 2.71277
    7 CHRW.OQ 2013-12-11T00:00:00Z 2.71277
  • @c.aydemir
    I opened a support case on your behalf for the issue with duplicate rows returned. For your reference the case number is 06837577. You will be contacted by TR Helpdesk, who will take the ownership of this issue.

  • Thanks to TR helpdesk (Winnie) I understood why there're multiple date. Here you find the Winnie's explanation:

    The reason is because you used a time series formula (ex: sdate, edate) which gives you daily estimate from today going back 1 year. The repeating dates and values indicate that the estimates didn’t change during the date ranges. If you would like to see regular dates, you can change the date syntax to “.calcdate”.

    And here the code:

    fields = ['TR.EPSMean(Period=FY1, Frq=D, SDate=20170101, EDate=20171231).Calcdate', \
    'TR.EPSMean(Period=FY1, Frq=D, SDate=20170101, EDate=20171231).Value']
    ek_request, err = ek.get_data('IBM',fields=fields)