Dispersion re-measure, 2026-Q3: single-name moves eased, the index eased more
Dispersion re-measure, 2026-Q3: single-name moves eased, the index eased more
Question: Single-name dispersion regime — quarterly re-measure (the pattern-vocabulary climate gauge) — 2026-Q3 re-measure
Verdict: complete. One-line read: COMPRESSING in level, WIDENING against the index. The 2026-Q3 median single-name |weekly move| fell to 2.25% (per-week median) from 2.93% in 2026-Q2. It is still above the 2.2% "elevated" line and 0.34 points above the 2010s baseline of 1.90%. Big weeks (name-weeks over 5%) ran at 22.5%, 1.42× the 2010s share. $SPY quieted more than the names did, so the name-to-index ratio held at 2.05 for the quarter. On the trailing 13 weeks to the October 9 close it reached 2.93, the highest the live gauge has printed since it started in June. The regime-change tell in the tracker, compression toward 2010s levels, did not fire. No re-read of the vol-calibrated thresholds is triggered.
Desk date: Friday 2026-10-09, settled close. Every bar used ends on the week of October 9 (all 15 symbols complete through 2026-10-09, no holds, split-adjusted basis).
Method
This is the tracker's pinned method: the June 12 era-study script, re-run unchanged. Its only edit was the output path. The data is the same 14 mega-caps ($AAPL $MSFT $AMZN $GOOGL $META $NVDA $AVGO $TSLA $JPM $XOM $WMT $V $LLY $UNH) against $SPY. Weekly closes come from the engine's one price-history reader: daily history back to 2006 (later for $META, $TSLA, $AVGO, $V), resampled to completed weeks. Each week is dated by its last session, and a trailing partial week is dropped. The script uses two aggregations:
- A, pooled: every name-week in the window pooled. Reports the median |weekly move| and the share of name-weeks over 5% and over 10%.
- B, per-week: the median across names for each week (a week counts only with 10 or more names), then the median over weeks. This is the live gauge's shape. $SPY's median |weekly move| over the same weeks gives the ratio.
New this leg, the quarter row. The tracker asks for "the new quarter's row". I applied the same two aggregations, using the script's own weekly-move function, to each calendar quarter from 2024-Q1 through 2026-Q3. A week belongs to the quarter its last session falls in, so 2026-Q3 is the 13 weeks ending 2026-07-02 through 2026-09-25. I also cut the trailing 13-week window the live gauge uses, at three anchor dates. Code did all the arithmetic, including the deltas and ratios quoted below.
Reproduction check. The trailing 13 weeks to October 9 come out at 2.25% names, 0.77% $SPY, ratio 2.93. That matches tonight's regime snapshot exactly. The window to September 25 (2.25% / 1.10% / 2.05) matches the snapshots from September 25 to October 1.
Numbers
Era table. Re-run 2026-10-09. The "2024-now" row is a rolling era through the week of October 9.
| era | A pooled median | weeks >5% | weeks >10% | B per-week | SPY median | ratio | SPY weeks >5% | weeks |
|---|---|---|---|---|---|---|---|---|
| 2010–2019 | 1.99% | 15.9% | 2.7% | 1.90% | 1.02% | 1.87 | 2.5% | 521 |
| 2020–2021 covid | 2.51% | 24.1% | 6.5% | 2.41% | 1.55% | 1.55 | 6.7% | 105 |
| 2022–2023 rate shock | 2.56% | 25.3% | 5.8% | 2.49% | 1.68% | 1.48 | 8.7% | 104 |
| 2024–now | 2.56% | 22.9% | 4.9% | 2.43% | 1.27% | 1.92 | 2.1% | 145 |
Quarter rows. Re-run 2026-10-09. Each full quarter has 13 weeks and 182 name-weeks.
| quarter | A pooled median | weeks >5% | weeks >10% | B per-week | SPY median | ratio | SPY weeks >5% |
|---|---|---|---|---|---|---|---|
| 2024-Q1 | 2.44% | 19.2% | 2.7% | 2.36% | 1.21% | 1.95 | 0.0% |
| 2024-Q2 | 2.31% | 18.7% | 6.0% | 2.35% | 1.26% | 1.86 | 0.0% |
| 2024-Q3 | 2.82% | 22.0% | 4.9% | 2.67% | 1.41% | 1.89 | 0.0% |
| 2024-Q4 | 2.37% | 20.3% | 4.9% | 2.26% | 1.15% | 1.96 | 0.0% |
| 2025-Q1 | 3.03% | 25.8% | 3.8% | 3.36% | 1.49% | 2.26 | 0.0% |
| 2025-Q2 | 3.67% | 38.5% | 13.2% | 3.69% | 2.54% | 1.45 | 23.1% |
| 2025-Q3 | 2.34% | 16.5% | 4.9% | 2.26% | 0.96% | 2.37 | 0.0% |
| 2025-Q4 | 2.15% | 19.8% | 2.2% | 1.90% | 1.43% | 1.33 | 0.0% |
| 2026-Q1 | 2.59% | 19.8% | 2.2% | 2.60% | 1.13% | 2.31 | 0.0% |
| 2026-Q2 (prior leg's quarter) | 3.04% | 30.8% | 4.4% | 2.93% | 1.45% | 2.01 | 0.0% |
| 2026-Q3 (this leg) | 2.16% | 22.5% | 4.9% | 2.25% | 1.10% | 2.05 | 0.0% |
The 2026-Q4 partial (two weeks, to October 9) reads 2.34% per-week against 0.69% for $SPY. Two weeks is too few to read.
Trailing 13 weeks, the live gauge's window.
| window ending | B per-week | SPY median | ratio | weeks >5% |
|---|---|---|---|---|
| 2026-06-12 (prior leg's date) | 2.93% | 2.07% | 1.41 | 30.8% |
| 2026-09-25 (end of Q3) | 2.25% | 1.10% | 2.05 | 22.5% |
| 2026-10-09 (tonight) | 2.25% | 0.77% | 2.93 | 19.8% |
Comparison with the prior reading (June 12, 2026)
The June 12 leg recorded the live gauge as elevated, 2.93% against $SPY 1.97% (ratio 1.49 in that day's snapshot). On today's resampled history, the same 13-week window reads 2.93% against 2.07%, ratio 1.41: the names match and $SPY is 0.10 points higher. Tonight's gauge reads elevated, 2.25% against 0.77%, ratio 2.93.
- Level: compressing. The per-week median went from 2.93% in 2026-Q2 to 2.25% in 2026-Q3, a fall of 0.68 points. The pooled median went from 3.04% to 2.16%, and the big-week share from 30.8% to 22.5%. 2026-Q3 is the second-lowest of the 11 full quarters since 2024, behind only 2025-Q4 (1.90%).
- Not compressed to the 2010s. Q3's per-week median is 1.18× the 2010s baseline (+0.34 points), and the pooled median is 1.08× (+0.17 points). The big-week share is 1.42× the 2010s share, which is where the June finding said the fat tail lives. The >10% share edged up from 4.4% to 4.9%.
- Ratio: holding to widening. $SPY's median weekly move fell from 1.45% to 1.10% quarter on quarter, and to 0.77% on the trailing 13 weeks. The quarter ratio went from 2.01 to 2.05. The trailing ratio of 2.93 is the highest value in the live gauge's snapshot history, which runs from June 11 to tonight. The June finding, "names rotate violently against each other while the index stays calm", is stronger relative to the index now than in June, even though the names themselves moved less.
- The gauge is sitting on its line. The live state read "normal" (2.08%) in the October 2–8 snapshots and returned to "elevated" (2.25%) tonight. One completed week moved it across the 2.2% threshold. Quarterly per-week medians have ranged from 1.90% to 3.69% since 2024, and 10 of 11 sit at or above 2.2%. A one-week flip of the state is within that noise, not a regime call.
- The one prior compression did not hold. 2025-Q4's per-week median sat at the 2010s baseline (1.90%). It re-widened to 2.60% in 2026-Q1 and 2.93% in 2026-Q2. That quarter predates the tracker's first leg, so no leg recorded it at the time. It is the reason a single low quarter should not be read as the tell.
What it implies for the pattern vocabulary
- No threshold re-read. The trigger is compression toward 2010s levels, and it did not fire on any of the three measures (per-week median, pooled median, big-week share). The fixed −10% and −30% drawdown lines stay canonical, as the June note left them. The fat-week share is still about 1.4× the 2010s share, so the June case that fixed-percent pullback lines dilute toward noise still holds.
- Read the gauge's state with its ratio and the quarter row. With the level at the 2.2% line, the elevated/normal state will flicker week to week. A pattern or reader keyed on that state alone would see a regime change on every flip. The quarter row and the name-to-index ratio are the steadier reads. This quarter they say less absolute single-name motion, and more of it independent of the index.
- The open question is not answered. That question is whether this is a durable structural shift or an artifact of the AI rush that fades when the rush ends. One quarter of easing level with a rising ratio fits both. The test stays as written: compression that persists for more than one quarter, on the level and the big-week share together. The 2025-Q4 episode shows that one quarter is not persistence.
Limits
- 14 names is a sample. It is a fixed mega-cap basket, not a whole-market dispersion estimate. Quarter rows are 13 weeks and 182 name-weeks each, so quarter-to-quarter swings of half a point are routine in this table.
- Causes not examined. This note measures; it does not explain why Q3 eased or why $SPY quieted. Cause unknown here; no news or event receipts were consulted, because the question is the measurement.
- The fixed-era rows drifted slightly from the June table. On today's history, the medians reproduce within 0.05 points except the rate-shock $SPY median: 1.68% today against 1.77% in the June table, which moves that era's ratio from 1.40 to 1.48. Big-week shares reproduce within 0.2 points. The September 5 re-run note claimed reproduction within ±0.05. The rate-shock $SPY row now sits outside that, and the June-12 13-week $SPY figure is 0.10 points off the then-live reading. The cause is not isolated. The history is now resampled from daily bars, and the primary price source changed on 2026-10-06. Neither has been tested as the cause. No conclusion depends on that row.
- The quarter-row cut is new. It is not in the pinned script. It reuses the script's own functions and rules, but until it is folded into the script, a future leg has to repeat the cut described in Method.
Sources
- Pinned method:
research/commentary/2026-06-12-mega-cap-weekly-dispersion-era-study.py, re-run 2026-10-09 (output path changed only). - Prior reading:
research/commentary/2026-06-12-mega-cap-weekly-dispersion-era-study.md(June 12 table + September 5 re-run note); baseline brief.brief/pattern-vocabulary.md. - Live gauge:
dispersion-regimeinresearch/market-engine/lib/patterns.ts; daily snapshotsresearch/market-engine/data/state/regimes/2026-06-11.jsonthrough2026-10-09.json(dispersion block). - Weekly bars:
research/market-engine/python/src/bars.pyread_weekly(daily history resampled to completed weeks). - Tracker row:
research/tasks/TASKS-SCANS.md, "Single-name dispersion regime — quarterly re-measure". - Context only:
research/investigations/2026-09-30-climate-read-rates-shock.md(recorded the gauge at 2.05, down from 2.58).
No direct external sources are attached to this read.