# % Stocks Above 20/50/200-day MA

Also known as: diffusion indices.
A Breadth, Sentiment & External Data concept (Breadth) in the LuxAlgo Library, with 1 indicator implementation.

## What is % Stocks Above 20/50/200-day MA?

The percentage of stocks above a moving average is a diffusion index: score each constituent of an index or exchange 1 if it trades above its own N-day [simple moving average](https://www.luxalgo.com/library/concept/sma/) and 0 if not, then express the sum as a percentage of all members. The result is bounded between 0 and 100. The 20-day version swings quickly and behaves like a short-term overbought/oversold gauge, the 50-day sits in between, and the 200-day version moves slowly and describes the long-term participation regime.

Diffusion indexes are borrowed machinery: economists have long summarized many yes/no series into a single participation percentage, and breadth analysts applied the same trick to price-versus-average tests. The design's virtue is legibility, every member votes once, the scale is fixed, and readings translate across time, which is why the family became standard dashboard fare wherever member-level data exists.

Because every stock counts equally, the reading exposes what a capitalization-weighted index hides: a benchmark can print new highs while the share of members above their 200-day average quietly erodes. Commonly cited zones treat very high readings as crowded participation and very low readings as washout conditions, but useful thresholds differ by market, era, and lookback, and strong trends can hold elevated readings far longer than reversion traders expect.

The reading rewards being taken as three questions rather than one number: the level (how broad participation is), the direction (whether it is building or eroding), and the disagreement (whether the series confirms what the index is doing). The lookbacks divide the labor, with the 20-day supplying swing extremes, the 200-day supplying regime, and the spread between them a rough rotation read, fast money re-engaging before slow participation repairs, or abandoning ship first while the long base still holds.

## How to read a percent-above-MA gauge

The series plots 0 to 100 in its own pane; the reading is level, direction, and confirmation, per lookback.

1. Fix the universe and lookback: which index's members, and which moving average (20, 50, or 200 days) the percentage tests.
2. Read the level against zones calibrated to that market's own history rather than borrowed constants.
3. Read the direction: participation building or eroding often matters more than the absolute level, especially mid-range.
4. Compare lookbacks: a strong 20-day reading over a weak 200-day one marks a bounce inside a damaged regime; the reverse marks a pullback inside a healthy one.
5. Check confirmation against the index: the benchmark at highs while the 200-day percentage erodes is the classic [participation divergence](https://www.luxalgo.com/library/concept/participation-divergence-at-index-highs/).
6. Watch the washout-thrust sequence: single-digit 20-day readings mark capitulation conditions, and the speed of the subsequent expansion grades the recovery.

## How it's calculated

The percentage of an index's members closing above their own n-day simple moving average, a breadth reading between 0 and 100.

```
SMA_n(i)_t = (1/n) × Σ C_i,t-k, summed over k = 0 to n-1
A_n,t = number of members i with C_i,t > SMA_n(i)_t
PctAbove_n,t = 100 × A_n,t / N_t
n = 20, 50, or 200 gives the three plotted series PctAbove_20, PctAbove_50, PctAbove_200

  C_i,t: closing price of member stock i on day t
  i: index over the stocks in the chosen universe
  t: current trading day
  n: moving average length in days (20, 50, or 200)
  k: lag index in the SMA sum, 0 to n-1
  SMA_n(i)_t: n-day simple moving average of stock i's closes
  A_n,t: count of members closing above their own n-day SMA on day t
  N_t: total number of members in the universe on day t
  PctAbove_n,t: percent of members above their n-day SMA, 0 to 100
```

Also called a diffusion index; 50 means half the universe is above the average.

Always defined against a stated universe such as S&P 500 or NYSE members, so the membership list affects the reading.

The comparison is each stock's close against the SMA of its own closes, usually with strict greater-than.

## How traders use it

- As a regime gauge: the 200-day version holding above or below its midpoint frames bull versus bear participation, and erosion in it while the index makes highs is a form of [participation divergence](https://www.luxalgo.com/library/concept/participation-divergence-at-index-highs/).
- As a washout timer: readings near single digits on the 20-day version flag capitulation conditions that mean-reversion traders watch, with the caveat that bear markets can produce several such extremes in sequence.
- As a recovery thrust input: fast expansion from a deep low toward a high reading resembles the logic of [breadth thrusts](https://www.luxalgo.com/library/concept/breadth-thrusts/) and is read as evidence of broad re-engagement.
- In sector rotation: per-sector diffusion readings show where participation is building or draining, complementing [advance/decline internals](https://www.luxalgo.com/library/concept/advance-decline-internals/) with a slower, level-based view of each group's health.
- As volatility context: breadth washouts on the fast lookback typically coincide with [VIX](https://www.luxalgo.com/library/concept/vix/) spikes, and disagreement between the two (panic in one, calm in the other) is itself a reading worth investigating.

## Percent-above-MA vs other breadth gauges

- **Advance/decline Internals** (https://www.luxalgo.com/library/concept/advance-decline-internals/): A/D series count each session's winners and losers, a flow measure that accumulates path. The diffusion percentage is a state measure: where each member stands relative to its own average right now, insensitive to how it got there.
- **McClellan Oscillator** (https://www.luxalgo.com/library/concept/mcclellan-oscillator/): The McClellan family smooths daily A/D differences into momentum readings, fast-reacting and centered on zero. Percent-above-MA is bounded, slower, and level-oriented, which makes it the regime witness while McClellan tools time the swings.
- **TICK Index** (https://www.luxalgo.com/library/concept/tick-index/): TICK counts upticking versus downticking issues second by second, the intraday extreme of breadth measurement. The diffusion percentages sit at the opposite end, summarizing weeks to months of participation; they share the equal-vote philosophy at incompatible clock speeds.

## FAQ

### What is a good threshold for the percentage of stocks above the 200-day moving average?

There is no universal line. Many practitioners read sustained values in the upper half as healthy participation and values down in the low tens as washout territory, but the levels shift across markets and decades. Treat the reading as zones calibrated to recent history, and weight the direction of change at least as much as the level itself.

### Why does the 20-day version whipsaw so much?

Each stock only needs a small move to flip across its own 20-day average, so the aggregate percentage swings hard with every short-term rotation. That responsiveness is the point: it makes the 20-day version useful for swing extremes and unsuitable for regime work. Pair it with the 200-day version so the fast reading gets slow context.

### Which lookback should swing traders watch?

The common pairing is the 50-day for the swing horizon itself, read against the 200-day for regime. The 50-day is slow enough to ignore day-to-day rotation and fast enough to register a genuine swing turn, while the 200-day decides whether dips are pullbacks or distribution. The 20-day joins for timing extremes at entries and exits.

### How can the reading stay above 80 for months?

Because broad uptrends keep most members above their own averages for as long as the advance persists; the gauge is bounded, not mean-reverting on any schedule. Early bull phases in particular pin high readings while reversion traders wait in vain. That persistence is information, sustained breadth is what healthy trends look like, and it is why levels alone are never the whole read.

### How does this differ from the advance/decline line?

The A/D line accumulates daily net advances forever, so its level is path-dependent and only its slope and divergences carry meaning. The diffusion percentage is stateless and bounded: today's reading needs no history to interpret and can be compared across years directly. The two disagree in useful ways, since one measures flow of winners and the other the stock of members in uptrends.

### Can the same gauge be built for sectors or crypto?

For anything with members and price history: sector versions are standard, and crypto dashboards compute the share of top-N coins above their own averages. The caveats scale with the universe: small member counts make the percentage jumpy, survivorship churn in crypto universes distorts long histories, and each version needs its own calibrated zones rather than thresholds borrowed from the NYSE.

## Implementations in the Library

- Market Breadth Toolkit (LuxAlgo): https://www.luxalgo.com/library/indicator/market-breadth-toolkit/

## Related concepts

- Advance/decline Internals: https://www.luxalgo.com/library/concept/advance-decline-internals/
- Up/down Volume: https://www.luxalgo.com/library/concept/up-down-volume/
- TICK Index: https://www.luxalgo.com/library/concept/tick-index/
- New Highs − New Lows: https://www.luxalgo.com/library/concept/new-highs-new-lows/
- Equal-weight vs Cap-weight Ratio: https://www.luxalgo.com/library/concept/equal-weight-vs-cap-weight-ratio/
- Participation Divergence at Index Highs: https://www.luxalgo.com/library/concept/participation-divergence-at-index-highs/
- TRIN: https://www.luxalgo.com/library/concept/trin/
- McClellan Oscillator: https://www.luxalgo.com/library/concept/mcclellan-oscillator/
- Breadth Thrusts: https://www.luxalgo.com/library/concept/breadth-thrusts/
- Sector Breadth: https://www.luxalgo.com/library/concept/sector-breadth/

---

Source: https://www.luxalgo.com/library/concept/percent-stocks-above-20-50-200-day-ma/ (LuxAlgo Library, the encyclopedia of trading & technical analysis). Free to use with attribution: https://www.luxalgo.com/library/license/