Post-Earnings Dip Backtest: 13,950 Events Say Don't Buy the Beat-and-Dip

We tested 13,950 beat-and-dip events on US stocks from 2000–2025. Stocks that beat earnings but sell off 5%+ don't recover — they keep underperforming. T+63 CAR is -0.84% (t=-4.53). The sell-off is not an overreaction; it's information.

Grouped bar chart showing cumulative abnormal returns by dip size at T+5, T+10, T+21, and T+63 windows for US stocks 2000-2025. All categories show negative drift.

Buy the Beat-and-Dip? We Tested 13,950 Events. It Doesn't Work.

A stock beats earnings estimates. The market sells it off 5% anyway. The obvious trade is to buy the dip — the fundamentals just proved out, so the sell-off is an overreaction. We ran this on US stocks from 2000 to 2025. The sell-off isn't an overreaction. It continues.

Contents

  1. Method
  2. What We Found
  3. Dip Size Matters — But Not How You'd Expect
  4. Why PEAD Beats Mean Reversion Here
  5. The SQL Screen
  6. Limitations
  7. Takeaway

Method

Signal: epsActual > epsEstimated with ABS(epsEstimated) > 0.01. Then stock drops ≥ 5% from T-1 close to T+1 close (the two-day reaction window around the announcement). Both conditions must hold.

Universe: NYSE, NASDAQ, and AMEX-listed stocks with market cap above $1B USD. Data from FMP's earnings surprises endpoint, 2000–2025.

Dip categories: - dip_5: 5–10% sell-off (moderate sell-off) - dip_10: 10–20% sell-off (sharp sell-off) - dip_20: 20%+ sell-off (severe sell-off)

Return windows: Cumulative abnormal return (CAR) measured from T+1 close (dip bottom) at T+5, T+10, T+21, and T+63 trading days. CAR = stock return minus SPY return over the same window.

Winsorization: 1st/99th percentile to reduce outlier noise.

Total events: 13,950


What We Found

The instinct is wrong. Stocks that beat earnings estimates but sell off 5% or more don't revert. They keep underperforming the market.

The overall T+21 CAR is -0.22% (t=-2.12). That's barely negative at 21 days, but by T+63 it deteriorates to -0.84% (t=-4.53). Not a recovery. The sell-off was telling you something.

Window Mean CAR t-stat N Hit Rate
T+5 -0.04% -0.79 13,950 48.2%
T+10 -0.23%** -3.13 13,934 47.0%
T+21 -0.22%* -2.12 13,931 47.4%
T+63 -0.84%** -4.53 13,889 45.8%

p<0.05, p<0.01

The hit rate tells the same story. At T+63, only 45.8% of beat-and-dip stocks outperform the market. Coinflip odds would be 50%. You're worse than random.


Dip Size Matters — But Not How You'd Expect

The sharper the sell-off, the more it continues — except at the extreme.

Dip Category N T+21 CAR t-stat T+63 CAR t-stat
All dips (5%+) 13,950 -0.22% -2.12* -0.84% -4.53**
Moderate (5–10%) 9,120 -0.04% -0.37 -0.80% -4.00**
Sharp (10–20%) 3,921 -0.76% -3.48** -1.17% -2.86**
Severe (20%+) 909 +0.86% +1.29 +1.23% +1.11

Two things stand out.

The 10–20% sell-off group is the worst. These are stocks where the market sold off hard enough to signal something fundamentally wrong, but not hard enough to be "priced in." At T+21, they're down -0.76% vs SPY (t=-3.48). At T+63, -1.17% (t=-2.86). Both statistically significant.

The 20%+ group is different. The T+21 number is +0.86% and T+63 is +1.23%, but neither is statistically significant (t=1.29 and t=1.11). With n=909, the positive mean is being driven by a fat tail of recoveries, not a consistent effect. The median at T+63 is actually -2.50%. Half the severe dip stocks continue falling.

So: moderate dips are reliably bad, sharp dips are reliably worse, and severe dips are inconsistent with a slightly positive mean masking a negative median.


Why PEAD Beats Mean Reversion Here

Post-earnings announcement drift (PEAD) says stocks continue moving in the direction of the earnings surprise. Beat → drift higher. Miss → drift lower. The beat-and-dip pattern tests the opposite: beat → market says no → does the market eventually agree with the beat?

The data says the market wins. When a company beats estimates but the stock sells off 5%+, the market is likely pricing in something that's not in the EPS number. Guidance cuts. Revenue miss. Margin compression. One-time items. EPS can beat while every forward-looking metric looks worse.

The academic literature on PEAD (Ball & Brown 1968, Foster, Olsen & Shevlin 1984) focuses on the alignment between surprise direction and return. The beat-and-dip is a case where the two conflict: the number was good but the reaction was bad. The reaction contains more information.


The SQL Screen

This query finds current beat-and-dip candidates — stocks that just beat earnings but sold off 5% or more:

WITH recent_beats AS (
    SELECT e.symbol,
           CAST(e.date AS DATE) AS event_date,
           ROUND((e.epsActual - e.epsEstimated) / ABS(NULLIF(e.epsEstimated, 0)) * 100, 1) AS surprise_pct,
           ROUND(k.marketCap / 1e9, 2) AS mktcap_bn,
           p.companyName AS company_name,
           p.exchange
    FROM earnings_surprises e
    JOIN profile p ON e.symbol = p.symbol
    JOIN key_metrics k ON e.symbol = k.symbol AND k.period = 'FY'
    WHERE e.epsEstimated IS NOT NULL
      AND ABS(e.epsEstimated) > 0.01
      AND e.epsActual > e.epsEstimated
      AND CAST(e.date AS DATE) >= CURRENT_DATE - INTERVAL 30 DAY
      AND k.marketCap > 1000000000
      AND p.exchange IN ('NYSE', 'NASDAQ', 'AMEX')
    QUALIFY ROW_NUMBER() OVER (PARTITION BY e.symbol ORDER BY k.date DESC) = 1
)
SELECT rb.symbol,
       rb.event_date,
       rb.surprise_pct,
       rb.mktcap_bn,
       rb.company_name,
       -- Compare T+1 close to T-1 close for the reaction
       ROUND((p2.adjClose - p1.adjClose) / p1.adjClose * 100, 2) AS reaction_pct
FROM recent_beats rb
JOIN stock_eod p1 ON rb.symbol = p1.symbol
    AND CAST(p1.date AS DATE) = rb.event_date - INTERVAL 1 DAY
JOIN stock_eod p2 ON rb.symbol = p2.symbol
    AND CAST(p2.date AS DATE) = rb.event_date + INTERVAL 1 DAY
WHERE (p2.adjClose - p1.adjClose) / p1.adjClose <= -0.05
ORDER BY rb.event_date DESC, rb.surprise_pct DESC
LIMIT 30

The reaction_pct filter at -0.05 catches the 5%+ sell-off. This is a screen, not an entry signal — the backtest says these stocks underperform on average.

Run this screen live on Ceta Research → (pre-loaded query, no account required)


Limitations

Why EPS beats can mislead: A company can beat EPS via cost cuts, buybacks, or one-time tax benefits while its core business deteriorates. The market often sees through headline EPS. The stock reaction is frequently the more honest signal.

Market cap floor: The $1B floor focuses on liquid mid-to-large caps. Small caps may show a different pattern, but execution costs make the trade less practical there.

Survivorship bias: Companies that delisted due to failure are underrepresented, which slightly biases CAR estimates upward. The true result is likely a bit worse.

T+5 is flat, then it deteriorates. The very short-term recovery instinct isn't entirely wrong — T+5 is essentially zero (-0.04%, not significant). The problem is the 1-3 month drift. If you're trading with very tight exits, the signal might look different. But by the time most investors reconsider, it's T+63 territory.


Takeaway

"Buy the beat-and-dip" is the kind of trade that feels logical but fails empirically. The market's negative reaction to a genuine earnings beat usually means something the headline number doesn't show. 13,950 events over 25 years say: when the market says no after a beat, trust the market.

Taiwan is the notable exception — the only market in our study where beat-and-dip events reliably revert. India shows delayed reversion at T+63. Both are discussed separately.

Part of a series: Post-earnings dip mean reversion tested across 12 exchanges. See Taiwan, India, and the global comparison.


Data: FMP earnings surprises + adjusted prices, 2000–2025. NYSE, NASDAQ, AMEX. Market cap > $1B USD. 13,950 beat-and-dip events. CAR vs SPY, measured from T+1 close.