thetrading.tools
Named signallive data through 2026-08-21

Zweig Breadth Thrust

Direct definition

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.

In plain English

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.

Site observation · Zweig Breadth Thrust
Not armed — 10-day EMA 0.499

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
Measurement: 10-day EMA of Advances / (Advances + Declines), below 0.400 then above 0.615 within 10 sessions, on our disclosed common-stock universe. Raw JSON →
6
Completed events in our 2010+ record
6 of 6
SPY higher 12 months later
+14.9%
Average 12-month SPY return
5 of 6
Windows with a 90% up-volume day
2010-06-15
6 sessions
SPY +3m
+0.6%
SPY +6m
+11.2%
SPY +12m
+15.5%
2011-10-14
9 sessions
SPY +3m
+5.5%
SPY +6m
+13.5%
SPY +12m
+17.5%
2013-10-18
8 sessions
SPY +3m
+5.6%
SPY +6m
+7.7%
SPY +12m
+9.1%
2014-02-18
10 sessions
SPY +3m
+2.4%
SPY +6m
+7.1%
SPY +12m
+14.1%
2015-10-08
7 sessions
SPY +3m
-4.6%
SPY +6m
+1.4%
SPY +12m
+6.9%
2019-01-08
8 sessions
SPY +3m
+11.9%
SPY +6m
+16.3%
SPY +12m
+26.4%
Every completed event on our disclosed common-stock universe. This is the entire sample; nothing was cherry-picked. Forward returns are descriptive and do not include an investable entry/exit specification.
SETUP ARMS BELOWCOMPLETION ABOVE0.40.50.6152010201220142016201820202022202420262010201120132014201520190.499
The 10-day advance-ratio EMA through 2026-08-21. Every threshold touch, crossing and completed event is retained; uneventful stretches are sampled. A low-band reading must precede the high-band crossing within 10 sessions.

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

Daily advance ratio
R(t) = Advances / (Advances + Declines)

Our implementation counts common stocks in the disclosed universe; unchanged securities are excluded from this denominator.

Smoothed breadth
Z(t) = EMA10(R(t))

The 10-session exponential moving average dampens one-day noise while retaining the speed of the reversal.

Completion rule
Z < 0.400, then Z > 0.615 within ≤ 10 sessions

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.

  1. 10.392 is below 0.400, so the setup arms on that session.
  2. 20.620 is above 0.615, so the completion threshold is crossed.
  3. 3Eight sessions elapsed, which is within the maximum of 10.
A Zweig Breadth Thrust completes on the 0.620 close.

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

  1. 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.

  2. 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.

  3. 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.

  4. 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.

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

Machine-readable object

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.