Bollinger mean reversion, 18 runs: it wins most of its trades — and still loses to holding

The textbook lower-Bollinger-Band buy over 18 runs: win rates of 56–80%, profitable before costs on 15 of them, behind buy & hold on all 18.

A teardown. Every number in the results table is the tool's saved output; the reading at the end is ours and is marked as such.

2026-09-17 · textbook definition, public

How to read this: Reading a backtest result · Validation Lab: walk-forward & Monte Carlo

The claim. Buying the lower Bollinger Band is the textbook mean-reversion rule: when price closes below the band that sits two standard deviations under a 20-bar average, it is "stretched" and due to snap back to the middle. Teardown #2 tested the textbook trend rule (the golden cross); this is its mirror image, run the same way — the definition as written, nothing tuned.

What we ran. The textbook definition: long with 100% of equity when the close is below the lower Bollinger Band (20-bar simple average, 2 standard deviations); flat when the close is back at or above the middle band. No stop-loss, no take-profit, no costs modelled (the tool's cost panel re-runs the trades at 5–50 bps afterwards). Three axes, the same as teardowns #3 and #4: eight large US names on hourly bars over the two years our feed provides; the same eight on daily bars over 25 years; and the two largest crypto perpetuals on hourly bars over the ~7 months the server fetch returns. Anyone can reproduce the stock runs on the free tier from the chart's condition tab — one indicator, two conditions.

Results — 18 runs.

RunTradesWin rateMax DDStrategy returnBuy & holdVerdict flagCost panelBreak-even cost
AAPL · 1h · 2024–20266259.7%22.09%−19.13%+53.59%UNDERPERFORMS_HOLD · Read with cautionDies at realistic costs— (loses at 0)
SPY · 1h · 2024–20266371.4%7.59%+14.13%+33.24%UNDERPERFORMS_HOLD · Read with cautionThin margin over costs10.5 bps
QQQ · 1h · 2024–20266470.3%10.24%+2.71%+63.16%UNDERPERFORMS_HOLD · Read with cautionDies at realistic costs2.1 bps
NVDA · 1h · 2024–20266966.7%18.26%+27.55%+81.66%UNDERPERFORMS_HOLD · Read with cautionThin margin over costs17.6 bps
MSFT · 1h · 2024–20266969.6%13.60%+6.71%+12.03%UNDERPERFORMS_HOLD · Read with cautionDies at realistic costs4.7 bps
AMZN · 1h · 2024–20266971.0%17.17%+24.25%+30.35%UNDERPERFORMS_HOLD · Read with cautionThin margin over costs15.8 bps
JPM · 1h · 2024–20266180.3%19.96%+40.28%+67.07%UNDERPERFORMS_HOLD · Read with cautionSurvives realistic costs27.8 bps
XOM · 1h · 2024–20265860.3%10.87%+10.29%+43.40%UNDERPERFORMS_HOLD · Read with cautionDies at realistic costs8.4 bps
AAPL · 1d · 2001–202611663.8%37.90%+349.64%+112,696.60%UNDERPERFORMS_HOLD · Read with cautionSurvives realistic costs65.1 bps
SPY · 1d · 2001–202613674.3%28.73%+160.42%+652.13%UNDERPERFORMS_HOLD · Read with cautionSurvives realistic costs35.3 bps
QQQ · 1d · 2001–202612471.0%33.21%+70.24%+2,279.40%UNDERPERFORMS_HOLD · Read with cautionThin margin over costs21.5 bps
NVDA · 1d · 2001–202613155.7%71.87%+227.53%+84,768.00%UNDERPERFORMS_HOLD · SEVERE_DRAWDOWN · Likely unreliableSurvives realistic costs45.3 bps
MSFT · 1d · 2001–202611466.7%36.32%+282.09%+1,811.63%UNDERPERFORMS_HOLD · Read with cautionSurvives realistic costs59.0 bps
AMZN · 1d · 2001–202612161.2%43.16%+227.12%+66,500.54%UNDERPERFORMS_HOLD · HIGH_DRAWDOWN · Read with cautionSurvives realistic costs49.0 bps
JPM · 1d · 2001–202614165.2%38.66%+201.28%+981.92%UNDERPERFORMS_HOLD · Read with cautionSurvives realistic costs39.2 bps
XOM · 1d · 2001–202613367.7%52.19%+94.18%+372.17%UNDERPERFORMS_HOLD · HIGH_DRAWDOWN · Read with cautionThin margin over costs25.0 bps
BTC/USDT · 1h · Feb–Sep 20269461.7%23.20%−14.54%+12.23%UNDERPERFORMS_HOLD · Read with cautionDies at realistic costs— (loses at 0)
ETH/USDT · 1h · Feb–Sep 20268966.3%23.67%−6.29%+23.79%UNDERPERFORMS_HOLD · Read with cautionDies at realistic costs— (loses at 0)

All 18 carry the tool's UNDERPERFORMS_HOLD and NO_COSTS flags; AMZN and XOM on daily bars also carry HIGH_DRAWDOWN, and NVDA on daily bars carries SEVERE_DRAWDOWN — the only run of the 18 whose verdict headline is Likely unreliable rather than Read with caution. None carries a sample-size flag. Six runs ended with a position still open at the last bar; the tool shows that leg separately and it is not in the return (SPY 1h (+0.37%), QQQ 1h (+0.40%), AMZN 1h (-1.46%), SPY 1d (+0.00%), AMZN 1d (-0.99%), JPM 1d (+0.00%)).

The tool's own words.

  • AAPL 1h: “Underperforms buy & hold by 72.72% — it lost to doing nothing (hold: 53.59%).” · “Dies at realistic costs — Rebuilt from this run's own trades with commission stripped, it still compounds to a loss (−19.13%) — no fee level can make it profitable.”
  • JPM 1h: “Survives realistic costs — Profit holds up to 27.8 bps of round-trip cost.”
  • SPY 1d: “Underperforms buy & hold by 491.7% — it lost to doing nothing (hold: 652.13%).”
  • NVDA 1d: “Max drawdown 71.87% — likely un-survivable in live trading.”
  • BTC/USDT 1h: “Underperforms buy & hold by 26.77% — it lost to doing nothing (hold: 12.23%).”
  • Every page: “No trading costs modeled — real fills will be worse.”

Our reading (not the tool's).

  1. The rule does what the textbook says, and it is not enough. Win rates of 55.7–80.3% — the highest of any teardown so far — and 15 of 18 runs profitable before costs. Mean reversion "works" in the sense that most dips below the band do come back to the average. It still loses to holding on all 18, because the rule is in cash for most of every uptrend: it only buys after a sharp drop and sells as soon as price is back at the mean.
  2. Hourly bars: the profit is real and the fee eats it. On two years of hourly bars, 7 of 8 names are positive (-19.1% to +40.3% against +12.0% to +81.7% for holding), but the cost panel kills 4 of them at a 10 bps round trip (AAPL, QQQ, MSFT, XOM), leaves 3 on a thin margin (SPY, NVDA, AMZN) and clears only JPM. AAPL loses even before costs. Sixty-odd small wins a name, and each one is a fee-sized win.
  3. Daily bars: it survives costs, and the missing stop shows. On 25 years of daily bars all 8 names are positive and 6 of 8 survive realistic costs (break-even 21.5–65.1 bps; QQQ and XOM are on a thin margin). The price is the drawdown: 28.7% to 71.9% with no stop, because "below the lower band" in 2008 or March 2020 is not the bottom, it is the start. NVDA's 71.9% is the tool's first SEVERE_DRAWDOWN flag in this series.
  4. Crypto is the harshest test again. On BTC and ETH the rule loses outright before any cost (-14.5% and -6.3% against +12.2% and +23.8% for holding) while still winning 61.7% and 66.3% of its trades — the losers are the few dips that kept going.
  5. Paired with teardown #2. The golden cross (trend) survived costs on 8 of 8 daily runs and lost to holding on 7; the lower-band buy (mean reversion) survives costs on 6 of 8 daily runs and loses to holding on 8. Two opposite textbook rules, one shared result: on these names and these 25 years, neither beat doing nothing.

Honest limits. Hourly stock history is capped at two years by our feed (QQQ's hourly window happens to reach back to August 2024 because our cache holds more of it; the other seven start 2024-09-17), crypto at 5,000 bars by the server fetch; the 25-year daily runs are one regime sequence; long-only; entries and exits fill at the close of the bar that triggers them; no slippage or taxes; the six runs that ended in an open position show that leg separately and it is not in the return. A stop-loss would change the drawdown numbers and the win rates together — this is the rule as written, not the best version of it.

Receipts

18 share pages, open without an account (each shows the tested window, bar count, verdict and cost panel):

Simulated results on historical data — research output, not financial advice. Past performance does not guarantee future results.

More teardowns

All published strategies