Breadth Signal Guide
Understanding MCO & MCSI Confluence for Market Timing
What is the Breadth Signal?
The Breadth Signal is a pure breadth-based indicator that analyzes market participation using two key components:
- MCO (McClellan Oscillator) - Short-term timing tool for oversold conditions
- MCSI (McClellan Summation Index) - Longer-term confirmation of participation trends
Component Analysis
MCO (McClellan Oscillator)
Purpose: Short-term breadth momentum timing
Calculation: Advancers minus decliners smoothed with 19/39-day EMAs
Key Thresholds:
- Below -1σ - General oversold alert (timing window opens)
- Below -2σ - Deep oversold (higher conviction potential)
MCSI (McClellan Summation Index)
Purpose: Longer-term participation confirmation
Calculation: Cumulative sum of MCO + 10DMA comparison
Curl-up = linear_slope(recent_MCSI_values) > 0
Reclaim = current_MCSI > 10DMA AND previous_MCSI ≤ 10DMA
Key Signals:
- Curl-up - Early improvement, test the turn
- Recently Reclaimed 10DMA (5d) - Structural shift within last 5 days, press with conviction
- Curl-down - Contracting participation, stop adding
- Above 10DMA - Confirmed uptrend, hold positions
Signal Generation Rules
| Original Rule (Alex's Gitbook) | Script Implementation | Signal |
|---|---|---|
| Deep oversold MCO (-2σ) + MCSI curl-up + 10DMA reclaim | mco_sigma <= -2 && mcsi_curl_up && mcsi_reclaiming_10dma |
Strong Buy |
| Oversold MCO (-1σ) + MCSI curl-up (even without full reclaim) | mco_sigma <= -1 && mcsi_curl_up |
Buy |
| Oversold MCO but no MCSI confirmation (no curl-up) | mco_oversold && !mcsi_curl_up |
Caution |
| Early MCSI curl-up from oversold but no MCO oversold | mcsi_curl_up && mcsi_sigma < 0 && !mco_oversold |
Caution |
| MCSI above 10DMA + curl-up + not extended (confirmed uptrend) | mcsi_above_10dma && mcsi_curl_up && !mcsi_extended |
Hold |
| MCSI extended (+1σ+) + curl-down (late stage from overbought) | mcsi_sigma >= 1 && mcsi_curl_down |
Trim |
| MCSI curl-down (not extended) - participation fading | mcsi_curl_down && !mcsi_extended |
Caution |
| No oversold MCO and no positive MCSI trend | else condition |
No Signal |
How the Signal is Calculated
Data Collection
Fetch historical MCO and MCSI values (typically 300 data points for optimal sigma calculation)
Sigma Calculations
Calculate rolling standard deviation (252-period) for both MCO and MCSI to determine deviation from normal
MCSI Trend Analysis
Determine curl-up using linear regression on recent values and check for 10DMA reclaim
reclaim = (MCSI_today > 10DMA) AND (MCSI_yesterday ≤ 10DMA)
Signal Generation
Apply the confluence rules in priority order to generate final signal with reasoning
Trading Guidelines
When to Act
- Strong Buy: Highest conviction window - deep oversold MCO + MCSI curl-up + recently reclaimed 10DMA
- Buy: Standard entry - oversold MCO with early MCSI confirmation (curl-up)
- Hold: Confirmed uptrend - MCSI above 10DMA + curl-up, hold positions, selective adds
- Consider price context (21DMA, RS) for final entry timing
When to Wait
- Caution: Monitor only - isolated signals without full confluence or participation fading
- Trim: Extended + curling down - trim into strength, no new positions
- No Signal: Stay flat - fading participation or no setup
- Never add new positions when MCSI is in confirmed downtrend
Multi-Index Analysis
Our implementation tracks breadth signals across three major indices:
NYSE
Broad market breadth - most comprehensive market participation
NASDAQ
Tech/growth focus - leading indicator for risk appetite
SPY
S&P 500 ETF - large-cap institutional participation