Trading on Earnings Day — Announcement Premium, PEAD, and Pre-Announcement Prediction: Three Hypotheses Tested on 34,504 Events
Machine-readable: Markdown · 한국어 원문
"US stocks often rise sharply after earnings announcements. What if you bought on the announcement date, anticipating the results?" We split this question into three hypotheses, pre-registered them, and tested them. Having just been through a look-ahead error on entry timing in Article 17 last week, this time we fixed the entry protocol before writing the code and eyeballed a sample of actual entry dates.
Data — Where Do Announcement Dates Come From?
Our DB has only quarter-end dates and no announcement dates. From SEC's per-company filing list (submissions API), we treated 8-K filings tagged with Item 2.02 (Results of Operations) as earnings announcements. Filing timestamps are provided down to the minute, giving us 116,524 events across 1,532 tickers. The match rate against quarterly financials (2020–) was 93.3%, for 34,504 events (2021–2026) in scope.
Distribution of announcement times: 52% after the close, 44% before the open, 4% intraday. This distribution determines the entry protocol — for before-the-open announcements, enter at that day's open; otherwise at the next trading day's open. We mechanically confirmed 0 protocol violations.
Since we have no analyst consensus, surprise is defined by the time-series standard (SUE = year-over-year change in EPS for the same quarter ÷ standard deviation of the change over the past 8 quarters). The benchmark is the equal-weighted universe, with 0.2% round-trip costs.
Pre-specified decision rule: positive after costs in all three sub-periods — 2021–22 / 2023–24 / 2025–26 — with monthly non-overlapping t ≥ 2.
H1 — Announcement Premium (direction-agnostic, buy at D−5 close → sell at the first open after the announcement)
| Period | n | vs. market | t |
|---|---|---|---|
| 2021–22 | 11,274 | −0.15% | −1.5 |
| 2023–24 | 11,917 | +0.21% | 2.9 |
| 2025–26 | 10,593 | +0.09% | 1.1 |
Rejected. That said, the announcement reaction itself (last close before the announcement → first traded open) was stable at +0.20–0.25% across all three sub-periods, with an overall t of 5.2. The premium is real — its size is exactly equal to round-trip transaction costs.
H2 — Post-Earnings-Announcement Drift (PEAD)
The canonical anomaly in the literature. Buy top-ranked stocks after the surprise is public and hold for 20 and 60 trading days.
| Signal | 20-day overall | By sub-period |
|---|---|---|
| Buy on reaction gap ≥ +5% | −0.18% (t −1.0) | +0.07 / +0.62 / −0.68 |
| Buy on SUE ≥ +1 | −0.08% (t −0.4) | +0.62 / −0.51 / −0.56 |
The long side is rejected. It works in 2023–24 and flips in 2025–26. By decile as well, the top decile (D10) is negative and only D9 is positive — being higher-ranked is not better.
The Only Result Consistent Across All Three Sub-Periods
| Signal | 20-day | 60-day | 60-day by sub-period |
|---|---|---|---|
| SUE ≤ −1 (negative surprise) | −0.74% (t −3.0) | −1.61% (t −3.8) | −2.55 / −1.25 / −0.78 |
| Sensitivity: 4-quarter denominator | −0.59% (t −3.4) | −1.13% (t −4.0) | −2.02 / −0.97 / −0.09 |
Stocks that posted a negative surprise continued to lag for the following three months. The sign never flipped in any of the three sub-periods. This is consistent with the literature — in large caps, the long side of PEAD is arbitraged away first, and only the short side, where short-sale constraints bind, remains.
Since we do not short, we cannot use this as a trading signal. But it has another use: an avoidance filter that excludes stocks whose prior-quarter SUE is ≤ −1 from a monthly momentum portfolio. The point is not to find a buy signal but to avoid a known laggard group. At the time of publication this was an untested hypothesis. We pre-registered and ran it the same day; the results are in the added section below.
Follow-up test (added 2026-09-07) — rejected. We tested the filter "exclude stocks that announced SUE < −1 within the last 60 trading days" on the current monthly momentum strategy (top 10 of the S&P 500). ① The filter almost never triggered: flagged names among the top 10 averaged 0.21 per month (8 occurrences over 36 months). Stocks that took an earnings shock had already dropped out of the momentum ranking. ② The ones that remained actually did better: stocks that held onto a top-10 spot despite a shock had next-month excess returns of +1.7% (t 0.9), and +5.7% (n=44, t 1.5) when widened to a −5% reaction-gap criterion. The sign is the opposite of what was expected — a selection effect in which a stock that kept its momentum through a shock is a strong stock. ③ The IR of the filtered arm was at or below the baseline arm under every definition and sub-period (−0.06 overall, −0.25 in 2025). Lesson: moving an event effect measured across the full universe into a conditional-on-top-of-a-specific-ranking setting can flip its sign. We do not add a filter until it has been re-tested conditionally.
H3 — Pre-Announcement Prediction (the original question)
We pre-fixed four predictors knowable as of D−5: prior-quarter SUE, 60-day momentum, insider open-market purchases within 90 days before the announcement, and revenue growth acceleration. The combination is a simple average of ranks.
| Predictor | IC with reaction gap | t |
|---|---|---|
| Prior-quarter SUE | −0.010 | −0.65 |
| 60-day momentum | +0.006 | +0.73 |
| Insider buying | −0.006 | −0.79 |
| Revenue acceleration | −0.005 | −0.46 |
| Combined | −0.009 | −1.06 |
All zero. Buying the top 20% gives no edge either — the top quintile is positive not because of prediction but because of the +0.2% premium shared by every event, and the bottom quintile is positive too (in 2025–26 the bottom is higher). And "top predicted" stocks actually lag over the 20 days after the announcement (−0.45%, t −3.3). Momentum right before the announcement reverses after it.
What These Results Say
- An earnings announcement is an event whose information half-life is the moment of announcement. After it, everything is already priced in; before it, public information does not tell you the direction. This is the extreme form of a proposition this series has confirmed repeatedly
- Had we looked only at 2023–24, all three hypotheses would have "worked." Without the pre-specified three-sub-period rule, we would have picked that window and claimed a discovery
- What is left is not a buy signal but one piece of material for an avoidance filter. And that too is untested
Limitations
- Current-constituent universe (survivorship bias). Because stocks delisted after an earnings shock are excluded, the underperformance of negative surprises may be measured as less bad than it actually was
- EPS is the current-point value, so post-hoc restatements may be mixed in (not as-reported). A slight look-ahead margin in SUE
- SUE is only computable from 2023H2 onward because of the 8-quarter denominator requirement. The H1 and reaction-gap tests run from 2021–
- H1 assumes the announcement date is known in advance (most are pre-announced 1–2 weeks ahead)
Data Sources
- SEC EDGAR submissions API (8-K Item 2.02, filing timestamps), quarterly financials (stockanalysis), self-collected US daily open/close prices
This article documents tests on historical data for informational purposes only. It is not investment advice or a recommendation to buy or sell any security. Past test results do not guarantee future returns.
Comments
Comments on methods, data and interpretation are welcome. Buy/sell recommendations for specific securities may be removed.