📅 Earnings MOO 09:30 -> 09:55 — Pattern Research

Window hard-locked: Entry MOO 09:30 auction, Exit 09:55 (live MOO-955 constraint).
Universe: earnings reporters where CC закончилось до 09:30:
  • BMO reporter → trade same day 09:30-09:55
  • AMC reporter (вчерашний after close) → trade next day 09:30-09:55
Data: universe_scored_v4 × earnings_5y_ttn_enriched, 2023-01 to 2026-04, liquid 2M+ ADV, mcap ≥ $300M, |ret|<15%.
Split: train 2023-2024 / test 2025-2026. Pass filter — sign-consistent, mean_tr/te > +0.05%, WR_te ≥ 58%, Sh_te ≥ 0.3, N_te ≥ 30.
Events: 3,166 total merged (train 1,475 / test 1,691).

PART 1 — Feature-based patterns (8 edges)

🟢 KEY FINDING: Moderate DOWN gap (-5%..-2%) in 09:30-09:55 window → LONG bounce. Edge holds в Financials, Q4 earnings, SPY_flat regime, BMO reporters. Mean +0.6-0.9% on Sh 4.5-5.7 / 25-min trade.
Contra intuition (после down-gap stock должен продолжить падение), но на 25-мин окне reversion dominates.
ScandirectionFilterN_trWR_trmean_trSh_trN_teWR_temean_teSh_te
gap × sectorLONGgap-5..-2, Financials3450.00.1020.863860.50.8485.65
gap × quarterLONGgap2..5, Q14562.20.2282.137265.30.8075.42
bmo_amc × gap × spy_gapLONGBMO, gap-5..-2, SPY_flat6556.90.3122.5610260.80.7395.11
gap × spy_gapLONGgap-5..-2, SPY_flat8956.20.4314.2513060.00.7415.07
gap × sectorLONGgap2..5, Technology2365.20.7135.813860.50.965.01
gap × spy5dLONGgap-5..-2, SPY5d_flat10051.00.1491.3116358.90.6564.69
gap × bmo_amcLONGgap-5..-2, BMO10650.00.1070.9514959.70.6424.6
gap × quarterLONGgap-5..-2, Q43151.60.4934.664065.00.4713.75

PART 2 — Per-ticker named setups (37 signatures)

⚠️ Small N per ticker (N_tr 5-9, N_te 3-5). Sh_te inflated at low N (MAD tiny when 5/5 same direction). Use как watch-list, not blind auto-trade. Паттерн: ticker consistently moves in same direction в MOO 09:30-09:55 post-earnings.

LONG signatures (23 tickers)

Торгуем LONG на MOO 09:30 если ticker reports AMC (yesterday) or BMO (today).

tickersectorN_trWR_trmean_trSh_trN_teWR_temean_teSh_te
SCHWFinancials862.51.4248.895100.01.46962.36
KOConsumer Staples875.00.2959.28580.00.41929.19
PSTGTechnology875.01.1579.64580.00.90821.33
DVNEnergy771.40.16610.3580.01.19319.69
LRCXTechnology862.50.0590.59580.01.12616.29
TFCFinancials875.00.6412.99580.01.50515.47
HDConsumer Discretionary875.00.6279.82560.01.09413.94
EBAYConsumer Discretionary887.50.80921.57580.00.78712.7
MNSTConsumer Staples580.00.4894.0560.00.36412.51
HIMSConsumer Staples862.50.8367.49580.02.33612.09
MSFinancials862.50.8536.1580.02.00711.97
MCDConsumer Discretionary862.50.4724.27560.01.04711.55
ADBETechnology666.70.1122.12580.00.94511.3
NDAQFinancials875.00.4582.98560.01.0479.62
BTIConsumer Staples966.70.0531.0580.00.3047.26
ELANHealth Care771.44.03431.98560.02.2367.07
SUEnergy683.30.82918.76580.00.5566.51
APPCommunications666.71.0382.65580.01.126.39
CFGFinancials887.51.82114.93560.00.9646.05
CATIndustrials862.50.3681.85580.01.1255.54
KRConsumer Staples875.02.04120.18560.01.1934.17
NRGUtilities771.42.22613.08560.00.8162.98
CCLConsumer Discretionary875.00.4713.89560.00.2520.67

LONG paste list (Sh_te > 3, basket import)

SCHW, KO, PSTG, DVN, LRCX, TFC, HD, EBAY, MNST, HIMS, MS, MCD, ADBE, NDAQ, BTI, ELAN, SU, APP, CFG, CAT, KR

SHORT signatures (14 tickers)

Торгуем SHORT на MOO 09:30 если ticker reports AMC (yesterday) or BMO (today).

tickersectorN_trWR_trmean_trSh_trN_teWR_temean_teSh_te
BAXHealth Care862.50.7193.35580.00.69975.09
CAVAConsumer Discretionary560.00.1840.785100.02.63964.67
IBKRFinancials666.70.0641.16580.00.52414.87
XOMEnergy862.50.5386.15560.01.1299.86
AEGFinancials666.70.1923.69580.00.4227.53
PAAEnergy666.70.3928.77560.01.0826.85
GSFinancials862.50.65110.87560.00.4486.6
CELHConsumer Staples6100.01.5422.16580.00.4846.54
AMGNHealth Care862.50.75.64580.00.5274.71
HOODFinancials875.00.519.25560.00.8543.16
FITBFinancials862.50.6753.78560.00.1282.97
BEIndustrials771.40.1210.74580.00.4712.85
PYPLFinancials862.50.6585.0560.00.2111.27
MOSMaterials771.40.4183.05580.00.0780.83

SHORT paste list (Sh_te > 2)

BAX, CAVA, IBKR, XOM, AEG, PAA, GS, CELH, AMGN, HOOD, FITB, BE

PART 3 — How to deploy

  1. Every trading day premarket: pull list of reporters where (AMC yesterday) OR (BMO today).
  2. Cross-reference with per-ticker signature table → если ticker в списке → queue MOO order.
  3. Feature overlay: если ticker НЕ в signature list, check gap buckets:
  4. Exit: 09:55 MOC exit (hard-locked, existing MOO-955 plumbing).
  5. Size: $5K per position. 2-5 reporters/day avg.

PART 4 — Expected P&L (rough)

PART 5 — Caveats

Files