🎯 EARN_beat PEAD Dashboard
Honest c[d+1]→o[d+2], beat-only, 570 events 2024-04 → 2026-04. Apr 23 research cut.
⚠ Look-ahead guards (verified Apr 23):
❌ RETRACTED: EARN_beat c0→o1 Sh 3.04 (64% events AMC, label post-close).
❌ Snapshot files: yf_key_stats / yf_price_targets / yf_recommendation_trend = look-ahead.
⚠ Still to fix: yf_grading_history 48h window should be cut at 15:00 d+1. 8-K epochDate only has 2 unique times (15/16 ET) — late d+1 filings = look-ahead.
🏆 Sector Amplifiers (Yahoo asset_profile)
Sector table
| Sector | N | WR% | Mean% | Sharpe |
| Energy | 39 | 74.4 | +0.52 | 6.45 |
| Industrials | 41 | 63.4 | +0.85 | 5.85 |
| Financial Services | 41 | 58.5 | +0.91 | 5.84 |
| Technology | 156 | 56.4 | +0.46 | 2.37 |
| Basic Materials | 49 | 61.2 | +0.17 | 1.57 |
| Comm Services | 25 | 44.0 | -0.07 | -0.89 |
⚡ Factor amplifiers (Sh ≥ 3, N ≥ 25)
Top factor combos
| Combo | N | WR% | Sh |
| BigBeat × gap_flat × intra_up | 63 | 60 | 5.89 |
| BigBeat × gap_dn × intra_up | 37 | 65 | 5.74 |
| Pre_20d -10..-5% (oversold) | 61 | 69 | 4.77 |
| DoubleBeat × gap_dn × intra_up | 42 | - | 4.75 |
| REV surprise 0-2% | 110 | - | 4.19 |
| D+1 vol <1× avg | 48 | - | 4.05 |
| Pre_20d +5..+15% | 135 | 66 | 4.00 |
| EPS surprise >50% | 120 | 61 | 3.88 |
| GAAP flattery (nonGAAP≫GAAP) | 162 | 63 | 3.54 |
🔴 FADE / SKIP flags
| Flag | Sh |
| D+1 volume >5× avg (blowoff) | -2.33 |
| D+1 gap 5-10% (overextended) | -1.08 |
| EPS surprise 5-15% (mid-mush) | -0.75 |
| Pre_20d flat | -0.71 |
| Comm Services sector | -0.89 |
| gap_dn × intra_dn (confirmed neg) | -0.20 |
Weak overlays (недостаточно coverage)
| Analyst upgrades 48h post-report | 27/570 events (5%) |
| Insider buys 30d prior | 16/570 events |
| 8-K filings d0/d+1 | 30/570 events, Sh 0.99 |
| TTN research_alert (as overlay) | Sh -0.98 |
📋 Trading Tiers (15:00 d+1 entry → 09:30 d+2 MOO exit)
🥇 S-TIER — $7.5K position
Filters: Sector ∈ {Energy, Industrials, Financials}
+ BigBeat (EPS ≥ 15%)
+ gap_flat / gap_dn at 14:30 d+1
+ intra_up (close>open d+1)
+ NO fade flags
Expected: Sh 6-8, WR 70%+
🥈 A-TIER — $5K position
Filters: Sector ∈ {Tech, Energy, Indus, Fin}
+ (BigBeat OR Pre_20d -10..-5% OR Pre_20d +5..+15%)
+ NO fade flags
Expected: Sh 3-5, WR 60-65%
🥉 B-TIER — $2.5K position
Filters: Base beat event
+ BMO (or confirmed day+1 entry)
+ Sector ≠ Comm Services
+ NO fade flags
Expected: Sh 1.5-2, WR 55%+
❌ SKIP — $0
Any trigger: D+1 vol >5× avg
/ D+1 gap 5-10%
/ EPS surprise 5-15% (mid-mush)
/ Sector = Comm Services
/ gap_dn × intra_dn
📈 STRICT Backtest — 2y (Apr 2024 → Apr 2026)
Strict cutoff applied: Yahoo grades cutoff at 15:00 ET d+1 (no d+2 leak). 8-K filings cutoff at 15:00 d+1. BMO/AMC via gap dominance proxy.
Entry: close[d+1] (proxy for 15:00) → Exit: open[d+2] MOO. Spread 10bps.
Equity curve (S+A+B traded)
Tier breakdown
| Tier | N | WR% | Mean% | Sh | PnL |
| S | 29 | 65.5 | +1.12 | 9.88 | $2,443 |
| A | 82 | 70.7 | +1.19 | 5.32 | $4,877 |
| B | 79 | 55.7 | +0.24 | 2.23 | $465 |
| C | 68 | 50.0 | +0.13 | 1.02 | $0 |
| SKIP | 312 | 52.6 | -0.07 | -0.54 | $0 |
By quarter
| Q | N | WR | Sh | PnL |
| 2024Q2 | 29 | 72.4 | 5.98 | $733 |
| 2024Q3 | 24 | 66.7 | 8.01 | $616 |
| 2024Q4 | 15 | 60.0 | 6.40 | $446 |
| 2025Q1 | 16 | 56.3 | 0.42 | -$6 |
| 2025Q2 | 26 | 61.5 | 7.09 | $1,943 |
| 2025Q3 | 22 | 68.2 | 9.32 | $1,073 |
| 2025Q4 | 34 | 50.0 | 3.18 | $789 |
| 2026Q1 | 23 | 73.9 | 5.17 | $2,172 |
📅 Day-by-Day playbook
| Day | Time | Action |
| D0 (report day) | - | Nothing. Filter candidates for next day. |
| D+1 | 09:30 → 14:59 | Monitor: gap @ open, intra (c>o?), volume vs 20d avg. |
| D+1 | 15:00 ET | Evaluate tier filters → enter LONG if qualified. Use MKT/limit. |
| D+2 | 09:30 ET (MOO) | Exit MOO. Spread assumption 10bps. |
Data inventory: see memory/reference_data_inventory.md — master file catalog. Always grep before writing research scripts.
Scripts: research_earn_pead_factors.py, research_earn_pead_ttn_overlay.py, research_earn_pead_yahoo_overlay.py
Output CSV: research_results/earn_pead_factors.csv, ..._ttn_overlay.csv, ..._yahoo_overlay.csv
Merged parquet: research_results/earn_pead_with_yahoo.parquet (570 rows × 48 cols)