Cycle Tracker: Is This a Broad Advance or a Narrowing Cycle?
Constructive — the Cycle Score reads 59/100, where 100 is a broadly owned advance and 0 is a contraction. This measures the medium-term structure, not this week's tape: six equal-weight dimensions of 3–12 month evidence — trend, participation, breadth velocity, credit, growth cycle, recession risk — each mapped between documented bounds by one pure function. The identical function replays the 2010+ history, so the live gauge and the band base rates below cannot drift. Methodology revised 2026-07-18 (v2): v1's duplicate breadth votes were retired, credit widened to two channels, and the OECD leading indicator added. v3 (2026-07-19) added the Recession risk dimension (yield curve 10Y−2Y, Sahm Rule, NFCI). The full history and base rates below are computed under v3.
What drives today's read
Growth cycle at 100/100.
Participation at 12/100.
Constructive for 8 sessions.
Sources, methodology & freshnessOwn daily price history: SPY, RSP, HYG/LQD and eligible common-stock breadth (roughly 4,750 in a typical session); daily 10Y−2Y, weekly NFCI, and release-aligned monthly Baa−10Y, OECD CLI and Sahm Rule · Daily after the US closeData as of 2026-10-13 · Open ↓Close ↑
constructive for 8 sessions · trend 68 · participation 12 · breadth velocity 22 · credit 70 · growth cycle 100 · recession risk 79
The score through time — every session since 2010
4,022 sessions of the same fixed-bound function — no re-fitting, so a 40 in 2015 means what a 40 means today. SPY rides the top pane for context; the line wears the band colors — deep green broad advance, medium green constructive, gray mixed, amber deteriorating, red contraction. The dips into contraction are the study's sample: 2011, 2015–16, 2018, 2020 and 2022 all register.
Cycle Score, daily since 2010-10-15 (4,022 sessions). Band edges are fixed at 70/58/42/30. Endpoint: 59/100 (constructive).
Which dimension turned first — the last 60 sessions
The composite hides sequence: breadth velocity usually rolls over before the primary trend cracks, and credit often confirms last. Each row is one dimension's daily score on the same five-band scale as the gauge above — read left to right to see who is leading the current state.
The six dimensions — every input, with its past year
Each input maps linearly between documented bounds (and is clamped). Several bounds are deliberately asymmetric — SPY spends most of history above its 200-day average, so its neutral point is not zero; the bounds sit at each series' practical tails. The dashed lines mark them — green where the input earns full bull-cycle credit, red full bear-cycle credit (the credit-spread and recession-risk inputs are inverted: widening or tighter conditions are red). The OECD CLI is the one categorical input — its quadrant (above/below 100 × rising/falling) scores 100/65/35/0, and its chart shows the level against the 100 line. Monthly inputs (Baa spread, CLI, Sahm Rule) enter the score on their release dates, so the replay never sees a print before the market could. Every input links to its own tool with the full series. At least 4 of 6 dimensions must be live to publish a score.
Trend
68/100- SPY vs 200d MA+7.5% → 77
- 200d MA slope (63s)+4.0% → 58
Participation
12/100- % above 200d MA38.3% → 30
- Bullish Percent Index27.5% → 5
- RSP − SPY drawdown gap-4.1pp → 0
Breadth velocity
22/100- % above 200d, 63s change-16.7pp → 22
Credit
70/100- HYG/LQD vs 200d MA+1.9% → 69
- Baa spread vs 12m avg-0.18pp → 71
Growth cycle
100/100- OECD CLI quadrant100.9 · expansion → 100
Recession risk
79/100- Yield curve 10Y−2Y+0.44pp → 63
- Sahm Rule0.00 → 75
- NFCI-0.49 → 99
What happened next — SPY after each band
Average SPY return (and share of positive outcomes) after every prior session in each band, 2010+. The finding is the contrarian U this site keeps encountering: contraction states preceded the strongest forward returns — washouts mean-reverted — while the mid-strength bands ran nearest baseline. Color describes today's condition, not expected return.
Constructive
| Band | Days | Next 3 months | Next 6 months | Next 12 months |
|---|---|---|---|---|
| Broad advance | 988 | +3.48% · 84% win | +6.33% · 89% win | +10.89% · 87% win |
| Constructivetoday | 1224 | +2.65% · 77% win | +5.99% · 80% win | +12.33% · 87% win |
| Mixed | 1108 | +1.34% · 63% win | +3.81% · 66% win | +9.98% · 75% win |
| Deteriorating | 510 | +5.03% · 77% win | +8.38% · 86% win | +18.76% · 99% win |
| Contraction | 192 | +10.34% · 97% win | +16.06% · 100% win | +27.37% · 100% win |
| All days (baseline) | 4022 | +3.16% · 76% win | +6.26% · 80% win | +12.93% · 86% win |
Constructive
TodayMixed
Deteriorating
Contraction
All days (baseline)
Overlapping forward windows — adjacent sessions share most of their forward path, so sample sizes are optimistic. SPY price return, dividends excluded.
What flips this read
What this page cannot tell you
constructive for 8 sessions · trend 68 · participation 12 · breadth velocity 22 · credit 70 · growth cycle 100 · recession risk 79
How Cycle Tracker Works
- 1Six dimensions of mid-term evidenceTrend asks whether the primary trend is up. Participation and breadth velocity read roughly 4,750 eligible common stocks in a typical session. Credit checks HYG/LQD and the Baa−10Y spread. Growth uses the OECD leading indicator, while recession risk adds the 10Y−2Y curve, Sahm Rule, and Chicago Fed NFCI.
- 2One pure function, documented boundsEach input maps linearly between fixed bounds set at its practical historical tails — several deliberately asymmetric, because SPY spends most of history above its 200-day average. The CLI is the one categorical input (its quadrant scores 100/65/35/0). Dimensions weigh equally; at least 4 of 6 must be live to publish a score. Monthly inputs only count from their release date — the score never sees a print before the market could. Nothing is ever re-fit.
- 3The same function replays all of historyscoreCycleInputs() runs on today's values for the live gauge and over every session since 2010 for the history and backtest — so the latest history point always equals the live reading and the base rates cannot drift from the gauge.
- 4Base rates for every band, published either wayAverage SPY returns over the next 3, 6 and 12 months after every day in each band. The honest finding is the contrarian U this site keeps encountering: Contraction days preceded the strongest forward returns (washouts mean-revert), which is exactly why the page tells you the color describes condition, not expected return.