Market Breadth: S&P 500 vs Portfolio Universe
How many S&P 500 stocks trade above their 20- and 50-day moving averages, counted one stock, one vote — next to the breadth of this site's portfolio universe.
Data as of: 2026-10-16
History is computed with today's constituents (survivorship bias — see Methodology below).
S&P 500 and S&P 500 breadth (%)
Green shading marks regimes where S&P 500 breadth (the share of constituents above their 50-day average) is below 50%: BUY at the 5th session (vertical line on the fire day), STRONG at the 10th (darker). A 3rd day back above 50% ends the regime; tolerated recovery days still count toward the session total. Research display only — not investment advice.
Portfolio-universe vs S&P 500 breadth (% above 50DMA)
Spread = portfolio-universe breadth minus S&P 500 breadth, in percentage points (right axis). Positive means the portfolio universe is broader than the market.
Sector-equal-weighted vs plain S&P 500 breadth (% above 50DMA)
Each GICS sector gets an equal vote; sectors with fewer than 5 counted names are left out of the average.
S&P 500 breadth by GICS sector (% above 50DMA)
Label counts are names above the 50-day average / names counted, as of 2026-10-16.
RSP/SPY ratio (rebased to 100 at window start)
RSP holds the S&P 500 at equal weight, SPY at cap weight. Rising means the average stock is beating the index; falling means leadership is narrowing to the largest names.
Methodology
What this measures
Market breadth on this page is the share of S&P 500 constituents whose latest close is above their 20-day and 50-day simple moving averages. Every stock counts once, whatever its size: the largest and the smallest member each add one name. That is deliberate. The S&P 500 index itself is cap-weighted, so a handful of mega-caps can carry it higher while most of its members fall; equal-weighted breadth shows how many stocks are actually taking part.
Sector-equal-weighted
The sector-equal-weighted line averages the percentages of the 11 GICS sectors, so a sector with many members, such as Industrials or Financials, does not dominate the reading. Sectors with fewer than 5 counted names that day are left out of the average.
Counting rules
A stock is counted on a day only if it has a close for that day and at least 51 daily closes of history; "above" means the close is strictly greater than the average. Days on which fewer than 300 stocks could be counted are not published. Prices are Yahoo Finance daily closes, adjusted for splits and dividends.
Portfolio-universe breadth
The breadth line on the daily journal uses the same 20- and 50-day averages over the 86 tickers this site tracks, the universe its Hypothetical Portfolio is drawn from. Its counting rules differ slightly (the last close is carried forward, the 20-day test needs 21 closes, and each window has its own denominator). It describes that universe, not the whole market, so it is labelled portfolio-universe breadth. The gap between the two lines is the spread charted above.
RSP/SPY
RSP holds the S&P 500 at equal weight and SPY at cap weight. The ratio is rebased to 100 at the start of each window and shown with its 50-session moving average.
Survivorship bias
The entire history is computed with the CURRENT constituent list (the latest monthly snapshot of S&P 500 membership). Companies that have since left the index are missing from past readings and companies added later are included, so older readings lean toward the stocks that survived. When the snapshot changes, the whole history is recomputed with the new list. Treat the history as indicative.
Research display only — not investment advice. No warranty is made as to the accuracy of the information presented.