Pattern Lab · Methodology
PEAD methodology.
When a company reports earnings, the market reacts immediately — but it underreacts. Over the following 60 trading days, prices drift in the direction of the original surprise. The Closelook Pattern Engine measures the 3-day cumulative abnormal return on every earnings event in our universe, classifies the signal direction, and tracks it through a 63-day holding window.
The mechanic — four steps
- Trigger detection. Engine pulls the EODHD earnings calendar daily across the covered universes. Names that have reached T+3 are processed.
- CAR measurement. Cumulative abnormal return = (Price_T+3 / Price_T−1) − (Index_T+3 / Index_T−1). The reference index is the matching Closelook benchmark for the name's universe.
- Quintile classification. Top quintile of positive CARs → Long Setups. Bottom quintile of negative CARs → Short Setups. Middle three quintiles → no signal.
- Layered architecture. Signals pass through the upstream regime filter (suppress during transitions) and trend filter (require name-level continuation context) before becoming live alerts.
Direction + Conviction
- ↑ Long — CAR_3d ≥ +3% vs benchmark
- ↓ Short — CAR_3d ≤ −3% vs benchmark
- → None — CAR_3d in the ±3% neutral band
Conviction (0–100) scales |CAR_3d|% by 10 (1% → 10, 5% → 50, 10% → 100), modified by drift consistency: +15 if the initial reaction and 1–3 day drift agree with CAR sign; −20 if the drift reverses the initial reaction (whipsaw penalty).
Universes & benchmarks
- Rubin 100 · benchmark CL-RUBIN-EW (universal SPY in v1)
- HALO 100 · benchmark CL-HALO (universal SPY in v1)
- Euro-AI 50 · benchmark CL-EURO-AI (universal SPY in v1)
- AW25 · benchmark CL-AW25 (universal SPY in v1)
- Nasdaq-tech overlay · ~50 curated US tech megacaps not in the thematic indices
v1 uses SPY universally. Stage B per spec swaps to per-index Closelook benchmarks once the historical-value endpoints land.
Failure modes (one-line each)
- Regime sensitivity. Drift weakens during high-volatility regime transitions. Engine suppresses signals when the regime filter flags transition state.
- Sector contamination. Sector references can themselves drift. Watch PEAD signals in already-extended sectors with extra skepticism.
- Earnings clustering. Signals fire correlated during peak weeks. The Engine flags cluster density; size accordingly.
- Post-2010 weakening. The 13% annualized spread of the 1980s is now closer to 6–9% in mid-cap concentrations. Don't expect 1980s magnitudes.
- Combined-signal trap. PEAD + trend + revision works in some regimes, fails in others. Combined signals carry combined assumptions.
Two prominent links
Read the full Lab Read — methodology, academic history, four mechanisms, three worked examples (Rubrik, CrowdStrike, Salesforce):
Post-Earnings Announcement Drift — Closelook Lab Read →
See live PEAD signals — current Long Setups + Short Setups from the Pattern Engine, updated continuously after each c-fire cron:
Or browse the chronological Tape feed for every PEAD card as it fires: tape/category/pead/