Zweig Breadth Thrust
The Zweig Breadth Thrust is a named breadth signal: the 10-day exponential moving average of advancing issues divided by advancing plus declining issues must rise from below 0.400 to above 0.615 within 10 trading sessions. The washout, surge and time limit are all required.
Each trading day, some stocks close higher and some close lower. Take the share that closed higher, smooth it over about two weeks so single wild days don't dominate, and you get one number describing how broad the buying is.
The investor Martin Zweig noticed something about that number: markets rarely go from deeply washed out to overwhelmingly strong in a matter of days — and when they do, it has tended to mark the start of major rallies rather than a blip. So he wrote the observation down as an exact recipe: the smoothed share must climb from below 0.40 (most stocks falling) to above 0.615 (most stocks rising) in ten trading days or less.
Because every part of the recipe is required — the washout, the surge, and the deadline — completed signals are rare, which is exactly what makes people watch for them. This page holds the precise rule; our gauge page tracks it live.
- Category
- Market breadth
- Entity type
- Named signal
- Also called
- ZBT
- Last reviewed
- 2026-08-11
Current observation
This dated measurement is an instance of the concept, not the concept itself. It updates when the verified source dataset changes; the as-of date below is the freshness contract.
The named rule cannot complete until its EMA first falls below 0.400. The last completed event on our disclosed universe was 2019-01-08.
- 10-day EMA
- 0.499
- State
- Neutral
- Completed events
- 6
- Last event
- 2019-01-08
| Completed | Elapsed | SPY +3m | SPY +6m | SPY +12m |
|---|---|---|---|---|
| 2010-06-15 | 6 sessions | +0.6% | +11.2% | +15.5% |
| 2011-10-14 | 9 sessions | +5.5% | +13.5% | +17.5% |
| 2013-10-18 | 8 sessions | +5.6% | +7.7% | +9.1% |
| 2014-02-18 | 10 sessions | +2.4% | +7.1% | +14.1% |
| 2015-10-08 | 7 sessions | -4.6% | +1.4% | +6.9% |
| 2019-01-08 | 8 sessions | +11.9% | +16.3% | +26.4% |
- SPY +3m
- +0.6%
- SPY +6m
- +11.2%
- SPY +12m
- +15.5%
- SPY +3m
- +5.5%
- SPY +6m
- +13.5%
- SPY +12m
- +17.5%
- SPY +3m
- +5.6%
- SPY +6m
- +7.7%
- SPY +12m
- +9.1%
- SPY +3m
- +2.4%
- SPY +6m
- +7.1%
- SPY +12m
- +14.1%
- SPY +3m
- -4.6%
- SPY +6m
- +1.4%
- SPY +12m
- +6.9%
- SPY +3m
- +11.9%
- SPY +6m
- +16.3%
- SPY +12m
- +26.4%
Why it matters
The rule demands both a washed-out starting point and an unusually fast participation reversal. That makes completed events rare and distinguishes them from ordinary high-breadth rallies.
A daily state machine is necessary: a reading above 0.615 does not qualify unless a sub-0.400 reading occurred within the permitted window. Looking only at the current EMA loses the path dependency.
Historical reputation should be evaluated on the exact computed universe and the complete event list. Our page publishes every event and every available forward SPY return rather than repeating an undated perfect-record claim.
Calculation and identification
Our implementation counts common stocks in the disclosed universe; unchanged securities are excluded from this denominator.
The 10-session exponential moving average dampens one-day noise while retaining the speed of the reversal.
The signal arms at the lower threshold and expires if the upper threshold is not crossed in time. A slow recovery is not a completed ZBT.
Worked example
A completed 8-session thrust
Suppose the 10-day EMA closes at 0.392, then reaches 0.620 eight trading sessions later.
- 10.392 is below 0.400, so the setup arms on that session.
- 20.620 is above 0.615, so the completion threshold is crossed.
- 3Eight sessions elapsed, which is within the maximum of 10.
If the same upper crossing arrived on session 11, or the low had been 0.402, this exact rule would record no event even though participation improved sharply.
Where it can mislead
- 01
Universe choice changes daily advances and declines. Zweig's historical work used NYSE issues; our common-stock universe is broader, so our dates are an implementation record rather than a claim to be the universal canonical list.
- 02
Threshold inclusivity and session counting must be explicit. We require below 0.400 and above 0.615, then count trading sessions in the published state machine.
- 03
The signal is rare, so forward-return averages and win rates have high uncertainty. The event table is more informative than a percentage stripped of its denominator.
- 04
No active or armed signal is neutral under this rule. It does not mean participation is deteriorating, and a long drought does not invalidate rallies that developed more gradually.
Relationships
Concept-to-concept edges are typed and reciprocal. Tools, manuals, signals and datasets are separate resource nodes that measure, explain or operationalize the concept.
The parent signal family includes other issue-count and volume-based definitions beyond this named rule.
The operational daily gauge: current EMA, armed state, chart and event catalog.
The complete machine-readable series and every event used on this page.
Compares the signal with other breadth layers and explains where indicators disagree.
Uses the same advance/decline family but measures short-term breadth momentum with different smoothing and no ZBT state machine.
Frequently asked questions
Is a Zweig Breadth Thrust in progress right now?
Our Zweig implementation is not armed as of 2026-08-21, with its 10-day advance-ratio EMA at 0.499. It must first fall below 0.400 before a new completion window can begin. This answers only the named Zweig rule, not every breadth-thrust variant.
How often did a 90% up-volume day overlap the completed Zweig windows?
5 of 6 completed Zweig windows in our published record contained at least one 90% up-volume day. The overlap is computed across two datasets: ZBT uses advancing issue counts, while the 90% signal uses volume, so one is not an input or prerequisite for the other.
What exactly completes a Zweig Breadth Thrust?
The 10-day EMA of Advances divided by Advances plus Declines must first be below 0.400 and then close above 0.615 within 10 trading sessions. All parts of the path-dependent rule are required.
Why can different ZBT lists disagree?
They may use different exchanges or stock universes, data-cleaning rules, threshold inclusivity, EMA initialization or session counting. A list is reproducible only when those choices are disclosed.
Is a 90% up-volume day required for a ZBT?
No. ZBT uses advancing and declining issue counts over multiple sessions; a 90% up day uses volume in one session. They can overlap because both describe broad demand, but neither is a required input to the other.
Sources, provenance and machine access
- Winning on Wall StreetMartin Zweig / Warner Booksprimary
Original published source for the named rule.
- What Is a Breadth Thrust and What Are the Risks? →CMT Association
Professional technical-analysis reference and terminology context.
Daily inputs, state, completed events and forward SPY returns used by this implementation.
Stable ID: https://www.thetrading.tools/concepts/zweig-breadth-thrust#term. Dated observations have their own IDs and point back to this term; they never overwrite its definition.