We calculate EPS surprises by taking the latest EPS estimate right before the announcement and comparing it with the “actual” number (these are supplied from analysts, not the company, after making adjustments for standardization). We assumed that there would only be one “actual” EPS in the database. Turn out that actuals can be revised, even months after the fact .
Without logic to decide which one to use it was kind of random which one was loaded (not deterministic algorithm).
There are arguments for either using the very first actual or the latest revision. Since our architecture only has one surprise value per period, for us it makes sense to use the very first actual so historical data doesn’t change.
The fix is now live. We don’t expect huge impact as there were not many differences. For example for a certain date in the past the fix generated differences in 15 stocks.
My expectancy graph for the post-earnings announcement drift anomaly has gone wonky after the change. Whether this is 'cause I over-fitted, the revision data wasn’t “PIT” or the old method captured something unique, I cannot say for certain. My suspicion, though, is that good info is being lost by not recognizing subsequent revisions.
Thanks for posting this. I recently had a few conversations with Portfolio123 staff regarding the availability of a historical dated list of changes of this type (underlying data handling, calculation of financial metrics, etc.). I did not really get a satisfactory response. Is it fair to say that all changes of this type could be found by searching for posts labeled FIX in the forums, or is there a more comprehensive list that could be made available?
There are still some quirks with estimates. I was actually working on a different issue when we discovered the issue with “actuals” revisions. The latter was a relatively easy fix so we did it. The original issue has to do with old estimates “disappearing” if we rebuild them. Still trying to figure that out, so for now we don’t rebuild, just update. At the root of the problem is that Compustat (financials) & CapIQ (estimates) were two different data providers. There are ways to “connect” the companies across the databases, but it gets tricky with special cases like mergers, dual listings, ADRs, all in the context of point-in-time. Some problems are our fault (like the actuals revisions) others are due to their own fixes. All I can say is that future issues will likely affect a minority of special cases.