Skip to main content
All manual pages

Market Breadth

Market Breadth reads the advance-decline split, the up/down volume split, and the 52-week new highs and new lows across a ~100-name large-cap universe — a session-level pulse for whether the tape is broadly green or carried by a few names.

Market Breadth answers one question: is the rally real, or is one mega-cap dragging the index? It batches quotes across a ~100-ticker large-cap universe (the same set the Heatmap uses), counts advancers vs. decliners, sums up-volume vs. down-volume, flags names at new 52-week extremes, and renders a single bullish/neutral/bearish read at the top.

Market breadth — advancers vs decliners, new highs/lows, and the breadth sentiment read
Market breadth — advancers vs decliners, new highs/lows, and the breadth sentiment read

What it is

A server-aggregated breadth panel. It batch-quotes the same ~100-name large-cap universe the Heatmap uses, counts advancers (change > 0), decliners (change < 0), and unchanged (change == 0), accumulates volume into up/down buckets, and flags any name trading within 0.25% of its 52-week high or low. The whole rollup is cached so the panel renders instantly during a session.

The breadth percentage is (advancers + unchanged × 0.5) / total × 100. The sentiment chip in the header maps that: ≥ 65 → BULLISH (green), 45–64 → NEUTRAL (yellow), < 45 → BEARISH (red). The A/D ratio is advancers / decliners (or advancers if no decliners), rounded to two decimals.

When to use it

At the open to read the tone of the session — a 70% breadth print with QQQ flat means small-caps are leading, even if the headline index doesn't show it. Mid-session to confirm or fade an index move — SPY +0.4% with breadth at 38% is a five-mega-cap rally and historically reverses. At the close to log a regime snapshot for the journal — bullish-breadth-on-down-day or bearish-breadth-on-up-day are both flags worth a note.

Open it

  • Path: /breadth
  • Shortcut: none — accessible from the §MARKETS group in the sidebar
  • Tier-gate: Free — the entire panel is unlocked

How to use it

  1. Open /breadth. The panel batch-quotes the universe and renders within a couple of seconds. The sentiment chip in the header is the one-glance read.
  2. Read the A/D bar — green segment is advancers, red is decliners. Width proportional to the count. The numbers on each side and the percent split sit below the bar.
  3. Scan the stat grid: A/D RATIO, BREADTH %, ADVANCERS, DECLINERS, UNCHANGED, CHECKED. The CHECKED count tells you how many names in the universe returned quotes — if it's well under 100, some quotes failed to load.
  4. Read the volume split — the up/down volume bar shows whether buying volume is concentrated or distributed. A 75% up-volume reading on a 60% advancer count means buyers are pressing the green names hard; a 55% up-volume reading on a 70% advancer count means the green names are drifting up on light tape.
  5. The panel does not auto-refresh — refresh the browser tab when you want a fresh read. The cache window is short enough that you'll get session-fresh numbers any time you reload.

Fields

StatWhat it is
ADVANCERSCount of universe symbols with positive netChange for the session
DECLINERSCount with negative netChange
UNCHANGEDCount at exactly zero change
A/D RATIOadvancers / decliners, two decimals. > 1.00 means more up than down
BREADTH %(advancers + unchanged × 0.5) / total × 100 — the headline read
CHECKEDTotal symbols that returned a usable quote — a quick health check on the read
UP_VOLCumulative session volume on names with positive change
DOWN_VOLCumulative session volume on names with negative change
NEW_HIGHS (server field)Count trading within 0.25% of their stored 52-week high
NEW_LOWS (server field)Count trading within 0.25% of their stored 52-week low
Sentiment chipBULLISH ≥ 65%, NEUTRAL 45–64%, BEARISH < 45%

The server response also includes above_50dma and above_200dma fields, but the current implementation returns 0 for both — those metrics are reserved for a future expansion and the UI does not surface them today.

Limits

  • Universe: ~100 large-cap US equities, the same set the Heatmap uses. Does not survey the full Russell 3000 — this is a directional read, not an NYSE-wide A/D line
  • New-high/new-low flags depend on the 52-week high and low values being current; some names lag by a session
  • McClellan Oscillator, NYSE NH-NL, % above 50DMA, % above 200DMA, and equal-weight vs. cap-weight comparisons are not currently surfaced in the UI — the values are placeholders reserved for a future expansion
  • Refresh cadence: manual. The cache window is short, so a hard refresh gets you a fresh-ish read within seconds
  • Volume tallies are session cumulative — useful for a directional skew, not a precise dollar volume figure
  • The 0.25% proximity band for new-high/new-low is intentional — strict equality would miss most session prints; widening it would dilute the signal
  • When the market-data feed is wholly unavailable, the UI surfaces a dedicated DATA_UNAVAILABLE state

Troubleshooting

CHECKED shows ~60 instead of ~100. Some quotes failed to return — usually a partial timeout. The breadth math is still valid for the names that came back, but the sentiment chip may swing harder than usual. Refresh in 30 seconds for a fuller read.

Sentiment chip says BEARISH but the indices are green. Mega-cap concentration. Five names (the usual suspects) carry SPY/QQQ on plenty of sessions where the broader tape is red. That divergence is the point of a breadth panel — trust it.

§ERR / BREADTH · feed unavailable. The market-data feed failed for the whole batch. Wait a moment and refresh — a clean feed outage shows the dedicated DATA_UNAVAILABLE state instead.

Volume bar shows 50/50 even though the count is skewed 70/30. The thin-volume side has fewer names but higher cumulative volume — one mega-cap printing 20M shares on the down side flattens the bar fast. The split is correct; it's telling you positioning is heavy where the count is light.

New-highs and new-lows numbers don't show in the UI even though they're computed. The current panel only surfaces the A/D bar, the six stat cards, and the volume breakdown. The new-high/new-low counts are reserved for a future expansion of the panel — until then, use the Scanner 52w-highs / 52w-lows presets for the full list.

The page loads instantly on every visit. Caching. The breadth aggregation is expensive enough that we cache it hard — refresh the browser tab for a fresh read, and you'll still get sub-second responses until the cache window expires.