System Design
The MorningEdge scanner reduces ~11,400 active US equities to exactly 5 actionable picks every morning — a 99.96% filter rate — through a 5-stage funnel.
11,400 tickers (NASDAQ + NYSE + ARCA + BATS)
Stage 1: Remove leveraged ETFs (~566 removed)
Stage 2: Price $5-$500, Gap 3%-15%, Spread <0.8%, Volume floors
Stage 3: Calculate 15-day RVOL, threshold 0.3x pre-market
Stage 4: Theme deduplication (max 1 per correlated group)
Stage 5: News catalyst check + composite scoring
Result: Top 5 candidates ranked by conviction
Stage 1: Leveraged ETF Exclusion
34 explicitly blocked symbols + regex pattern matching for "2x", "3x", "leveraged", "ultra", "bull", "bear", "inverse" in asset names. Leveraged ETFs distort RVOL signals due to rebalancing flows and contango/backwardation.
Stage 2: Quantitative Filters
| Filter | Threshold | Rationale |
|---|---|---|
| Price range | $5 - $500 | No penny stocks, no mega-caps that lack volatility |
| Gap % | 3% - 15% | Sweet spot for momentum without overextension |
| Spread | < 0.8% | Liquidity — wide spreads mean slippage on exit |
| Pre-market volume | > 50,000 | Must have real pre-market activity |
| Avg daily volume | > 200,000 | Must have institutional interest |
Stage 3: RVOL Calculation
avg_daily_volume = 15-day SMA of daily volume
normalized_avg = avg_daily_volume / 13 # 6.5hr day / 0.5hr pre-market
rvol = current_premarket_volume / normalized_avg
threshold = 0.3x
15-day (not 20-day): Reacts faster to recent volatility. 0.3x threshold (not 1.5x): Pre-market is naturally thin; even quality gappers rarely exceed 1.0x pre-market RVOL.
Stage 4: Theme Deduplication
Max 1 ticker per correlated group, selected by dollar volume (price × shares). Prevents concentrated risk. Known groups:
- Crypto (28 tickers): IBIT, ETHA, BITO, GBTC, COIN, MARA, RIOT, MSTR...
- Quantum (5 tickers): RGTI, IONQ, QBTS, QUBT, ARQQ
Stage 5: Catalyst Scoring
Score = RVOL × Catalyst_Multiplier
NEWS stocks get 1.5x; SUSPICIOUS get 1.0x. The bonus rewards conviction backed by a reason.
Day 0 Validation: Selected vs Filtered
| Category | Avg Close vs Open | Avg Max Extension |
|---|---|---|
| Top 5 (selected) | +4.47% | +8.18% |
| Filtered out | -0.09% | +2.20% |
The scanner separated signal from noise. Selected picks outperformed filtered candidates by +4.56% on average close-vs-open.
Implications
- The 5-stage architecture is validated. Day 0 confirmed the funnel correctly identifies high-conviction gap-and-go candidates.
- Theme dedup prevented a crypto cluster. BITO (-0.75%), BITX (-1.92%), ETHA (-2.11%) all faded. Without dedup, 3-4 crypto positions would have collectively lost $400-800.
- RVOL is the primary signal. Combined with catalyst quality, it produces a reliable ranking of conviction.
- Post-Day 0 enhancements added: Gemini Flash classification, 5 supplementary news sources, market regime filter, and tiered multipliers. These refine signal quality within each stage.