Bear Rhythm

Overview › Stock breadth

Zweig breadth thrust

A rare burst from almost all stocks falling to almost all rising within two weeks. Updated after every US market close: the Zweig breadth thrust indicator, with its exact rule and its record since 2017.

NowNeutralsince Jul 28, 2025
Reading, Oct 16, 2026Breadth average 0.47. Last thrust Apr 24, 2025.
Live sinceOct 16, 2026readings after this day are the live record
Backtest fromOct 2, 20172,273 trading days

What it means now

Zweig breadth thrust is neutral today. Breadth average 0.47. Last thrust Apr 24, 2025. It was also neutral a week ago (0.49; now 0.47). On days in this state since 2017, SPY returned +3.4% on average over the next three months, against +3.8% from any day. A description of the past, not a forecast.

The past year. Top: SPY, shaded where the rule was bearish (red) or bullish (green). Bottom: the indicator.
Zweig breadth thrust, past yearZweig breadth thrust, past year, Oct 16, 2025 to Oct 16, 2026. Top: SPY, with the 0 bearish days shaded red and the 0 bullish days shaded green. Bottom: Share of rising stocks (10-day average) 0.47 at the end.SPY (log scale)Jan 2026Apr 2026Jul 20260.400.500.600.6150.4Share of rising stocks (10-day average)

What is the Zweig breadth thrust?

Martin Zweig described the breadth thrust as a market going from oversold to overbought almost overnight, as buyers return to nearly every stock at once. It is rare, so its history is a handful of dates.

How it is calculated

  1. Each day: rising stocks divided by rising plus falling stocks; take its 10-day exponential average.
  2. A thrust is a day when that average is above 0.615 and was below 0.4 at some point in the last 10 trading days.
  3. Bullish for 63 trading days after a thrust. Neutral otherwise; it is never bearish.

A standard setting, fixed before testing, not the best of the variants below. A state is decided from a day’s closing prices and published after that close.

How reliable has it been? Its record since Oct 2, 2017

Zweig breadth thrust is never bearish, so it never leaves SPY; what matters is what SPY did after its bullish signals. After its 3 bullish signals SPY returned +14.5% on average over three months, against +3.8% from any day. It turned bearish ahead of 0 of the 5 declines of 10% or more in this period.

The whole history. Shading as above.
Zweig breadth thrust since 2017Zweig breadth thrust since 2017, Oct 2, 2017 to Oct 16, 2026. Top: SPY, with the 0 bearish days shaded red and the 192 bullish days shaded green. Bottom: Share of rising stocks (10-day average) 0.47 at the end.SPY (log scale)2018201920202021202220232024202520260.400.600.6150.4Share of rising stocks (10-day average)
The full record and research: every state, decline, signal, variant and setting tested

SPY after each state

SPY after each state
FromDaysSPY, next month (avg)SPY, next 3 months (avg)
Neutral days2,081+1.1%+3.4%
Bullish days192+3.7%+8.3%
All days2,273+1.3%+3.8%

Averages over every day in that state; the periods overlap, so treat them as a description, not a forecast.

Every decline of 10% or more

SPY declines of 10% or more
HighLowFallA month after the low
Jan 26, 2018Feb 8, 2018−10.1%Neutral
Sep 20, 2018Dec 24, 2018−19.3%Bullish
Feb 19, 2020Mar 23, 2020−33.7%Neutral
Jan 3, 2022Oct 12, 2022−24.5%Neutral
Feb 19, 2025Apr 8, 2025−18.8%Bullish

“Bearish by the high”: bearish at some point from a month before SPY’s high to a week after it.

Every signal (3), newest first
Every signal and what SPY did next
DateTurnedSPY 1 month later3 months6 monthsLowest close within 3 months
Apr 24, 2025Bullish+5.9%+16.9%+23.6%+0.7%
Nov 3, 2023Bullish+5.0%+14.1%+19.8%−0.2%
Jan 8, 2019Bullish+5.2%+12.4%+17.4%+0.2%

Variants tested

The same measures for other common settings, so the result can be checked for luck: a rule that only works with one exact number is fragile. The highlighted row is the published rule.

Every variant tested
VariantSPY or T-bills, a yearWorst fallDays bearishBearish signalsFollowed by a 5% fallBullish signalsSPY 3 months after
Classic: 0.40 to 0.615 in 10 days, 63 days (this site's rule)14.8%−33.7%0%0–3+14.5%
Bullish for 21 days14.8%−33.7%0%0–3+14.5%
Bullish for 126 days14.8%−33.7%0%0–3+14.5%
Looser: 0.42 to 0.6014.8%−33.7%0%0–7+9.0%
Within 15 days14.8%−33.7%0%0–7+10.8%
SPY held throughout14.8%−33.7%––33% (any day)–+3.8% (any day)

“SPY or T-bills”: SPY, switching to T-bills (BIL) at the next close after the rule turns bearish and back after it stops, 0.10% per switch, interest and dividends included. Hypothetical: no costs beyond that, no taxes.

Overlap with the other indicators

It agreed most often with 90% up and down days (82% of days in the same state). An indicator that almost always agrees with another adds little to the score.

Agreement with every indicator

Research: what worked and what did not

The same test run many ways: the published rule year by year, every variant year by year, and grids over its settings. Return numbers are SPY-or-T-bills against SPY over the same days, in points; green means better than holding SPY, red worse. This indicator is never bearish, so it never leaves SPY: it is judged on what SPY did after its bullish days.

Year by year

The rule year by year
YearSPYSPY or T-billsDifference, pointsSPY’s worst fallDays bearishDays bullishBearish signals
2017*6.3%6.3%+0.0 difference in 2017−1.0%0%0%0
2018−4.6%−4.6%+0.0 difference in 2018−19.3%0%0%0
201931.2%31.2%+0.0 difference in 2019−6.6%0%25%0
202018.4%18.4%+0.0 difference in 2020−33.7%0%0%0
202128.7%28.7%+0.0 difference in 2021−5.1%0%0%0
2022−18.2%−18.2%+0.0 difference in 2022−24.5%0%0%0
202326.2%26.2%+0.0 difference in 2023−10.0%0%16%0
202424.9%24.9%+0.0 difference in 2024−8.4%0%10%0
202517.7%17.7%+0.0 difference in 2025−18.8%0%26%0
2026*12.8%12.8%+0.0 difference in 2026−8.9%0%0%0

* Part of a year: Oct 2 to the end of 2017, and 2026 to Oct 16.

Every variant, year by year

Does a setting win steadily, or in one lucky year? Each square is that year’s difference from SPY.

Every variant: its difference from SPY each year, in points
Variant2017*201820192020202120222023202420252026*A year, whole period
Classic: 0.40 to 0.615 in 10 days, 63 days (this site's rule)+0.0 Classic: 0.40 to 0.615 in 10 days, 63 days (this site's rule), 2017, the site's rule+0.0 Classic: 0.40 to 0.615 in 10 days, 63 days (this site's rule), 2018, the site's rule+0.0 Classic: 0.40 to 0.615 in 10 days, 63 days (this site's rule), 2019, the site's rule+0.0 Classic: 0.40 to 0.615 in 10 days, 63 days (this site's rule), 2020, the site's rule+0.0 Classic: 0.40 to 0.615 in 10 days, 63 days (this site's rule), 2021, the site's rule+0.0 Classic: 0.40 to 0.615 in 10 days, 63 days (this site's rule), 2022, the site's rule+0.0 Classic: 0.40 to 0.615 in 10 days, 63 days (this site's rule), 2023, the site's rule+0.0 Classic: 0.40 to 0.615 in 10 days, 63 days (this site's rule), 2024, the site's rule+0.0 Classic: 0.40 to 0.615 in 10 days, 63 days (this site's rule), 2025, the site's rule+0.0 Classic: 0.40 to 0.615 in 10 days, 63 days (this site's rule), 2026, the site's rule+0.0 Classic: 0.40 to 0.615 in 10 days, 63 days (this site's rule), a year over the whole period, the site's rule
Bullish for 21 days+0.0 Bullish for 21 days, 2017+0.0 Bullish for 21 days, 2018+0.0 Bullish for 21 days, 2019+0.0 Bullish for 21 days, 2020+0.0 Bullish for 21 days, 2021+0.0 Bullish for 21 days, 2022+0.0 Bullish for 21 days, 2023+0.0 Bullish for 21 days, 2024+0.0 Bullish for 21 days, 2025+0.0 Bullish for 21 days, 2026+0.0 Bullish for 21 days, a year over the whole period
Bullish for 126 days+0.0 Bullish for 126 days, 2017+0.0 Bullish for 126 days, 2018+0.0 Bullish for 126 days, 2019+0.0 Bullish for 126 days, 2020+0.0 Bullish for 126 days, 2021+0.0 Bullish for 126 days, 2022+0.0 Bullish for 126 days, 2023+0.0 Bullish for 126 days, 2024+0.0 Bullish for 126 days, 2025+0.0 Bullish for 126 days, 2026+0.0 Bullish for 126 days, a year over the whole period
Looser: 0.42 to 0.60+0.0 Looser: 0.42 to 0.60, 2017+0.0 Looser: 0.42 to 0.60, 2018+0.0 Looser: 0.42 to 0.60, 2019+0.0 Looser: 0.42 to 0.60, 2020+0.0 Looser: 0.42 to 0.60, 2021+0.0 Looser: 0.42 to 0.60, 2022+0.0 Looser: 0.42 to 0.60, 2023+0.0 Looser: 0.42 to 0.60, 2024+0.0 Looser: 0.42 to 0.60, 2025+0.0 Looser: 0.42 to 0.60, 2026+0.0 Looser: 0.42 to 0.60, a year over the whole period
Within 15 days+0.0 Within 15 days, 2017+0.0 Within 15 days, 2018+0.0 Within 15 days, 2019+0.0 Within 15 days, 2020+0.0 Within 15 days, 2021+0.0 Within 15 days, 2022+0.0 Within 15 days, 2023+0.0 Within 15 days, 2024+0.0 Within 15 days, 2025+0.0 Within 15 days, 2026+0.0 Within 15 days, a year over the whole period
Colour: points of return that year against SPY.8 or more3 to 80.5 to 3−0.5 to 0.5−3 to −0.5−10 to −3below −10 the site’s rule

The settings, tested on a grid

Thrust thresholds and how long it stays bullish

Each square: SPY's average return over the next 63 trading days from the bullish days, minus its average from every day, in points (green: bullish days were followed by better than usual returns). Rows: the breadth average must rise from below the first number to above the second within the window.

Thrust thresholds and how long it stays bullish: points of SPY return over the next 63 days, bullish days against all days
Bullish for →
Thrust ↓21 days42 days63 days126 daysAverage
0.40 to 0.615 in 10 days (classic)+7.9 Thrust 0.40 to 0.615 in 10 days (classic), bullish for 21 days+6.0 Thrust 0.40 to 0.615 in 10 days (classic), bullish for 42 days+4.5 Thrust 0.40 to 0.615 in 10 days (classic), bullish for 63 days, the site's rule+2.6 Thrust 0.40 to 0.615 in 10 days (classic), bullish for 126 days+5.3
0.40 to 0.60 in 10 days+8.0 Thrust 0.40 to 0.60 in 10 days, bullish for 21 days+6.0 Thrust 0.40 to 0.60 in 10 days, bullish for 42 days+4.6 Thrust 0.40 to 0.60 in 10 days, bullish for 63 days+2.7 Thrust 0.40 to 0.60 in 10 days, bullish for 126 days+5.3
0.42 to 0.60 in 10 days+4.0 Thrust 0.42 to 0.60 in 10 days, bullish for 21 days+3.6 Thrust 0.42 to 0.60 in 10 days, bullish for 42 days+3.0 Thrust 0.42 to 0.60 in 10 days, bullish for 63 days+2.4 Thrust 0.42 to 0.60 in 10 days, bullish for 126 days+3.3
0.45 to 0.60 in 10 days+1.6 Thrust 0.45 to 0.60 in 10 days, bullish for 21 days+1.2 Thrust 0.45 to 0.60 in 10 days, bullish for 42 days+1.2 Thrust 0.45 to 0.60 in 10 days, bullish for 63 days+1.4 Thrust 0.45 to 0.60 in 10 days, bullish for 126 days+1.4
0.40 to 0.615 in 15 days+6.4 Thrust 0.40 to 0.615 in 15 days, bullish for 21 days+4.8 Thrust 0.40 to 0.615 in 15 days, bullish for 42 days+3.3 Thrust 0.40 to 0.615 in 15 days, bullish for 63 days+2.2 Thrust 0.40 to 0.615 in 15 days, bullish for 126 days+4.2
0.42 to 0.60 in 15 days+3.4 Thrust 0.42 to 0.60 in 15 days, bullish for 21 days+2.8 Thrust 0.42 to 0.60 in 15 days, bullish for 42 days+2.3 Thrust 0.42 to 0.60 in 15 days, bullish for 63 days+1.1 Thrust 0.42 to 0.60 in 15 days, bullish for 126 days+2.4
Average+5.2+4.1+3.2+2.1
Colour: points of SPY return over the next 63 days, bullish days against all days.3 or more1.5 to 30.5 to 1.5−0.5 to 0.5−1.5 to −0.5−3 to −1.5below −3 the site’s rule

The two halves of the history

The best settings found over the whole period, and how each did in 2017–2021 and in 2022–2026 on its own. A setting that only works in one half is fitted to the past.

The best settings, and how each did in each half
SettingWhole period2017–20212022–2026Worst fall smaller byAhead in both halves
The site's rule, but to above 0.6, bullish for 21 days+8.0 whole period+6.8 2017 to 2021+8.7 2022 to 2026+0.0 worst fallYes
The site's rule, but bullish for 21 days+7.9 whole period+6.4 2017 to 2021+8.7 2022 to 2026+0.0 worst fallYes
The site's rule, but within 15 days, bullish for 21 days+6.4 whole period+8.4 2017 to 2021+4.9 2022 to 2026+0.0 worst fallYes
The site's rule, but to above 0.6, bullish for 42 days+6.0 whole period+2.9 2017 to 2021+7.7 2022 to 2026+0.0 worst fallYes
The site's rule, but bullish for 42 days+6.0 whole period+2.6 2017 to 2021+7.7 2022 to 2026+0.0 worst fallYes
The site's rule, but within 15 days, bullish for 42 days+4.8 whole period+6.3 2017 to 2021+3.6 2022 to 2026+0.0 worst fallYes
The site’s rule+4.5 whole period, the site's rule+1.8 2017 to 2021, the site's rule+6.0 2022 to 2026, the site's rule+0.0 worst fall, the site's ruleYes
Colour: points of SPY return over the next 63 days, bullish days against all days.3 or more1.5 to 30.5 to 1.5−0.5 to 0.5−1.5 to −0.5−3 to −1.5below −3 the site’s rule

Summary: the settings that helped the most

The site keeps the rule it published, so its live record stays honest. The heat maps show which ingredients mattered across many settings; any one best square is partly luck, because the history holds only a handful of real declines.

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.

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
See the strategies on Bull Rhythm →