Does post-earnings announcement drift still work?
Updated October 28, 2026
On QuantGPT's test from 1998 to September 2026, the library's Bernard and Thomas-inspired post-earnings drift run beat the S&P 500 with dividends on one of growth or Sharpe and not the other, which QuantGPT labels TRADE-OFF. It grew 9.6% a year against 9.4%, gross of trading costs, with a Sharpe ratio of 0.60 against 0.66.
Bernard and Thomas measured the drift over the 60 trading days after the earnings announcement, long the top surprise tenth and short the bottom, NYSE and AMEX stocks, 1974 to 1986. This run buys the 20 liquid US stocks with the biggest surprise at each month-end, long only, dated by the quarterly filing, so it can enter weeks after the news.
The original claim
Bernard & Thomas (1989, 1990), JAR/JAE. Stocks keep drifting in the direction of a quarterly earnings surprise for about 60 trading days. Bernard and Thomas (1990) trace it to prices acting as if earnings follow a seasonal random walk, ignoring their autocorrelation.
In plain words: when a company reports a quarter, measure the surprise: its earnings per share against the same quarter a year earlier, scaled by how much that change has varied before. Buy the tenth of stocks with the biggest positive surprises, sell short the tenth with the biggest negative ones, and hold for about 60 trading days after the announcement.
- SUE = (EPS - EPS four quarters ago - drift) / std dev of past forecast errors
- Sort into deciles using the prior quarter's cutoffs; long top decile, short bottom
- Hold 60 trading days after the announcement
Extreme-decile spread of about 4.2% size-adjusted over 60 trading days (about 18% annualized before costs), NYSE/AMEX 1974 to 1986, positive in 41 of 48 quarters and larger in small firms. Later studies report it has weakened, especially in large caps.
How QuantGPT's run differs
Each month-end, holds the 20 liquid US stocks with the highest standardized unexpected earnings (SUE, a seasonal random walk, point in time by filing date) among those with a SUE of at least 1, equal weight, long only, held one month. Bernard and Thomas used SUE deciles on NYSE and AMEX stocks, 1974 to 1986, long the top decile and short the bottom, held 60 trading days from the announcement. A SUE stays in place until the next filing, so entry can come up to a quarter after the announcement.
- Universe: liquid US stocks: raw close $5 or more, the top 3,000 by 60-day median dollar volume, 5M shares where the count is known.
- Benchmark: the S&P 500 with dividends reinvested ($SPXTR), bought and held.
- Cash: a month with fewer than 10 qualifying stocks is held in cash. No month was: the first book formed at the end of January 1998, and every one of the 344 months held stocks.
- The engine's own notes: 2 periods had more names tied on SUE at the top-20 cut than slots; the tied names were taken in ticker order, which is arbitrary. Delisted or halted holdings stay in the book: they exit at the last trade inside the holding period, and a holding with no trade at all after formation books -30% (Shumway 1997). In this run 1 held position had no price at the next formation close and exited at its last trade in the period.
- In short: Enters on the 10-Q filing date, often weeks after the earnings release; the paper's drift sits in the days after the announcement.
The result
Over this window the criteria beat the benchmark on one of growth or Sharpe and not the other, which QuantGPT labels TRADE-OFF: a description of what the data did, not a prediction and not a recommendation.
| Strategy | S&P 500 with dividends | |
|---|---|---|
| Growth a year, 1998 to September 2026 | 9.6% | 9.4% |
| Worst fall from a peak | -50.1% | -50.9% |
| Sharpe ratio | 0.60 | 0.66 |
| Volatility a year | 17.9% | 15.4% |
| Share of winning months | 61.3% | 64.5% |
| Growth a year, before 2015 | 9.1% | 6.2% |
| Sharpe ratio, before 2015 | 0.60 | 0.47 |
| Growth a year, from 2015 | 10.2% | 14.2% |
| Sharpe ratio, from 2015 | 0.61 | 0.97 |
| Net of 25 bps a side: growth a year | 8.4% | not modelled (bought and held) |
| Net of 25 bps a side: Sharpe ratio | 0.54 | |
| Net of 25 bps a side: worst fall | -50.7% |
| Cost a side | Growth a year | Sharpe ratio | Worst fall | Cost a year |
|---|---|---|---|---|
| 5 bps | 9.3% | 0.59 | -50.2% | 24 bps |
| 10 bps | 9.1% | 0.58 | -50.3% | 48 bps |
| 25 bps | 8.4% | 0.54 | -50.7% | 119 bps |
| 50 bps | 7.2% | 0.48 | -51.2% | 237 bps |
Every year
Losing years for the strategy: 1999 (-5.3%), 2001 (-8.9%), 2002 (-23.6%), 2008 (-36.9%), 2022 (-30.3%).
| Year | Strategy | S&P 500 with dividends |
|---|---|---|
| 1998 February to December | 27.2% | 27.2% |
| 1999 | -5.3% | 21.0% |
| 2000 | 39.4% | -9.1% |
| 2001 | -8.9% | -11.9% |
| 2002 | -23.6% | -22.1% |
| 2003 | 20.1% | 28.7% |
| 2004 | 27.0% | 10.9% |
| 2005 | 5.3% | 4.9% |
| 2006 | 7.7% | 15.8% |
| 2007 | 10.8% | 5.5% |
| 2008 | -36.9% | -37.0% |
| 2009 | 14.3% | 26.5% |
| 2010 | 21.4% | 15.1% |
| 2011 | 7.8% | 2.1% |
| 2012 | 16.5% | 16.0% |
| 2013 | 59.5% | 32.4% |
| 2014 | 14.0% | 13.7% |
| 2015 | 7.2% | 1.4% |
| 2016 | 6.9% | 12.0% |
| 2017 | 23.8% | 21.8% |
| 2018 | 1.8% | -4.4% |
| 2019 | 19.5% | 31.5% |
| 2020 | 18.7% | 18.4% |
| 2021 | 28.6% | 28.7% |
| 2022 | -30.3% | -18.1% |
| 2023 | 29.8% | 26.3% |
| 2024 | 27.3% | 25.0% |
| 2025 | 0.2% | 17.9% |
| 2026 January to September | 0.6% | 12.7% |
Run it yourself
Open it in the terminal from the strategy library (RUN IT on its entry), or read the public result page at terminal.quantgpt.co/study/bernard-thomas-1989. Change the start year, the cutoffs, the number of stocks or the cadence and run it again. Or ask your AI, connected over MCP:
Use QuantGPT to backtest post-earnings drift, the 20 stocks with the biggest standardized earnings surprise each month, from 1998, and show the losing years.
Questions
Does post-earnings announcement drift still work?
On QuantGPT's test it edged the market on growth and trailed it on Sharpe. The library's run, the 20 liquid US stocks with the biggest standardized earnings surprise at each month-end, held one month, grew 9.6% a year from 1998 to September 2026, gross of costs, against 9.4% for the S&P 500 with dividends, with a Sharpe of 0.60 against 0.66. Before 2015 it grew 9.1% a year against 6.2%; from 2015, 10.2% against 14.2%. Over this window the criteria beat the benchmark on one of growth or Sharpe and not the other, which QuantGPT labels TRADE-OFF. The run enters on the quarterly filing date, often weeks after the earnings release, while the paper's drift sits in the days after the announcement.
What is post-earnings announcement drift?
The tendency of a stock to keep moving in the direction of an earnings surprise after the news is out. Bernard and Thomas (1989) sorted NYSE and AMEX stocks, 1974 to 1986, on standardized unexpected earnings (SUE): the change in quarterly earnings per share from the same quarter a year earlier, scaled by its past variability. Long the top tenth and short the bottom earned about 4.2% size-adjusted over the 60 trading days after the announcement, about 18% annualized before costs, positive in 41 of 48 quarters. Later studies report it has weakened, especially in large companies.
What were the worst years for post-earnings drift?
In QuantGPT's run the losing calendar years were 1999 (-5.3%), 2001 (-8.9%), 2002 (-23.6%), 2008 (-36.9%), 2022 (-30.3%). Its worst fall from a peak, at month-end closes, was -50.1% against -50.9% for the S&P 500 with dividends. In 2022 the run lost 30.3% while the index lost 18.1%. Gross of trading costs; net of 25 bps a side it grew 8.4% a year.
Why does QuantGPT's post-earnings drift run enter later than the paper?
Its earnings surprise is point in time by filing date: a quarter's surprise counts from the day its quarterly filing is in the data, and it stays in place until the next filing. So a stock can enter weeks after the earnings release, and up to a quarter after it, while Bernard and Thomas measured the drift from the announcement day.
Where can I backtest post-earnings drift?
On QuantGPT: from the strategy library with one click (RUN IT on the Bernard and Thomas entry opens it in the terminal), or from Claude or ChatGPT connected over MCP, with a question such as: Use QuantGPT to backtest post-earnings drift, the 20 stocks with the biggest standardized earnings surprise each month, from 1998, and show the losing years. You can change the surprise cutoff, the number of stocks, the cadence and the costs. QuantGPT's library documents 175 strategies, 55 of them runnable in one click on decades of US market history. QuantGPT is $49 a month and QuantGPT Pro $149, each with a 3-day free trial.
Related
- Strategy libraryDoes 12-1 momentum still work?
- Strategy libraryDoes Greenblatt's Magic Formula still work?
- Strategy libraryDoes the Piotroski F-Score still work?
- ComputeMCP server for backtesting
- DataThe research warehouse
Backtests show past results, gross of trading costs unless stated. A backtest is not a promise. QuantGPT is research software and nothing here is investment advice. The disclosures and terms govern.