Why does company financial data seem to be missing at certain dates?

Hi there,

I would like to pull company financials for a list of companies at a specific date (this should be free to chose and independent from publication date or fiscal period). An example of such request would be the following, which pulls Revenue data for the stocks within the S&P 500:


df = ek.get_data("0#.SPX", "TR.Revenue(SDate='2020-10-29',EDate='2020-10-29', Period='FQ0', ReportingState='Orig', Frq='D')")


However, I noticed that there are some dates with missing values returned, where I am sure there should be data available. Furthermore, it seems that when adding a day to the EDate Parameter (to the day I observe this behaviour on) it seems that the request is working. To show this specifically, the following gives me a NA for Google as of 28th of October 2020:


df = ek.get_data("GOOGL.O", "TR.Revenue(SDate='2020-10-27',EDate='2020-10-28', Period='FQ0', ReportingState='Orig', Frq='D')")


but when adding a day to EDate, I get a value returned:


df = ek.get_data("GOOGL.O", "TR.Revenue(SDate='2020-10-27',EDate='2020-10-29', Period='FQ0', ReportingState='Orig', Frq='D')")


Can you explain this behaviour? Does this have to do with the announcement date of the new value? How would I write a request to only return the available values as of the 28th of October?


Many thanks.

Best,

Chris

Best Answer

  • @auth

    Upon investigation by Refinitiv Support I can confirm that the behavior you observed may occur for rollover dates (Alphabet Inc released Q3 2020 earnings on 2020-10-29). While this behavior is not intentional, there are no plans to fix it, as we are gradually migrating the source of company fundamentals in Refinitiv products from legacy Refinitiv Financials that provide fields like TR.Revenue to Refinitiv Company Fundamentals.

    To switch to Refinitiv Company Fundamentals, just use the new field names. E.g. instead of TR.Revenue use TR.F.TotRevBizActiv:

    ek.get_data('GOOG.O',['TR.F.TotRevBizActiv(SDate=2020-10-28,Period=FQ0,ReportingState=Orig)'])

    For more info about Refinitiv Company Fundamentals see
    https://training.refinitiv.com/videoplayer/playlist/761?pmf=2m5f677

    If you cannot start using Refinitiv Company Fundamentals right away and need to stay with Refinitiv Financials for now, then as a workaround you need to ensure you use both SDate and EDate parameters with different values, e.g.

    import datetime as dt
    sdate = dt.datetime(2020,10,28)
    edate = sdate + dt.timedelta(1)
    df, err = ek.get_data('GOOG.O',['TR.Revenue.calcdate','TR.Revenue'],
                          {'SDate':sdate.strftime('%Y-%m-%d'),
                           'EDate':edate.strftime('%Y-%m-%d'),
                           'ReportingState':'Orig',
                           'Frq':'D',
                           'Period':'FQ0'})
    revenue = df.loc[df['Calc Date']==sdate.strftime('%Y-%m-%d'),'Revenue']

Answers

  • @auth

    I opened a support case on your behalf with Refinitiv Helpdesk. The Helpdesk will investigate the issue and inform you of their findings. They may also contact you if they need any clarifications. For your reference the case number is 09615814.

  • Thanks for this @Alex Putkov.

    What's the procedure in this case with this answer here?

  • @auth,

    I'm not sure I understand the question. Are you asking what is happening with the support case I raised on your behalf? If this is your question, Refinitiv Support is investigating the issue. I see they've already informed you via email that they're working on it and they will continue providing you regular updates. If you'd like to get in touch with Refinitiv Support you can reply to the email you received or you can call the Helpdesk number in your country and reference case number 09615814, or you can use Eikon Messenger to chat with Refinitiv Support.

    If the above doesn't answer your question, could you elaborate on what you're asking?

  • No, sorry for the confusion. I just meant if I have to do anything with this answer here on the delevopers community so my questions is closed or acts as an official answer. (i.e. sth like accept an answer or write what helped me solve it, etc...)
  • I see. While the case is being investigated I suggest keeping this thread open. Once Refinitiv Support finish their investigation and come up with a resolution, it would be great to post it on this thread for the benefit of other users who may experience similar problem in the future. But you don't need to worry about it. Refinitiv has a process in place to facilitate this.