How the Indicators Work
Composite Score (0-100)
Every ticker gets a weighted score based on four factors:
% change from previous close to current pre-market price. Larger moves score higher. Scale: 1% = 25, 2% = 50, 5%+ = 100.
Overnight volume compared to average daily volume. Higher ratio = more conviction. Scale: 1x = 10, 2x = 40, 3x = 60, 5x+ = 100.
Did price break through important levels overnight? Checks 52-week highs/lows, previous day high/low, pivot points, SMAs, and swing levels. Confluence (multiple nearby levels) adds a bonus.
Is the overnight move in the same direction as the broader trend? Checks price position relative to 50-SMA and 200-SMA. Golden/death cross alignment adds more.
Key Level Break Scoring
| Level Broken | Points |
|---|---|
| 52-week high/low break | +40 |
| Previous day high/low break | +25 |
| Pivot R2 or S2 cross | +25 |
| 200-SMA cross | +25 |
| Pivot R1 or S1 cross | +20 |
| 50-SMA cross | +20 |
| Swing support/resistance break | +15 |
| Pivot PP cross | +10 |
| Confluence bonus (3+ nearby levels) | +15 |
| Confluence bonus (2 nearby levels) | +8 |
Points stack (e.g., breaking a pivot R1 AND 50-SMA = 40 pts). Capped at 100.
Technical Levels
Pivot Points (S2, S1, PP, R1, R2)
Classic floor trader pivots calculated from the previous day's high, low, and close:
These act as intraday support/resistance. Breaking R1 or S1 overnight signals strong directional intent.
Moving Averages (50-SMA, 200-SMA)
Simple moving averages over the last 50 and 200 trading days. The 50-SMA shows intermediate trend, while the 200-SMA shows the long-term trend. When the 50-SMA is above the 200-SMA, it's called a "golden cross" (bullish). When below, it's a "death cross" (bearish). A stock trading above both SMAs in an uptrend gets a higher trend alignment score.
Swing Highs / Lows (Support & Resistance)
Detected using a 3-bar pivot pattern over the last 30 trading days. A swing high occurs when a bar's high is greater than both its neighbors. A swing low occurs when a bar's low is lower than both neighbors. Levels within 0.5% of each other are clustered together to avoid noise. The top 3 supports and top 3 resistances are shown, sorted nearest-first.
Point of Control (POC)
The price level with the highest traded volume, calculated from intraday volume-by-price data. It represents the "fair value" where most trading activity occurred. When price moves away from POC, it may be attracted back. The % distance from current price to POC is shown on each card.
Confluence Zones
When multiple technical levels (pivots, SMAs, swing levels) cluster within 2% of the current price, it creates a "confluence zone." These zones act as stronger support/resistance because multiple indicators agree on the same area. 3+ levels nearby earns a +15 bonus; 2 levels earns +8.
Volume Ratio
Overnight volume divided by the stock's average daily volume. A ratio of 2.0x means twice the normal volume traded overnight — indicating unusual interest. High volume confirms that a price move has conviction behind it, while low-volume moves are more likely to reverse.
Trend Alignment Scoring
| Condition | Points |
|---|---|
| Price above 50-SMA + moving up (or below + moving down) | +30 |
| Price above 200-SMA + moving up (or below + moving down) | +30 |
| Golden cross + moving up (or death cross + moving down) | +20 |
| Move magnitude bonus (up to 4% move) | +5 to +20 |
Capped at 100. A stock moving in the direction of its trend scores much higher than one moving against it.
AI Morning Briefing
The AI briefing is generated by Claude at 6:20am PST as part of the daily report. It receives all scan data including technical levels, scores, and volume ratios, then produces a market summary, 8 top trade calls with specific price level references, sector highlights, and risks to watch. The AI is instructed to reference pivot points, SMAs, swing levels, and confluence zones when making calls.
Data Source
All market data comes from Yahoo Finance via the yahoo-finance2 API. Data may be delayed up to 15 minutes. Futures overnight session data may be incomplete. Historical data uses 300 calendar days for SMA calculations and 30 trading days for swing level detection.