thetrading.tools
Swing · 1 week – 3 monthsAll inputs daily · through 2026-08-28 · updated after every close

Swing Tracker: Do Internals Support a Multi-Week Hold?

Constructive — the Swing Score reads 73/100 from 10 daily internals across five dimensions. This measures condition, not control or valuation: every check is classified calm / neutral / watch / risk on a documented threshold, dimensions weigh equally, and the identical scoring function replays the 2011+ history — so the live gauge and the band base rates below cannot drift. Methodology revised 2026-07-18 (v2): duplicate votes retired (the 200-day family moved to the Cycle clock; BPI, the binary A-D flag and the weekly STLFSI dropped), the Hindenburg Omen demoted to an unscored alert, and two new checks added — Momentum Churn and the VXN−VIX spread. v3 (2026-07-19) replaced the fast McClellan Oscillator with a 21-session change in % above 50-day breadth velocity, a true swing-horizon momentum read. History and base rates below are computed under v3, extended to 2011.

What drives today's read

Strongest dimension

Trend at 100/100.

Weakest dimension

Momentum at 48/100 — the swing factor.

Checks on watch

2 of 10 checks at watch or risk — named below.

Event alerts — shown, never scored

Event studies live on their own pages; they flag here without voting — the Omen because its recipe already combines checks the score counts directly, the 90% days pending a validated sample.

Sources, methodology & freshnessLast updated 2026-08-28 · Open ↓
Source
Eligible common-stock breadth (roughly 4,750 in a typical session), plus CBOE VIX/VIX3M/VXN and HYG/LQD credit data
Methodology
Five equal-weight dimensions of daily internals (v2, 2026-07-18 — duplicate votes retired after a cross-tracker audit; Momentum Churn and the VXN−VIX spread added; Omen demoted to an unscored alert; v3, 2026-07-19 — McClellan Oscillator replaced by 21-session % above 50-day breadth velocity); each check classified calm/neutral/watch/risk on a documented threshold and mapped 100/65/30/0; checks equal-weight within their dimension. Fixed band edges 75/55/35. The identical scoring function replays one value-map per day since 2011, so the live gauge always equals the latest history point and the band base rates cannot drift.
Updates
Daily after the US closeLast: 2026-08-28
Maintained & reviewed by Yuriy Matso — methodology shown on the page.
Swing score2026-08-28 · close
Constructive

constructive for 5 sessions · trend 100 · participation 65 · momentum 48 · leadership & divergence 50 · volatility 100

risk-offfragileconstructivehealthy355575
01

The score through time — every session since 2011

The same scoring function replayed over one value-map per past day, with checks lacking clean daily history excluded so the live basket and the backtested basket always match. SPY rides the top pane for context; the line wears the band colors — deep green healthy, medium green constructive, amber fragile, red risk-off. The dips below 35 are the study's Risk-Off sample — the 2015–16 rolling correction, late 2018 and the 2020 crash chief among them.

Window:
SPY (top pane, log) healthy (75+) constructive 55–75 fragile 35–55 risk-off (<35)

Swing Score, daily since 2011 (3,937 sessions), replayed by the identical scoring function — the latest history point always equals the live gauge. Band edges are fixed at 75/55/35. Endpoint: 73/100 (Constructive).

02

Which dimension turned first — the last 60 sessions

The composite hides sequence: momentum and leadership usually crack before trend does, and volatility & credit often confirm last. Each row is one dimension's daily score on the same band scale as the gauge above — read left to right to see who is leading the current state.

TrendTrend · 2026-06-04 — 100/100Trend · 2026-06-05 — 100/100Trend · 2026-06-08 — 100/100Trend · 2026-06-09 — 100/100Trend · 2026-06-10 — 100/100Trend · 2026-06-11 — 100/100Trend · 2026-06-12 — 100/100Trend · 2026-06-15 — 100/100Trend · 2026-06-16 — 100/100Trend · 2026-06-17 — 100/100Trend · 2026-06-18 — 100/100Trend · 2026-06-22 — 100/100Trend · 2026-06-23 — 100/100Trend · 2026-06-24 — 100/100Trend · 2026-06-25 — 100/100Trend · 2026-06-26 — 65/100Trend · 2026-06-29 — 100/100Trend · 2026-06-30 — 100/100Trend · 2026-07-01 — 100/100Trend · 2026-07-02 — 100/100Trend · 2026-07-06 — 100/100Trend · 2026-07-07 — 100/100Trend · 2026-07-08 — 100/100Trend · 2026-07-09 — 100/100Trend · 2026-07-10 — 100/100Trend · 2026-07-13 — 100/100Trend · 2026-07-14 — 100/100Trend · 2026-07-15 — 100/100Trend · 2026-07-16 — 100/100Trend · 2026-07-17 — 65/100Trend · 2026-07-20 — 65/100Trend · 2026-07-21 — 100/100Trend · 2026-07-22 — 100/100Trend · 2026-07-23 — 65/100Trend · 2026-07-24 — 65/100Trend · 2026-07-27 — 65/100Trend · 2026-07-28 — 65/100Trend · 2026-07-29 — 30/100Trend · 2026-07-30 — 65/100Trend · 2026-07-31 — 100/100Trend · 2026-08-03 — 100/100Trend · 2026-08-04 — 100/100Trend · 2026-08-05 — 100/100Trend · 2026-08-06 — 100/100Trend · 2026-08-07 — 100/100Trend · 2026-08-10 — 100/100Trend · 2026-08-11 — 100/100Trend · 2026-08-12 — 100/100Trend · 2026-08-13 — 100/100Trend · 2026-08-14 — 100/100Trend · 2026-08-17 — 100/100Trend · 2026-08-18 — 100/100Trend · 2026-08-19 — 100/100Trend · 2026-08-20 — 100/100Trend · 2026-08-21 — 100/100Trend · 2026-08-24 — 100/100Trend · 2026-08-25 — 100/100Trend · 2026-08-26 — 100/100Trend · 2026-08-27 — 100/100Trend · 2026-08-28 — 100/100ParticipationParticipation · 2026-06-04 — 83/100Participation · 2026-06-05 — 65/100Participation · 2026-06-08 — 65/100Participation · 2026-06-09 — 83/100Participation · 2026-06-10 — 83/100Participation · 2026-06-11 — 83/100Participation · 2026-06-12 — 83/100Participation · 2026-06-15 — 83/100Participation · 2026-06-16 — 83/100Participation · 2026-06-17 — 65/100Participation · 2026-06-18 — 65/100Participation · 2026-06-22 — 65/100Participation · 2026-06-23 — 65/100Participation · 2026-06-24 — 83/100Participation · 2026-06-25 — 83/100Participation · 2026-06-26 — 83/100Participation · 2026-06-29 — 100/100Participation · 2026-06-30 — 100/100Participation · 2026-07-01 — 100/100Participation · 2026-07-02 — 100/100Participation · 2026-07-06 — 100/100Participation · 2026-07-07 — 100/100Participation · 2026-07-08 — 65/100Participation · 2026-07-09 — 100/100Participation · 2026-07-10 — 100/100Participation · 2026-07-13 — 65/100Participation · 2026-07-14 — 83/100Participation · 2026-07-15 — 100/100Participation · 2026-07-16 — 100/100Participation · 2026-07-17 — 83/100Participation · 2026-07-20 — 65/100Participation · 2026-07-21 — 65/100Participation · 2026-07-22 — 65/100Participation · 2026-07-23 — 48/100Participation · 2026-07-24 — 65/100Participation · 2026-07-27 — 83/100Participation · 2026-07-28 — 83/100Participation · 2026-07-29 — 65/100Participation · 2026-07-30 — 65/100Participation · 2026-07-31 — 65/100Participation · 2026-08-03 — 83/100Participation · 2026-08-04 — 100/100Participation · 2026-08-05 — 100/100Participation · 2026-08-06 — 83/100Participation · 2026-08-07 — 100/100Participation · 2026-08-10 — 100/100Participation · 2026-08-11 — 100/100Participation · 2026-08-12 — 100/100Participation · 2026-08-13 — 100/100Participation · 2026-08-14 — 100/100Participation · 2026-08-17 — 83/100Participation · 2026-08-18 — 65/100Participation · 2026-08-19 — 83/100Participation · 2026-08-20 — 65/100Participation · 2026-08-21 — 83/100Participation · 2026-08-24 — 65/100Participation · 2026-08-25 — 65/100Participation · 2026-08-26 — 65/100Participation · 2026-08-27 — 65/100Participation · 2026-08-28 — 65/100MomentumMomentum · 2026-06-04 — 30/100Momentum · 2026-06-05 — 15/100Momentum · 2026-06-08 — 15/100Momentum · 2026-06-09 — 33/100Momentum · 2026-06-10 — 33/100Momentum · 2026-06-11 — 48/100Momentum · 2026-06-12 — 48/100Momentum · 2026-06-15 — 65/100Momentum · 2026-06-16 — 65/100Momentum · 2026-06-17 — 48/100Momentum · 2026-06-18 — 48/100Momentum · 2026-06-22 — 48/100Momentum · 2026-06-23 — 48/100Momentum · 2026-06-24 — 48/100Momentum · 2026-06-25 — 48/100Momentum · 2026-06-26 — 48/100Momentum · 2026-06-29 — 48/100Momentum · 2026-06-30 — 48/100Momentum · 2026-07-01 — 48/100Momentum · 2026-07-02 — 65/100Momentum · 2026-07-06 — 83/100Momentum · 2026-07-07 — 65/100Momentum · 2026-07-08 — 65/100Momentum · 2026-07-09 — 65/100Momentum · 2026-07-10 — 65/100Momentum · 2026-07-13 — 65/100Momentum · 2026-07-14 — 48/100Momentum · 2026-07-15 — 48/100Momentum · 2026-07-16 — 48/100Momentum · 2026-07-17 — 48/100Momentum · 2026-07-20 — 48/100Momentum · 2026-07-21 — 48/100Momentum · 2026-07-22 — 48/100Momentum · 2026-07-23 — 48/100Momentum · 2026-07-24 — 48/100Momentum · 2026-07-27 — 48/100Momentum · 2026-07-28 — 48/100Momentum · 2026-07-29 — 30/100Momentum · 2026-07-30 — 48/100Momentum · 2026-07-31 — 30/100Momentum · 2026-08-03 — 48/100Momentum · 2026-08-04 — 48/100Momentum · 2026-08-05 — 48/100Momentum · 2026-08-06 — 48/100Momentum · 2026-08-07 — 48/100Momentum · 2026-08-10 — 48/100Momentum · 2026-08-11 — 48/100Momentum · 2026-08-12 — 48/100Momentum · 2026-08-13 — 48/100Momentum · 2026-08-14 — 48/100Momentum · 2026-08-17 — 48/100Momentum · 2026-08-18 — 48/100Momentum · 2026-08-19 — 48/100Momentum · 2026-08-20 — 48/100Momentum · 2026-08-21 — 65/100Momentum · 2026-08-24 — 48/100Momentum · 2026-08-25 — 48/100Momentum · 2026-08-26 — 48/100Momentum · 2026-08-27 — 48/100Momentum · 2026-08-28 — 48/100Leadership & DivergenceLeadership & Divergence · 2026-06-04 — 65/100Leadership & Divergence · 2026-06-05 — 65/100Leadership & Divergence · 2026-06-08 — 83/100Leadership & Divergence · 2026-06-09 — 83/100Leadership & Divergence · 2026-06-10 — 83/100Leadership & Divergence · 2026-06-11 — 83/100Leadership & Divergence · 2026-06-12 — 83/100Leadership & Divergence · 2026-06-15 — 83/100Leadership & Divergence · 2026-06-16 — 83/100Leadership & Divergence · 2026-06-17 — 83/100Leadership & Divergence · 2026-06-18 — 83/100Leadership & Divergence · 2026-06-22 — 83/100Leadership & Divergence · 2026-06-23 — 83/100Leadership & Divergence · 2026-06-24 — 83/100Leadership & Divergence · 2026-06-25 — 83/100Leadership & Divergence · 2026-06-26 — 65/100Leadership & Divergence · 2026-06-29 — 83/100Leadership & Divergence · 2026-06-30 — 83/100Leadership & Divergence · 2026-07-01 — 65/100Leadership & Divergence · 2026-07-02 — 65/100Leadership & Divergence · 2026-07-06 — 65/100Leadership & Divergence · 2026-07-07 — 65/100Leadership & Divergence · 2026-07-08 — 50/100Leadership & Divergence · 2026-07-09 — 50/100Leadership & Divergence · 2026-07-10 — 50/100Leadership & Divergence · 2026-07-13 — 50/100Leadership & Divergence · 2026-07-14 — 50/100Leadership & Divergence · 2026-07-15 — 33/100Leadership & Divergence · 2026-07-16 — 50/100Leadership & Divergence · 2026-07-17 — 50/100Leadership & Divergence · 2026-07-20 — 50/100Leadership & Divergence · 2026-07-21 — 50/100Leadership & Divergence · 2026-07-22 — 50/100Leadership & Divergence · 2026-07-23 — 50/100Leadership & Divergence · 2026-07-24 — 50/100Leadership & Divergence · 2026-07-27 — 50/100Leadership & Divergence · 2026-07-28 — 50/100Leadership & Divergence · 2026-07-29 — 50/100Leadership & Divergence · 2026-07-30 — 50/100Leadership & Divergence · 2026-07-31 — 50/100Leadership & Divergence · 2026-08-03 — 65/100Leadership & Divergence · 2026-08-04 — 65/100Leadership & Divergence · 2026-08-05 — 65/100Leadership & Divergence · 2026-08-06 — 48/100Leadership & Divergence · 2026-08-07 — 48/100Leadership & Divergence · 2026-08-10 — 65/100Leadership & Divergence · 2026-08-11 — 65/100Leadership & Divergence · 2026-08-12 — 65/100Leadership & Divergence · 2026-08-13 — 65/100Leadership & Divergence · 2026-08-14 — 65/100Leadership & Divergence · 2026-08-17 — 48/100Leadership & Divergence · 2026-08-18 — 65/100Leadership & Divergence · 2026-08-19 — 65/100Leadership & Divergence · 2026-08-20 — 65/100Leadership & Divergence · 2026-08-21 — 65/100Leadership & Divergence · 2026-08-24 — 50/100Leadership & Divergence · 2026-08-25 — 50/100Leadership & Divergence · 2026-08-26 — 50/100Leadership & Divergence · 2026-08-27 — 50/100Leadership & Divergence · 2026-08-28 — 50/100Volatility & CreditVolatility & Credit · 2026-06-04 — 77/100Volatility & Credit · 2026-06-05 — 53/100Volatility & Credit · 2026-06-08 — 77/100Volatility & Credit · 2026-06-09 — 67/100Volatility & Credit · 2026-06-10 — 43/100Volatility & Credit · 2026-06-11 — 67/100Volatility & Credit · 2026-06-12 — 67/100Volatility & Credit · 2026-06-15 — 67/100Volatility & Credit · 2026-06-16 — 67/100Volatility & Credit · 2026-06-17 — 67/100Volatility & Credit · 2026-06-18 — 67/100Volatility & Credit · 2026-06-22 — 67/100Volatility & Credit · 2026-06-23 — 67/100Volatility & Credit · 2026-06-24 — 67/100Volatility & Credit · 2026-06-25 — 67/100Volatility & Credit · 2026-06-26 — 67/100Volatility & Credit · 2026-06-29 — 67/100Volatility & Credit · 2026-06-30 — 67/100Volatility & Credit · 2026-07-01 — 67/100Volatility & Credit · 2026-07-02 — 67/100Volatility & Credit · 2026-07-06 — 67/100Volatility & Credit · 2026-07-07 — 67/100Volatility & Credit · 2026-07-08 — 67/100Volatility & Credit · 2026-07-09 — 67/100Volatility & Credit · 2026-07-10 — 67/100Volatility & Credit · 2026-07-13 — 67/100Volatility & Credit · 2026-07-14 — 67/100Volatility & Credit · 2026-07-15 — 67/100Volatility & Credit · 2026-07-16 — 67/100Volatility & Credit · 2026-07-17 — 67/100Volatility & Credit · 2026-07-20 — 67/100Volatility & Credit · 2026-07-21 — 67/100Volatility & Credit · 2026-07-22 — 67/100Volatility & Credit · 2026-07-23 — 67/100Volatility & Credit · 2026-07-24 — 67/100Volatility & Credit · 2026-07-27 — 67/100Volatility & Credit · 2026-07-28 — 67/100Volatility & Credit · 2026-07-29 — 43/100Volatility & Credit · 2026-07-30 — 67/100Volatility & Credit · 2026-07-31 — 67/100Volatility & Credit · 2026-08-03 — 77/100Volatility & Credit · 2026-08-04 — 77/100Volatility & Credit · 2026-08-05 — 77/100Volatility & Credit · 2026-08-06 — 77/100Volatility & Credit · 2026-08-07 — 77/100Volatility & Credit · 2026-08-10 — 77/100Volatility & Credit · 2026-08-11 — 77/100Volatility & Credit · 2026-08-12 — 77/100Volatility & Credit · 2026-08-13 — 77/100Volatility & Credit · 2026-08-14 — 77/100Volatility & Credit · 2026-08-17 — 77/100Volatility & Credit · 2026-08-18 — 77/100Volatility & Credit · 2026-08-19 — 77/100Volatility & Credit · 2026-08-20 — 77/100Volatility & Credit · 2026-08-21 — 77/100Volatility & Credit · 2026-08-24 — 77/100Volatility & Credit · 2026-08-25 — 77/100Volatility & Credit · 2026-08-26 — 77/100Volatility & Credit · 2026-08-27 — 100/100Volatility & Credit · 2026-08-28 — 100/100Swing ScoreSwing Score · 2026-06-04 — 71/100Swing Score · 2026-06-05 — 60/100Swing Score · 2026-06-08 — 68/100Swing Score · 2026-06-09 — 73/100Swing Score · 2026-06-10 — 68/100Swing Score · 2026-06-11 — 76/100Swing Score · 2026-06-12 — 76/100Swing Score · 2026-06-15 — 80/100Swing Score · 2026-06-16 — 80/100Swing Score · 2026-06-17 — 73/100Swing Score · 2026-06-18 — 73/100Swing Score · 2026-06-22 — 73/100Swing Score · 2026-06-23 — 73/100Swing Score · 2026-06-24 — 76/100Swing Score · 2026-06-25 — 76/100Swing Score · 2026-06-26 — 66/100Swing Score · 2026-06-29 — 80/100Swing Score · 2026-06-30 — 80/100Swing Score · 2026-07-01 — 76/100Swing Score · 2026-07-02 — 79/100Swing Score · 2026-07-06 — 83/100Swing Score · 2026-07-07 — 79/100Swing Score · 2026-07-08 — 69/100Swing Score · 2026-07-09 — 76/100Swing Score · 2026-07-10 — 76/100Swing Score · 2026-07-13 — 69/100Swing Score · 2026-07-14 — 70/100Swing Score · 2026-07-15 — 70/100Swing Score · 2026-07-16 — 73/100Swing Score · 2026-07-17 — 63/100Swing Score · 2026-07-20 — 59/100Swing Score · 2026-07-21 — 66/100Swing Score · 2026-07-22 — 66/100Swing Score · 2026-07-23 — 56/100Swing Score · 2026-07-24 — 59/100Swing Score · 2026-07-27 — 63/100Swing Score · 2026-07-28 — 63/100Swing Score · 2026-07-29 — 44/100Swing Score · 2026-07-30 — 59/100Swing Score · 2026-07-31 — 62/100Swing Score · 2026-08-03 — 75/100Swing Score · 2026-08-04 — 78/100Swing Score · 2026-08-05 — 78/100Swing Score · 2026-08-06 — 71/100Swing Score · 2026-08-07 — 75/100Swing Score · 2026-08-10 — 78/100Swing Score · 2026-08-11 — 78/100Swing Score · 2026-08-12 — 78/100Swing Score · 2026-08-13 — 78/100Swing Score · 2026-08-14 — 78/100Swing Score · 2026-08-17 — 71/100Swing Score · 2026-08-18 — 71/100Swing Score · 2026-08-19 — 75/100Swing Score · 2026-08-20 — 71/100Swing Score · 2026-08-21 — 78/100Swing Score · 2026-08-24 — 68/100Swing Score · 2026-08-25 — 68/100Swing Score · 2026-08-26 — 68/100Swing Score · 2026-08-27 — 73/100Swing Score · 2026-08-28 — 73/10006-0407-0607-3108-28
risk-off (<35)fragile 35–55constructive 55–75healthy (75+)no data
03

The five dimensions — every check, with its past year

Every check is a documented threshold with no opinion in it — the dashed lines mark each one: green where the check reads calm, amber a warning line, red the risk line. Checks weigh equally within their dimension; dimensions weigh equally in the score. Each links to its own tool with the full series and methodology.

Window:

Trend

100/100

Participation

65/100

Leadership & Divergence

50/100

Volatility & Credit

100/100
04

What happened next — SPY after each band

Average SPY return after every prior session in each band, 2011+. The pattern is contrarian — the stressed bands preceded the strongest forward returns, marking washouts more often than tops.

Current band

Constructive

852 prior sessions
Next 1 month
+1.0%
Next 3 months
+2.8%
Next 6 months
+6.0%

Healthy

Days
2407
Next 1 month
+0.7%
Next 3 months
+2.5%
Next 6 months
+5.3%
6-month win
79%

Constructive

Today
Days
852
Next 1 month
+1.0%
Next 3 months
+2.8%
Next 6 months
+6.0%
6-month win
78%

Fragile

Days
477
Next 1 month
+2.3%
Next 3 months
+5.5%
Next 6 months
+9.2%
6-month win
84%

Risk-Off

Days
75
Next 1 month
+3.5%
Next 3 months
+11.5%
Next 6 months
+17.0%
6-month win
97%

All days (baseline)

Days
3811
Next 1 month
+1.0%
Next 3 months
+3.1%
Next 6 months
+6.2%
6-month win
80%

Overlapping forward windows — adjacent sessions share most of their forward path, so sample sizes are optimistic; the sample begins in 2011. SPY price return, dividends excluded.

05

What flips this read

Band edges are fixed at 75/55/35. Today's 73 is 18 points above the Fragile line (55). The weakest dimension — momentum at 48/100 — is the swing factor; its checks are listed above with the state each would need to reclaim.
06

What this page cannot tell you

The Swing Score reads structure, not price targets — and its own base rates argue against using it as a directional signal: the stressed bands averaged the best forward returns since 2011. It also says nothing about valuation (the Bubble Tracker's question) or about who controls this week's tape (the Tape Tracker's). The backtest window starts in 2011 and contains a handful of stress episodes — treat the band tables as context, not statistics with independent samples.

How Swing Tracker Works

  1. 1
    Five dimensions of daily internals
    Trend (the index against its 50-day average), participation across roughly 4,750 eligible common stocks in a typical session, momentum, leadership and divergence, and volatility and credit. Every input is daily. The 200-day family lives in the Cycle Tracker; the Hindenburg Omen and 90% volume days appear as unscored event alerts.
  2. 2
    Documented thresholds, not opinions
    Each check is classified calm / neutral / watch / risk on a stated threshold and mapped to 100 / 65 / 30 / 0. Checks average into their dimension, and the five dimensions average, equal-weight, into the score — so one crowded dimension cannot stuff the ballot.
  3. 3
    Fixed band edges: 75 / 55 / 35
    Healthy (75+), Constructive (55+), Fragile (35+), Risk-Off (below 35). The edges never re-fit. Checks without clean daily history are excluded from the live gauge so the basket you see today is exactly the basket the backtest scored.
  4. 4
    Backtested by the identical function
    The same scoring function replays one value-map per trading day since 2011, so the latest history point always equals the live gauge — no live-vs-history drift. Average SPY returns over the next 1, 3 and 6 months are published for every band, and the finding is contrarian: the stressed bands preceded the strongest forward returns.

Who Uses Swing Tracker

Swing traders
The core "does the structure support a multi-week hold?" gauge — with the weakest dimension and the specific checks dragging it named on the page.
Position sizers
A dated, reproducible condition score with band base rates to anchor exposure decisions between the daily tape and the slower cycle.
Dip evaluators
The band table quantifies the contrarian pattern: Fragile and Risk-Off readings averaged the best forward 1–6 month returns since 2011 — stressed internals marked washouts more often than tops.
Internals learners
One page shows how trend, participation, momentum, divergence and credit fit together, with every check linking to its full tool.

Pro Tips

01
Stressed bands were entries, not exits
Since 2019, Risk-Off days averaged the strongest forward 3- and 6-month SPY returns in the study. That is a base rate and not a promise — but it argues against treating a falling score as a sell signal by itself.
02
Watch the weakest dimension as well as the score
A 70 carried by four strong dimensions and one collapsing one is more fragile than a flat 70. The flip section names the current swing factor and the exact checks that would need to reclaim their thresholds.
03
Divergence is the early-warning dimension
Trend and participation describe the present; the divergence checks (Hidden Bear gap, Omen clusters) historically deteriorated before price did. A healthy score with divergence sliding deserves closer attention than the headline number suggests.
04
Read it against the Tape and Cycle clocks
Swing is the middle clock: a stressed tape inside a healthy swing structure is usually a dip, while a healthy tape inside a deteriorating swing structure is the combination that precedes trouble. The tracker strip up top keeps all four clocks one click away.

Common Issues & Solutions

Why does the history only start in 2019?
Deliberately. Every check in the live gauge needs clean daily history for the whole backtest window so the live basket and the backtested basket are identical. Extending further back would mean swapping inputs mid-history — the score would no longer mean the same thing across time.
Why are there no macro inputs?
Mixing cadences lets stale monthly and quarterly prints dampen a daily read. The swing window is 1 week to 3 months — daily internals are the evidence at that horizon; the slower economic cycle belongs to the Cycle and Valuation clocks.
The score is high but the market feels expensive
Condition and valuation are different questions. The Swing Score reads internal structure over weeks; it says nothing about long-run prices — that is the Bubble Tracker's job, and the two can legitimately disagree for years.
The score moved 3 points — does that matter?
Usually not. Band edges are fixed at 75/55/35, and wiggles inside a band are noise. The meaningful events are band changes and a dimension breaking below 50 — both stated explicitly on the page.

Frequently Asked Questions

What is the Swing Score?
A 0–100 composite of daily market internals across five equal-weight dimensions — trend, participation, momentum, leadership & divergence, and volatility & credit. Each check is classified calm / neutral / watch / risk on a documented threshold and mapped to 100 / 65 / 30 / 0. It answers one question: does the market's internal structure currently support holding positions for weeks?
What do the bands mean?
Healthy (75+): internals broadly confirm the trend. Constructive (55–74): supportive with soft spots. Fragile (35–54): meaningful internal damage. Risk-Off (below 35): broad internal stress. The edges are fixed and never re-fit.
Is a low Swing Score a sell signal?
Historically the opposite on average: since 2011 the Fragile and Risk-Off bands preceded the strongest forward 1–6 month SPY returns — internal stress marked washouts more often than tops. The score describes today's condition; the base-rate table describes what followed similar conditions.
How is it different from the Tape Tracker and Cycle Tracker?
Three horizons of the same market: Tape reads control over the last 10 sessions (today–5 sessions), Swing reads internal condition for multi-week holds (1 week–3 months), Cycle reads how broadly the average stock participates (3–12 months). They can disagree, and the disagreement is information.
What data feeds it?
Our daily computations over roughly 4,750 eligible common stocks in a typical session (50-day breadth, net new highs, breadth velocity, repair flow, Hidden Bear gap, momentum churn), plus CBOE volatility indices and credit ETF ratios. Every check links to its own tool page.
How often does it update?
Every US trading day after the close. All inputs are daily by design, so the score is never waiting on a monthly or quarterly release.

Explore Other Tools

Last updated: 2026-08-28