APEX factor · PEAD

PEAD factor — explained

PEAD — Post-Earnings Announcement Drift — bets that stocks which beat earnings keep drifting upward for 30 to 90 days after the print, and stocks that miss keep drifting down. The market under-reacts to the surprise; the drift fills in the gap.

Where this comes from

Academic anchor

Bernard-Thomas 1989 — Post-Earnings-Announcement Drift: Delayed Price Response or Risk Premium?
Documents that the top decile of standardised unexpected earnings (SUE) outperforms the bottom decile by ~7% in the 60 trading days after the announcement. The effect is robust across sub-periods, market caps, and earnings-surprise definitions. Forty years of out-of-sample data have failed to arbitrage it away — earnings announcements still create slow-diffusing news, especially among stocks with low analyst coverage.
Plain English

What it actually measures

When a company reports earnings, three things happen on day zero: a price gap, a flood of analyst notes, and an institutional rebalance. But the rebalance does not finish on day zero — index funds wait for the next rebalance window, mutual funds wait for the next manager meeting, retail investors wait for next month's brokerage email. Each wave of buying (or selling) stretches over weeks. PEAD measures how many waves are likely still ahead, given how big the surprise was, how confident analysts seem about the new trajectory, and how much trading has already happened.

No calibration constants

Math sketch

SUE = (actual_eps - consensus_eps) / σ_consensus       // standardised surprise
days_since = today - announcement_date                  // 0..90 window
decay = exp(-λ · days_since / 90)                       // how much drift left
revision = Σ analyst_revisions_post_print               // continued analyst lift
pead = z_score( w₁·SUE·decay + w₂·revision + w₃·gap_persistence )

Two mechanisms compete: SUE captures the original surprise (large surprises drift longer), revisions capture whether analysts are still updating upward weeks after the print. The decay constant λ is calibrated against historical drift profiles and is not disclosed. Gap-persistence measures whether the post-print price level has held — failed gaps reverse, durable gaps drift further.

Pipeline

How DeepVane implements it

Earnings calendar comes from Finnhub plus SEC EDGAR 8-K filings. SUE is computed nightly when an announcement enters the database; analyst revisions arrive on a 4-hour cadence. The factor lives in apex_factor_scores keyed by ticker and date, with values restricted to the 90-day post-announcement window — outside that window the factor returns a neutral 50 so it does not muddy the composite. Fresh prints (days 1-15) carry the highest weight; the signal anneals away as drift completes.

One coherent posterior

How it composes with APEX

PEAD interacts strongly with Momentum (a beat is the kind of news that creates the under-reaction Jegadeesh-Titman exploit) and with NLP MD&A tone — when management's narrative in the same 10-Q is upbeat, the drift extends further (Tetlock 2007's mechanism). When PEAD fires bullish AND momentum is rising AND NLP tone is positive, the EARNINGS MOMENTUM CASCADE confluence pattern triggers. Conversely, a SUE beat with bearish NLP tone fires the EARNINGS DISSONANCE pattern — the print was good but management is hedging.

Honest limitations

When it fails

PEAD's drift profile breaks during macro-driven sell-offs (March 2020, October 2022) — a beat in a falling market doesn't drift, it gets dragged down with the index. We mitigate via the regime amplifier: in risk-off regimes PEAD's weight halves automatically. Second failure: the 'whisper' problem. When unofficial analyst targets diverge sharply from the published consensus, the published SUE understates the actual surprise, and the drift starts before our signal recognises it. We do not currently incorporate whisper data — that's a known gap.

Read next

Related factors

MomentumNLPAccruals

See PEAD score on a real ticker

Every ticker page shows the per-factor decomposition. The PEAD score is one of twelve composing the 0–100 APEX composite.

Try NVDA →Full methodology35 invariants live