Pull up the percentage of Nasdaq stocks trading above their 50-day moving average and the last few months look like a wall. Breadth pushes into the mid-sixties, stalls, rolls over. Pushes again, stalls in the same place, rolls over again. Draw a horizontal line at 67% and it touches four or five times. Every chart-reading instinct says resistance, and every breadth primer on the internet reinforces the idea that there are meaningful levels here — 70% is overbought, 50% is the bull-bear line, 20% is washout.
We reconstructed the series and tested it. Since March 2004, across 5,644 sessions, Nasdaq breadth closed above 67% on 45.1% of days. The median reading is 63.8%. A level the market spends nearly half its life above is not a ceiling. It is the middle of the distribution.
What is unusual is not the level — it is this tape. Over the last six months the series topped out at 71.0% with a median of just 54.0%, and it has now gone 75 sessions without a single close above 70%. Two years ago it was printing 88.7%. So the wall is real, but it is a property of the current regime, not a structural barrier. That distinction matters, because the two readings imply opposite trades.
What we measured
No vendor publishes a downloadable history for this series, so we built it. The universe is the current Nasdaq-100 membership — 102 names — with daily adjusted closes back to March 2004. Each day, breadth is the share of those members closing above their own 50-day simple moving average, computed only on days with enough priced members to be meaningful.
The universe is survivorship-biased and we are not going to pretend otherwise: today's Nasdaq-100 is the list of companies that grew into it. That inflates historical breadth somewhat. As a sanity check we compared the reconstruction against our own point-in-time capture of whole-market breadth, recorded live since November 2025: 185 overlapping days, correlation 0.832. The levels differ by construction — the reconstruction averaged 52.4% over the overlap against 49.5% for the live whole-market series — but the shape holds.
Forward returns are QQQ, entered at the next open after the signal close, held 21, 63, or 126 sessions. Nothing is measured from the signal-day close, because you cannot trade it.
Two baselines. The unconditional one: every day in the sample returned 4.10% over three months on average, median 4.81%, positive 72.8% of the time. And a pullback-conditional one, covering the 76.9% of days where QQQ was already off its highs or breadth was under forty: 4.68% mean, 5.50% median three-month return. The second is the honest comparator for any rule that can only fire during a drawdown, and it is a higher bar than the unconditional one.
The rejection has no predictive content
We defined a rejection precisely: breadth reaches the 65-70% band, fails to exceed 70%, then rolls back under 55% within twenty sessions. That is the pattern on the chart right now. It has happened 24 times since 2005 — 21 of them independent once you de-overlap the three-month windows.
| Rejection at 65-70% | Unconditional baseline | |
|---|---|---|
| 3-month mean | 3.61% | 4.10% |
| 3-month median | 4.74% | 4.81% |
| 3-month hit rate | 73.9% | 72.8% |
| 6-month mean | 7.43% | 8.25% |
| 6-month hit rate | 91.3% | 79.1% |
The signal is a rounding error below baseline at three months and a rounding error above it on six-month hit rate. There is no edge here.
Threshold sensitivity confirms it is noise rather than a mis-chosen level. Running the same rejection test anchored at each level in turn gives three-month means of 5.48% at 55, 6.38% at 60, 3.56% at 62, 3.61% at 65, 3.77% at 67, and 4.36% at 70. No structure, no monotonic decay — just sampling scatter around baseline. If 67% were a meaningful threshold, the numbers either side of it would not bounce around like that.
The one place the stall does show up is the very short horizon. We isolated the fifteen episodes since 2005 where breadth went 60 consecutive sessions without touching 70% — the direct analogue of today. The following month averaged -0.25%, median -0.12%, with a hit rate of exactly 50.0%. Three months out it recovers to a 4.89% median and six months to 7.57%. Fifteen episodes is a small sample and every claim from it is suggestive, not established. But it says something plausible: a long breadth stall makes the next few weeks a coin flip, and changes nothing beyond that.
Waiting for the all-clear costs more than it saves
The more useful question is the one every tech holder is asking now: what confirms the pullback has resolved? We tested seven candidate rules, each armed only while the market was actually in a pullback, each firing at most once per episode: breadth crossing 50, crossing 60, crossing 67, crossing 50 with QQQ above its own 50-day, breadth making a new three-month high, a 50-cross held three days, and price crossing its 50-day with no breadth condition at all.
Every one of them underperformed the pullback-conditional baseline at three months. Breadth crossing 60 came closest at -0.69 points of edge; the plain 50-cross was worst at -1.51. At six months the spread is a coin toss around zero — the price-only rule at 0.38 points and the breadth-plus-price rule at 0.25 are the only positive ones, and neither is distinguishable from noise. Median drawdown after entry barely moves either: the best rule improves it by 0.65 points.
The reason is visible in one number. Across 69 instances, by the time breadth had crossed back above 50, QQQ had already rallied a median of 13.51% off its low — mean 14.97%, upper quartile 16.83%. The confirmation is real. It is also late. You are paying most of the rebound for it.
What actually separates the good pullbacks from the bad ones
Depth of washout, not the recovery trigger. Splitting those same 69 confirmations by how low breadth got during the pullback:
| Washout low | n | 3-month mean | 6-month mean | 3-month hit rate |
|---|---|---|---|---|
| Below 15% | 31 | 3.97% | 9.98% | 67.7% |
| 15-30% | 31 | 1.33% | 5.30% | 65.5% |
| Above 30% | 7 | 7.22% | 15.77% | 85.7% |
The pullbacks that genuinely cleared out — breadth under 15% at the low — produced roughly double the six-month return of the half-hearted ones that only reached the twenties. The shallow bucket looks best of all, but seven observations is not a finding; treat that row as unmeasured.
The rule: ignore the 67% line entirely — it is not a level, it is this quarter's range. Judge a resolving pullback by how deep breadth got, not by what it crosses on the way back. Breadth under 15% at the low and now back above 50 with price above its 50-day is the configuration that historically paid; a pullback whose breadth low sat in the twenties is the one that keeps grinding. And in either case, do not wait for the cross to start sizing back in, because the median cross arrives 13.51% off the bottom.
Where this fails
Loudly, and often. Of the 23 rejection episodes with a full three-month window, 17 were followed by a positive QQQ return — a 73.9% failure rate against the bearish reading of the pattern. The largest one missed 26.92% of upside. If you had sold the 65-70% rejection every time, you would have been wrong roughly three times in four.
It only "worked" in one era, and that era is one bear market. Split by regime, the rejection signal returned -11.78% over three months in 2007-2012 against a 2.73% baseline — on 3 signals. In 2013-2019 it was 4.81% against 4.61%, and in 2020-2026 it was 7.72% against 5.65%. A rule that is only bearish inside the global financial crisis is a rule about the global financial crisis.
The worst post-signal drawdown in the set is -40.03%, in the same period. That is the honest counterweight: breadth rejections are useless as a timing signal in most regimes and devastating to ignore in the one regime where they are not. Nothing in this data tells you in advance which one you are in.
Three further caveats. The universe is survivorship-biased upward. The 24 rejections compress to 21 independent episodes, so the effective sample is smaller than the count suggests. And the reconstruction, while it tracks our live capture at 0.832 correlation, is not the same series a data vendor would sell you.
Where things stand now
As of August 2026 the reconstruction reads 56.2%, up from 39.7% twenty sessions ago, with a three-month high of 68.0% and a six-month high of 71.0%. QQQ sits -3.6% below its one-year high and above its own 50-day average. The washout low in this episode never approached the deep bucket — which, on the numbers above, puts this pullback in the mediocre middle group rather than the cleared-out one.
You can watch the same breadth internals we used to build this on the Market Health dashboard — the participation readings there are the live version of the series tested here.