Post-Earnings Announcement Drift

Does a stock keep drifting in the direction of its earnings surprise for weeks afterward, as the academic literature says it should? This tests it across the S&P 500's most recently reported quarter: cumulative excess return vs. SPY at +1/+5/+10/+20 trading days from each company's report date, split by beat vs. miss and regressed against surprise size.
Loading...
In Coverage Window
…
of 503 S&P 500 companies
Avg. +20D Excess, Beats
…
vs. SPY, 20 trading days out
Avg. +20D Excess, Misses
…
vs. SPY, 20 trading days out
Surprise → Drift Correlation
…
Pearson r, surprise % vs. +20D excess

Average cumulative excess return by horizon, beat vs. miss

Every company is aligned to trading day 0, the first close on or after its reported earnings date, then averaged at +1/+5/+10/+20 trading days out. N (per point, in the tooltip) shrinks at longer horizons for companies that reported near the end of the price window.

Does the size of the surprise predict the size of the drift?

Each S&P 500 company's earnings surprise % (known at the report date) against its +20-trading-day forward excess return (realized afterward). There is no lookahead: the surprise is public before the return window starts.

Beat vs. miss: is the +20-day gap real, or noise?

Mean and median +20-day excess return for the beat group vs. the miss group, plus a two-sample (Welch) t-test on the difference between the two means.

+20-day excess return by sector

Median +20-day excess return, beat vs. miss companies, for sectors with at least 5 companies in both groups. Sectors with fewer are left out (see the note below the chart).

Biggest positive drift among beats

Highest +20-day excess return, beat companies
CompanySectorSurprise+20D Excess
Loading…

Biggest negative drift among beats

Lowest +20-day excess return, beat companies. A "beat that still drifted down"
CompanySectorSurprise+20D Excess
Loading…

Biggest positive drift among misses

Highest +20-day excess return, miss companies. A "miss that still drifted up"
CompanySectorSurprise+20D Excess
Loading…

Biggest negative drift among misses

Lowest +20-day excess return, miss companies
CompanySectorSurprise+20D Excess
Loading…

Every company in the coverage window

Every S&P 500 company whose most recent earnings date falls inside the price window
Company Sector Reported Surprise +1D Excess +5D Excess +10D Excess +20D Excess
Loading drift data…

Methodology

Post-Earnings Announcement Drift (PEAD) is one of the oldest anomalies in asset pricing, first documented by Ball and Brown in 1968. After a company beats or misses the consensus estimate, its stock tends to keep moving in that direction, relative to the market, for weeks afterward. That is surprising because the surprise is public the moment it's reported, so an efficient market would price it in right away. This page runs that test on the S&P 500's most recently reported quarter. It is not investment advice.

Surprise %. Each company's most recently reported quarter, (actual EPS − consensus estimate EPS) / |consensus estimate EPS|, comes from Earnings Surprise History. That page is now a one-time snapshot (last refreshed 09/16/2026) and no longer updates weekly. As it ages, fewer report dates fall inside this page's ~100-trading-day price window. The "In Coverage Window" figure above is that count. This page's own price data still refreshes weekly.

Prices. Yahoo Finance daily adjusted closes for the last ~100 trading days, for the S&P 500 plus SPY. That's enough for a +1/+5/+10/+20-day window, and it's the same setup as Relative Strength Leaders/Laggards. For each company with a report date inside the window, the anchor day is the first close on or after the report date, never before, so no pre-announcement price leaks into the test. Excess returns vs. SPY use (1+stock)/(1+SPY) − 1, as on Relative Strength Leaders/Laggards and International vs. US. A company that reported too recently to reach a horizon is left blank for that horizon only.

Tests. The regression chart is the main test: each company's surprise % against its +20-trading-day excess return. Pearson (linear) and Spearman (rank) correlations are both shown, as on Factor Analysis. Because the surprise is public before the return window opens, there is no lookahead bias. The beat-vs-miss comparison below it is a simpler version of the same question: mean and median +20-day excess return for each group, plus a Welch t-test on the difference. This uses a t-test instead of a proportion test because the outcome is a continuous return. Earnings Surprise History uses a two-proportion z-test for its beat/miss rates.

Sector medians are shown only for sectors with at least 5 companies in both the beat and miss groups. Smaller samples are too noisy to be meaningful. Company names and sectors come from Sector Beeswarm.

Prices refresh weekly. Each run recomputes the drift panel from the latest quarter and price window, so there is no accumulating history (same as Spin-Off Performance Tracker).

Sources: Yahoo Finance: daily adjusted close and Alpha Vantage EARNINGS (from Earnings Surprise History, snapshot as of 09/16/2026).