Technical Analysis › Market Breadth

Percent Above the 50-Day and 200-Day Moving Average

Spot the edge. Swoop in.

Percent of stocks above a moving average expresses, as a single percentage, how much of a defined universe is currently trading above its own trend line. Computed against the 50-day average it reads intermediate-term participation; computed against the 200-day average it reads the broader trend regime — how much of the market is in a long-term uptrend versus a long-term downtrend at any given time.

By Swoopr Editorial Team

Published · Updated

AI-assisted content · Swoopr is responsible for the final published article.

Key Takeaways

Direct answer: Percent above moving average equals the count of issues trading above their moving average, divided by the eligible issue count, times 100. Eligible issues exclude any stock without enough price history to compute a valid moving average — a recently IPO'd stock with no real 200-day average, for example — so the denominator reflects only issues the calculation can legitimately measure.

The Formula: Count Above MA Over Eligible Count

As implemented in Swoopr's breadth calculations, percent above moving average is defined as: percent above MA = (count of issues trading above the moving average / eligible issue count) × 100. "Eligible issue count" is the operative detail — it is not simply the size of the full universe. Any issue without enough price history to compute the chosen moving average, such as a stock that IPO'd 30 trading days ago and therefore has no valid 200-day average yet, must already be subtracted out of the denominator by whoever assembles the eligible set before the ratio is calculated.

The implementation returns a defined "not applicable" result, rather than a divide-by-zero error, when the eligible count is zero — for example, a newly defined universe on its first trading day, before any issue has enough history to qualify. That distinction matters in a real system: a divide-by-zero either crashes the calculation or silently produces NaN/Infinity, either of which can corrupt a downstream chart or table. Returning an explicit "not defined" value instead lets the caller render "not available" cleanly and signals unambiguously that the reading genuinely cannot be computed yet, rather than that it happens to equal zero.

Common mistake

The common mistake is computing the percentage against the full universe size instead of the eligible count. If 40 of a 500-stock universe are too recently listed to have a valid 200-day average, dividing by 500 instead of the true 460 eligible issues silently understates the real participation rate among stocks the measure can actually assess.

Worked Example: 312 of 500 Eligible Issues

Illustrative numbers — not live market data.

Assume a defined universe where, on a given day, 500 issues are eligible for the 50-day moving average calculation (they all have at least 50 trading days of price history), and 312 of those eligible issues are trading above their own 50-day moving average.

Percent above 50-day MA = (312 / 500) × 100 = 62.4%.

A reading of 62.4% describes intermediate-term participation as majority-positive but not extreme: roughly three out of every five eligible stocks are trading above their own trend line, while nearly two out of five are not, even on a day the headline index might be up strongly if a handful of large constituents did the heavy lifting. The reading says nothing on its own about how far above or below the average any individual stock sits — a stock trading 0.1% above its 50-day average and a stock trading 15% above it both count identically in this measure.

What's the difference between using the 50-day and 200-day version?

The two versions of this measure use the identical formula, differing only in which moving average each issue is compared against, and that single choice changes what the number represents. A stock's 50-day average moves with roughly the last two-and-a-half months of trading, so it reacts relatively quickly to a shift in price direction — a stock can cross above or below its 50-day average within a matter of weeks during a meaningful move. A stock's 200-day average moves with roughly the last ten months of trading, so it reacts much more slowly, and a stock crossing its 200-day average generally reflects a more durable, longer-running shift in trend.

Because of that difference in responsiveness, the 50-day version of percent above MA is typically used for intermediate-term breadth reads — how the market's shorter-term momentum is distributed right now — while the 200-day version is more often used to characterize the broader trend regime: roughly, how much of the market is currently in a long-term uptrend versus a long-term downtrend. Neither version is more "correct" than the other; they are the same calculation applied at two different time horizons, and reading them together shows whether short-term participation and the longer-term trend regime agree or disagree.

Typical Reference Ranges — Convention, Not a Rule

Traders and analysts commonly describe readings well above 80% as "stretched" toward overbought participation, and readings well below 20% as "stretched" toward oversold participation, on the reasoning that when an unusually large or unusually small share of the market is above its own moving average simultaneously, that state has historically tended not to persist indefinitely. It's worth being explicit that these are informal, descriptive conventions passed down through technical-analysis practice, not a rule with a precise, universally agreed threshold — one source's "stretched" cutoff might be 85% or 75%, and there is no formal statistical basis fixing the number at exactly 80.

A reading in the stretched range also does not, by itself, predict an imminent reversal. Breadth participation has stayed above 80% for extended stretches during strong, broad bull-market advances, and has stayed below 20% for extended stretches during prolonged downtrends, without reverting on any predictable schedule. Treat these reference ranges as a way to describe the current state of participation relative to its own history, not as a trading signal on their own.

Common mistake

The common mistake is treating an 80% or 20% threshold as a hard rule that triggers an action. These figures are descriptive shorthand that different practitioners define slightly differently, not a formally defined boundary the underlying math produces.

Why does the eligible-issue count matter?

The eligible-issue count exists specifically to exclude issues the calculation cannot legitimately measure yet — most commonly, a stock that has traded publicly for fewer days than the moving-average period requires. A stock that IPO'd 30 trading days ago has no real 200-day moving average: there simply isn't 200 days of price history to average. Including that stock in the denominator as if it could be measured, or worse, arbitrarily counting it as "not above" its (nonexistent) average, would understate the true participation rate among the issues the measure can actually assess.

This is also why a well-built implementation returns an explicit "not defined" result rather than a divide-by-zero error when the eligible count itself is zero, instead of producing NaN or Infinity that could silently corrupt a chart or downstream calculation. The distinction between "zero eligible issues, so this reading doesn't exist yet" and "the reading happens to equal zero" is meaningful, and collapsing the two into the same numeric output would misrepresent what actually happened.

Misconceptions Versus Reality

MisconceptionReality
The 50-day and 200-day versions should always show similar readingsThey measure different time horizons and routinely diverge — a market can show strong short-term participation (high 50-day reading) while the longer-term trend regime (200-day reading) is still weak, or the reverse
Dividing by the full universe size is the same as dividing by the eligible countRecently listed issues without enough price history for a valid moving average must be excluded from the denominator; dividing by the full universe instead silently understates true participation
Above 80% or below 20% is a precise, universally defined thresholdThese are informal descriptive conventions used across technical-analysis practice; different sources use somewhat different cutoffs, and there is no formal statistical rule fixing the exact number
A stretched reading means a reversal is imminentBreadth participation has remained stretched above 80% or below 20% for extended periods during strong trends without reverting on any predictable schedule

Risks, Limitations, and Exceptions

Frequently Asked Questions

What does the percentage of stocks above a moving average measure?

It measures what share of a defined, eligible universe of stocks is currently trading above its own moving average, expressed as a percentage. Unlike the index level, which one large constituent can move on its own, this reading treats every eligible issue individually, so it directly shows how broadly a trend is shared across the market rather than concentrated in a few names.

What's the difference between using the 50-day and 200-day version?

The 50-day version reacts faster to recent price action and is typically used for an intermediate-term read on breadth, since a stock crosses above or below its 50-day average more readily than its 200-day average. The 200-day version moves more slowly and is more often used to characterize the broader trend regime — roughly, how much of the market is in a long-term uptrend versus a long-term downtrend. Neither version is more correct; they answer the participation question over different time horizons.

Why does the eligible-issue count matter?

The eligible count excludes issues that don't yet have enough price history to compute a valid moving average, such as a stock that IPO'd 30 days ago and has no real 200-day average. If those issues were left in the denominator, or if the calculation divided by the full universe regardless of eligibility, the percentage would silently understate true participation and the reading would not represent what it claims to represent.

Sources and Methodology

This guide follows the same market-data conventions documented across the market breadth cluster. Moving-average eligibility and corporate-action handling follow standard NYSE and Nasdaq market-activity data conventions; different data providers can apply slightly different rules for adjusting historical prices around splits and dividends, which can shift exactly when an issue crosses above or below its moving average.

The worked example on this page uses a clearly labeled illustrative dataset, not live market data. This content was reviewed by the Swoopr Editorial Team in August 2026.

Related Reading