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
-
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=2m5f677If 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']0
Answers
-
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.
1 -
Thanks for this @Alex Putkov.
What's the procedure in this case with this answer here?
0 -
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?
0 -
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...)0
-
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.
0
Categories
- All Categories
- 6 AHS
- 39 Alpha
- 161 App Studio
- 4 Block Chain
- 4 Bot Platform
- 16 Connected Risk APIs
- 47 Data Fusion
- 30 Data Model Discovery
- 608 Datastream
- 1.3K DSS
- 577 Eikon COM
- 4.9K Eikon Data APIs
- 7 Electronic Trading
- Generic FIX
- 7 Local Bank Node API
- Trading API
- 2.7K Elektron
- 1.3K EMA
- 236 ETA
- 519 WebSocket API
- 33 FX Venues
- 10 FX Market Data
- 1 FX Post Trade
- 1 FX Trading - Matching
- 12 FX Trading – RFQ Maker
- 5 Intelligent Tagging
- 2 Legal One
- 20 Messenger Bot
- 2 Messenger Side by Side
- 9 ONESOURCE
- 7 Indirect Tax
- 59 Open Calais
- 264 Open PermID
- 39 Entity Search
- 2 Org ID
- PAM
- PAM - Logging
- 8.4K Private Comments
- 6 Product Insight
- Project Tracking
- ProView
- ProView Internal
- 20 RDMS
- 1.4K Refinitiv Data Platform
- 370 Refinitiv Data Platform Libraries
- 3 Refinitiv Due Diligence
- LSEG Due Diligence Portal API
- 3 Refinitiv Due Dilligence Centre
- Rose's Space
- 1.1K Screening
- 18 Qual-ID API
- 13 Screening Deployed
- 23 Screening Online
- 10 World-Check Customer Risk Screener
- 990 World-Check One
- 44 World-Check One Zero Footprint
- 45 Side by Side Integration API
- Test Space
- 3 Thomson One Smart
- 1.2K TR Internal
- Global Hackathon 2015
- 2 Specialists Who Code
- 10 TR Knowledge Graph
- 150 Transactions
- 142 REDI API
- 1.7K TREP APIs
- 4 CAT
- 21 DACS Station
- 117 Open DACS
- 1.1K RFA
- 103 UPA
- 172 TREP Infrastructure
- 224 TRKD
- 886 TRTH
- 5 Velocity Analytics
- 5 Wealth Management Web Services
- 60 Workspace SDK
- 9 Element Framework
- 5 Grid
- 13 World-Check Data File
- Yield Book Analytics
- 46 中文论坛