C+

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

Pattern Engine PEAD pipeline: trigger → CAR measurement → quintile classification → layered architecture filter.
  1. Trigger detection. Engine pulls the EODHD earnings calendar daily across the covered universes. Names that have reached T+3 are processed.
  2. 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.
  3. Quintile classification. Top quintile of positive CARs → Long Setups. Bottom quintile of negative CARs → Short Setups. Middle three quintiles → no signal.
  4. 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):

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/