Understanding MCO & MCSI Confluence for Market Timing
The Breadth Signal is a pure breadth-based indicator that analyzes market participation using two key components:
Purpose: Short-term breadth momentum timing
Calculation: Advancers minus decliners smoothed with 19/39-day EMAs
Key Thresholds:
Purpose: Longer-term participation confirmation
Calculation: Cumulative sum of MCO + 10DMA comparison
Key Signals:
| 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 |
Fetch historical MCO and MCSI values (typically 300 data points for optimal sigma calculation)
Calculate rolling standard deviation (252-period) for both MCO and MCSI to determine deviation from normal
Determine curl-up using linear regression on recent values and check for 10DMA reclaim
Apply the confluence rules in priority order to generate final signal with reasoning
Our implementation tracks breadth signals across three major indices:
Broad market breadth - most comprehensive market participation
Tech/growth focus - leading indicator for risk appetite
S&P 500 ETF - large-cap institutional participation