For a deeper look into our Eikon Data API, look into:

Overview |  Quickstart |  Documentation |  Downloads |  Tutorials |  Articles

question

Upvotes
Accepted
3 0 1 1

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

eikoneikon-data-apiworkspaceworkspace-data-apirefinitiv-dataplatform-eikonpython
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 5.0 MiB each and 10.0 MiB total.

Upvotes
Accepted
39.2k 75 11 27

@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']
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 5.0 MiB each and 10.0 MiB total.

Upvote
39.2k 75 11 27

@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.

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 5.0 MiB each and 10.0 MiB total.

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...)
Show more comments
Click below to post an Idea Post Idea