Market health score today
One number for all the indicators in the score: 0 when every one is bearish, 100 when every one is bullish.
What it means now
Breadth is softening: more indicators are weakening than strengthening. 0 of the 11 indicators in the score are bullish and 3 bearish. On the 224 days the score was soft since 2017, SPY returned +5.8% on average over the next three months, against +3.7% from any day. A description of the past, not a forecast.
What the history shows
- After Strong days (65 or more, 842 days), SPY returned +3.3% on average over three months; after Weak days (35 or less, 238 days), +3.6%.
- 26 of 41 bearish signals (63%) were followed by a fall of 5% or more within three months, against 34% of all days.
- The score turned bearish ahead of 3 of the 5 falls of 10% or more since 2017.
- Holding SPY but T-bills while the score was bearish returned 13.7% a year with a worst fall of −32.2%, against 14.6% and −33.7% for SPY held throughout.
- These rest on 2,234 trading days but only 5 real declines; neighbouring days overlap and are not independent, and the record before go-live is a backtest.
- SPY
- Bearish
- Bullish
The research, on demand
Today, indicator by indicator
| Indicator | State | Counts as |
|---|---|---|
| Hindenburg Omen | Bearish | −1 |
| Advance-decline line | Bearish | −1 |
| McClellan Oscillator | Neutral | 0 |
| Stocks above their 200-day average | Neutral | 0 |
| New highs minus new lows | Neutral | 0 |
| Zweig breadth thrust | Neutral | 0 |
| 90% up and down days | Neutral | 0 |
| Equal weight against SPY | Neutral | 0 |
| Sector breadth | Neutral | 0 |
| Small against large companies | Bearish | −1 |
| Valuation | Neutral | 0 |
SPY after each band and each state
SPY after each band of the score
| Band | Days | SPY 1 month later | 3 months | 6 months | Worst fall within 3 months | A band lasts |
|---|---|---|---|---|---|---|
| Weak | 238 | +0.3% | +3.6% | +7.7% | −8.7% | 6 days |
| Soft | 224 | +2.2% | +5.8% | +9.4% | −5.2% | 2 days |
| Mixed | 463 | +0.7% | +3.5% | +7.8% | −5.3% | 3 days |
| Firm | 467 | +1.2% | +3.8% | +7.4% | −3.9% | 3 days |
| Strong | 842 | +1.6% | +3.3% | +7.1% | −3.9% | 9 days |
| All days | 2,234 | +1.3% | +3.7% | +7.6% | −4.9% | – |
The score changed band 64 times a year on average.
Every day in a band: SPY’s average return over the next 1, 3 and 6 months, the average worst fall in the next 3 months, and how long the score usually stays in that band. The periods overlap; a description, not a forecast.
SPY after each state
| From | Days | SPY, next month (avg) | SPY, next 3 months (avg) |
|---|---|---|---|
| Bearish days | 238 | +0.3% | +3.6% |
| Neutral days | 1,154 | +1.2% | +4.1% |
| Bullish days | 842 | +1.6% | +3.3% |
| All days | 2,234 | +1.3% | +3.7% |
Every decline of 10% or more, and every signal
Holding SPY, but T-bills while Breadth score was bearish, would have returned 13.7% a year with a worst fall of −32.2%, against 14.6% a year and −33.7% for SPY held throughout. Of its bearish signals with three months of history after them, 26 of 41 (63%) were followed by a fall of 5% or more in SPY within three months, against 34% of all 2,171 days (neighbouring days overlap, so days are not independent events). After its 97 bullish signals SPY returned +3.7% on average over three months, against +3.7% from any day. It turned bearish ahead of 3 of the 5 declines of 10% or more in this period.
| High | Low | Fall | Bearish by the high | Days bearish on the way down | A month after the low |
|---|---|---|---|---|---|
| Jan 26, 2018 | Feb 8, 2018 | −10.1% | No | 0% | Bullish |
| Sep 20, 2018 | Dec 24, 2018 | −19.3% | No | 82% | Bullish |
| Feb 19, 2020 | Mar 23, 2020 | −33.7% | Yes | 88% | Neutral |
| Jan 3, 2022 | Oct 12, 2022 | −24.5% | Yes | 33% | Neutral |
| Feb 19, 2025 | Apr 8, 2025 | −18.8% | Yes | 51% | Bullish |
“Bearish by the high”: bearish at some point from a month before SPY’s high to a week after it.
Every signal (139), newest first
| Date | Turned | SPY 1 month later | 3 months | 6 months | Lowest close within 3 months |
|---|---|---|---|---|---|
| Sep 29, 2026 | Bearish | – | – | – | – |
| Sep 3, 2026 | Bullish | +0.5% | – | – | – |
| Jul 27, 2026 | Bullish | +3.6% | – | – | – |
| Jun 26, 2026 | Bullish | +1.6% | +6.1% | – | +0.1% |
| Jun 5, 2026 | Bullish | +1.3% | +4.7% | – | −1.6% |
| Apr 6, 2026 | Bullish | +9.8% | +13.8% | +18.2% | +0.0% |
| Mar 20, 2026 | Bearish | +8.6% | +15.1% | +19.9% | −2.6% |
| Mar 4, 2026 | Bullish | −4.0% | +10.4% | +12.3% | −7.5% |
| Jan 5, 2026 | Bullish | −0.2% | −3.9% | +9.0% | −7.9% |
| Dec 24, 2025 | Bullish | +0.7% | −7.9% | +7.9% | −7.9% |
| Dec 9, 2025 | Bullish | +1.9% | −2.2% | +8.6% | −2.2% |
| Nov 26, 2025 | Bullish | +1.5% | +1.3% | +12.2% | −1.2% |
| Nov 19, 2025 | Bearish | +3.0% | +3.3% | +13.2% | −1.5% |
| Nov 17, 2025 | Bearish | +0.9% | +3.1% | +12.0% | −2.0% |
| Oct 20, 2025 | Bullish | −1.7% | +2.4% | +6.5% | −2.8% |
| Oct 15, 2025 | Bullish | +1.0% | +4.4% | +7.4% | −1.9% |
| Oct 8, 2025 | Bullish | −0.4% | +2.7% | +1.5% | −3.1% |
| Oct 3, 2025 | Bullish | +2.1% | +3.1% | −0.9% | −2.5% |
| Sep 15, 2025 | Bullish | +0.5% | +3.4% | +2.1% | −1.0% |
| Aug 22, 2025 | Bullish | +3.1% | +1.4% | +7.1% | −0.8% |
| Aug 13, 2025 | Bullish | +1.9% | +6.2% | +6.2% | −1.4% |
| Jul 22, 2025 | Bullish | +1.5% | +7.0% | +9.6% | −1.1% |
| Jul 17, 2025 | Bullish | +2.5% | +6.2% | +10.9% | −1.0% |
| Jul 1, 2025 | Bullish | +2.3% | +8.2% | +11.9% | +0.4% |
| Jun 23, 2025 | Bullish | +5.7% | +11.4% | +14.0% | +1.1% |
| May 27, 2025 | Bullish | +3.8% | +9.5% | +13.8% | −0.6% |
| May 8, 2025 | Bullish | +6.1% | +13.1% | +19.3% | −0.1% |
| May 2, 2025 | Bullish | +5.2% | +11.7% | +21.0% | −1.4% |
| Apr 3, 2025 | Bearish | +5.0% | +16.0% | +25.4% | −7.5% |
| Mar 3, 2025 | Bearish | −3.6% | +1.8% | +10.3% | −14.7% |
| Feb 21, 2025 | Bearish | −4.0% | −2.5% | +8.2% | −17.0% |
| Jan 10, 2025 | Bearish | +4.3% | −7.7% | +7.8% | −14.2% |
| Jan 2, 2025 | Bearish | +2.9% | −13.3% | +6.7% | −13.3% |
| Dec 30, 2024 | Bearish | +2.3% | −3.7% | +6.9% | −6.3% |
| Nov 21, 2024 | Bullish | +0.5% | +0.5% | −0.4% | −1.9% |
| Nov 4, 2024 | Bullish | +6.6% | +6.8% | −0.2% | +1.2% |
| Oct 25, 2024 | Bullish | +3.2% | +4.3% | −3.6% | −1.8% |
| Oct 11, 2024 | Bullish | +3.3% | +0.8% | −6.7% | −1.9% |
| Oct 9, 2024 | Bullish | +3.2% | +0.9% | −6.9% | −1.5% |
| Oct 4, 2024 | Bullish | −0.6% | +4.3% | −12.8% | −0.9% |
| Sep 12, 2024 | Bullish | +4.0% | +9.0% | +2.1% | +0.4% |
| Aug 23, 2024 | Bullish | +1.9% | +5.9% | +6.4% | −3.9% |
| Aug 21, 2024 | Bullish | +1.7% | +5.6% | +7.2% | −3.6% |
| Aug 19, 2024 | Bullish | +0.3% | +5.0% | +9.8% | −3.4% |
| Jul 11, 2024 | Bullish | −4.2% | +4.0% | +5.0% | −7.0% |
| Jun 12, 2024 | Bullish | +4.1% | +3.6% | +12.9% | −4.1% |
| May 1, 2024 | Bullish | +5.4% | +8.9% | +16.7% | +0.9% |
| Apr 29, 2024 | Bullish | +3.1% | +6.6% | +14.6% | −1.9% |
| Mar 27, 2024 | Bullish | −2.8% | +4.8% | +10.1% | −5.4% |
| Mar 20, 2024 | Bullish | −4.9% | +5.1% | +10.1% | −4.9% |
| Feb 15, 2024 | Bullish | +2.5% | +5.6% | +11.1% | −1.1% |
| Feb 12, 2024 | Bullish | +3.0% | +4.3% | +8.9% | −1.4% |
| Nov 22, 2023 | Bullish | +4.5% | +11.7% | +17.2% | −0.1% |
| Nov 17, 2023 | Bullish | +5.8% | +10.7% | +18.7% | +0.6% |
| Nov 14, 2023 | Bullish | +5.2% | +12.3% | +18.7% | +0.2% |
| Oct 23, 2023 | Bearish | +7.8% | +15.9% | +21.1% | −2.3% |
| Oct 19, 2023 | Bearish | +5.7% | +13.8% | +18.0% | −3.7% |
| Oct 13, 2023 | Bearish | +2.0% | +10.5% | +17.5% | −4.8% |
| Oct 3, 2023 | Bearish | +0.3% | +11.6% | +22.6% | −2.6% |
| Aug 29, 2023 | Bullish | −4.3% | +1.6% | +14.0% | −8.2% |
| Jul 7, 2023 | Bullish | +2.8% | −2.9% | +7.5% | −3.5% |
| Jun 27, 2023 | Bullish | +3.7% | −2.0% | +9.9% | −2.0% |
| Jun 13, 2023 | Bullish | +3.3% | +2.6% | +7.1% | −0.8% |
| Jun 7, 2023 | Bullish | +3.5% | +4.7% | +7.4% | +0.6% |
| Jan 9, 2023 | Bullish | +5.9% | +6.0% | +15.9% | −0.6% |
| Jan 4, 2023 | Bullish | +7.5% | +6.6% | +15.1% | −1.1% |
| Nov 30, 2022 | Bullish | −5.8% | −0.4% | +5.9% | −7.2% |
| Nov 22, 2022 | Bullish | −4.4% | −0.4% | +4.6% | −5.4% |
| Oct 25, 2022 | Bullish | +4.5% | +5.6% | +8.1% | −3.6% |
| Sep 20, 2022 | Bearish | −4.1% | −0.6% | +3.0% | −7.2% |
| Sep 16, 2022 | Bearish | −4.9% | +1.1% | +3.0% | −7.5% |
| Sep 1, 2022 | Bearish | −7.1% | +3.2% | +2.9% | −9.7% |
| Aug 18, 2022 | Bullish | −8.8% | −7.2% | −4.0% | −16.3% |
| Aug 8, 2022 | Bullish | −3.7% | −8.5% | +1.4% | −13.3% |
| Jul 13, 2022 | Bearish | +10.9% | −5.2% | +5.3% | −5.3% |
| Jun 13, 2022 | Bearish | +1.2% | +5.3% | +7.3% | −2.2% |
| May 23, 2022 | Bearish | −4.3% | +4.3% | +0.3% | −7.6% |
| May 5, 2022 | Bearish | −0.5% | +0.3% | −9.6% | −11.4% |
| Apr 22, 2022 | Bearish | −6.8% | −6.8% | −11.4% | −13.9% |
| Apr 11, 2022 | Bearish | −10.7% | −13.5% | −18.0% | −16.7% |
| Mar 29, 2022 | Bullish | −7.3% | −17.2% | −19.0% | −20.6% |
| Mar 22, 2022 | Bullish | −2.6% | −16.4% | −15.3% | −18.4% |
| Mar 7, 2022 | Bearish | +7.9% | −1.5% | −6.1% | −6.9% |
| Feb 24, 2022 | Bearish | +6.0% | −6.9% | −1.3% | −8.8% |
| Feb 18, 2022 | Bearish | +3.9% | −10.0% | −4.1% | −10.0% |
| Feb 11, 2022 | Bearish | −3.2% | −8.5% | −1.9% | −10.7% |
| Jan 18, 2022 | Bearish | −2.2% | −2.2% | −12.9% | −8.8% |
| Nov 29, 2021 | Bearish | +3.1% | −7.1% | −10.5% | −8.9% |
| Nov 5, 2021 | Bullish | −0.1% | −4.2% | −14.5% | −7.6% |
| Nov 1, 2021 | Bullish | −2.1% | −1.2% | −8.9% | −5.9% |
| Oct 14, 2021 | Bullish | +5.6% | +5.4% | −0.4% | +0.8% |
| Sep 2, 2021 | Bullish | −5.1% | +1.3% | −4.0% | −5.1% |
| Jun 21, 2021 | Bullish | +3.3% | +3.5% | +10.0% | +0.4% |
| Jun 1, 2021 | Bullish | +2.3% | +8.1% | +11.4% | −0.8% |
| Mar 5, 2021 | Bullish | +6.2% | +10.5% | +18.9% | −0.5% |
| Nov 9, 2020 | Bullish | +3.5% | +10.5% | +15.2% | −0.4% |
| Nov 3, 2020 | Bullish | +9.1% | +15.4% | +25.7% | +2.2% |
| Oct 6, 2020 | Bullish | +2.6% | +12.0% | +22.9% | −2.5% |
| Aug 7, 2020 | Bullish | −0.4% | +5.1% | +17.7% | −3.2% |
| Jul 15, 2020 | Bullish | +4.7% | +9.2% | +19.0% | −0.3% |
| Jun 4, 2020 | Bullish | +2.3% | +15.4% | +18.8% | −3.5% |
| Apr 1, 2020 | Bearish | +14.9% | +26.7% | +37.2% | +0.8% |
| Feb 24, 2020 | Bearish | −24.1% | −7.8% | +6.4% | −30.4% |
| Jan 14, 2020 | Bullish | +2.9% | −14.7% | −0.7% | −31.5% |
| Jan 8, 2020 | Bullish | +2.4% | −15.0% | −2.1% | −30.9% |
| Dec 4, 2019 | Bullish | +4.4% | −4.0% | +3.7% | −4.4% |
| Nov 22, 2019 | Bullish | +3.8% | +0.7% | −1.3% | −0.5% |
| Nov 1, 2019 | Bullish | +1.1% | +8.0% | −5.5% | +0.3% |
| Oct 28, 2019 | Bullish | +3.6% | +8.2% | −2.3% | −0.0% |
| Oct 22, 2019 | Bullish | +3.9% | +11.5% | −5.6% | +0.3% |
| Oct 8, 2019 | Bearish | +6.4% | +13.0% | −4.0% | +0.9% |
| Sep 25, 2019 | Bullish | +0.9% | +8.5% | −11.3% | −3.2% |
| Sep 16, 2019 | Bullish | +0.0% | +6.2% | −15.0% | −3.6% |
| Sep 3, 2019 | Bearish | −0.5% | +7.7% | +8.6% | −0.5% |
| Aug 9, 2019 | Bearish | +2.2% | +6.2% | +15.9% | −2.6% |
| Aug 6, 2019 | Bearish | +3.5% | +7.3% | +16.8% | −1.4% |
| May 23, 2019 | Bearish | +4.6% | +4.1% | +11.2% | −2.7% |
| May 3, 2019 | Bullish | −4.6% | +0.0% | +4.1% | −6.6% |
| Apr 5, 2019 | Bullish | −0.2% | +3.4% | +3.0% | −4.9% |
| Feb 11, 2019 | Bullish | +4.0% | +4.2% | +7.5% | +1.3% |
| Feb 1, 2019 | Bullish | +3.3% | +9.4% | +9.4% | +0.0% |
| Jan 15, 2019 | Bullish | +5.4% | +11.9% | +15.4% | +0.2% |
| Jan 9, 2019 | Bullish | +4.8% | +12.2% | +17.1% | −0.2% |
| Dec 4, 2018 | Bearish | −5.3% | +2.2% | +7.5% | −12.8% |
| Nov 26, 2018 | Bearish | −6.7% | +4.8% | +5.4% | −11.9% |
| Nov 19, 2018 | Bearish | −8.1% | +4.3% | +5.9% | −12.4% |
| Nov 12, 2018 | Bearish | −2.6% | +1.3% | +6.6% | −13.5% |
| Oct 2, 2018 | Bearish | −7.2% | −15.7% | −0.5% | −19.1% |
| Aug 20, 2018 | Bullish | +1.9% | −3.7% | −1.9% | −7.2% |
| Aug 2, 2018 | Bullish | +2.8% | −3.7% | −2.7% | −6.1% |
| Jul 31, 2018 | Bullish | +3.6% | −5.8% | −3.0% | −5.8% |
| Apr 10, 2018 | Bullish | +1.6% | +5.7% | +9.5% | −1.0% |
| Mar 5, 2018 | Bullish | −2.8% | +1.4% | +7.6% | −5.0% |
| Feb 23, 2018 | Bullish | −3.1% | −0.3% | +4.9% | −5.9% |
| Feb 21, 2018 | Bullish | −2.0% | +1.4% | +6.9% | −4.3% |
| Feb 9, 2018 | Bearish | +5.8% | +4.8% | +9.2% | −1.1% |
| Dec 15, 2017 | Bullish | +4.7% | +2.1% | +4.3% | −3.3% |
| Dec 13, 2017 | Bullish | +4.4% | +3.7% | +5.3% | −2.9% |
| Dec 7, 2017 | Bullish | +4.5% | +6.0% | +6.4% | −1.9% |
Other cut-offs: how the result changes with the thresholds
| Variant | SPY or T-bills, a year | Worst fall | Days bearish | Bearish signals | Followed by a 5% fall | Bullish signals | SPY 3 months after |
|---|---|---|---|---|---|---|---|
| Bullish 60+ / bearish 40 or less | 11.5% | −31.9% | 15% | 58 | 46% (26 of 57) | 93 | +4.2% |
| Bullish 65+ / bearish 35 or less | 13.7% | −32.2% | 11% | 42 | 63% (26 of 41) | 97 | +3.7% |
| Bullish 70+ / bearish 30 or less | 17.1% | −26.6% | 6% | 30 | 73% (22 of 30) | 94 | +3.4% |
| Bullish 75+ / bearish 25 or less | 14.9% | −27.8% | 4% | 20 | 65% (13 of 20) | 60 | +5.0% |
| SPY held throughout | 14.6% | −33.7% | – | – | 34% (any day) | – | +3.7% (any day) |
How the score is made
- Each indicator in the score counts the same: bullish +1, neutral 0, bearish −1.
- Score = 50 + 50 × the average of those numbers.
- Bullish at 65 or more, bearish at 35 or less, neutral between. Labels: Weak (35 or less), Soft, Mixed (45 to 55), Firm, Strong (65 or more).
- A day needs readings from at least 8 indicators; an indicator joins once it has a year of history.
- The backtest applies the rule to every trading day since Nov 27, 2017: SPY, switching to T-bills (BIL) at the next close after the score turns bearish, 0.10% a switch, dividends and interest included.
Equal weights on purpose: weights chosen to fit past declines would look better in a backtest and say less about the future.
Live record
The rule went live after the close of Oct 16, 2026. Every reading since was made by the daily run after that day’s close and is kept exactly as made; the newest few are corrected only if late price data changes them.
No live readings yet: the first comes after the next trading day.
Free · every Friday after the close
Know when the market’s underlying health changes
Every Friday, a two-minute report on market health, rising risk and the indicators that changed, without having to watch every chart yourself.
- The health score and the top-risk score, and how far each moved
- Every indicator that turned bullish or bearish, and why
- Whether breadth confirmed the S&P 500’s new highs
- The charts that matter, in under two minutes
From the same author
Bull Rhythm: momentum strategies, tracked live every trading day
Eight model stock portfolios built on 12-1 momentum, one of the most researched return factors in finance, run by fixed rules and measured against the S&P 500.
- Every holding and every trade published, with the reason in plain words
- The live record since go-live, next to a backtest since 2017
- The Bull Rhythm Weekly by email every Friday