STEADYTRADE
Strategy backtests · past-window simulation, not investment advice

Bollinger Reversion

Buy the lower band, sell back at the mean. A range trade with an ugly tail risk.

What it is

Reference — Glowwiki: Bollinger Bands
The definitions and formulas below follow that article. It states its own limit plainly:
“Whether this produces profit is not addressed in that article.”
That is the question this page answers.

Note from the reference: The reference carries two mutually contradictory readings of the same line — buy a touch of the lower band (mean reversion) and buy a break above the upper band (breakout) — and does not choose between them. This page implements the mean-reversion reading. It also cites Lento et al. (2007), covering ten years from 1995 across several markets, which found no evidence of consistent performance over buy and hold.

Formulas

Bands
basis = SMAₙ ; upper/lower = basis ± k·σₙ
Defaults are n = 20 and k = 2
Standard deviation
σ = √( Σ(xᵢ − x̄)² / n )
Divisor is n — the population form. Not n − 1.

Established

These rest on a single line of sourcing. The Glowwiki reference article draws on the same encyclopaedia cited here, so two domains do not make two independent accounts. Nothing below has been checked against a second, separately grounded source. It is listed as established because the sources state it as definition rather than as finding — not because it has been cross-verified.

Conventional reading

Listed as convention, not as established fact.

Why your chart may not match This site divides by n when computing the standard deviation, which is what the original method specifies. Some charting platforms divide by n − 1 instead. With a 20-period window that makes the bands about 2.6% narrower here than on a platform using the sample form — enough to change when a touch of the lower band registers, and therefore enough to change the trades below.

Sources

  1. 기술적 분석 — Glowwiki (ko)
  2. Technical analysis — Wikipedia (en)
  3. Bollinger Bands — Wikipedia (en)

The short answer

Beat buy & hold in none of the 3 markets tested.

Gold (PAXG) -123% · BTC/USDT -575%. A rule that wins in one market and loses in another did not find an edge; it found a rising asset. Each figure is measured only against buying and holding that same market over that same period.

MarketReturnBuy & holdvs B&HBeat itMax DDUnderwaterGrid beat
BTC/USDT -46% 530% -575% no 71% 3118d 0%
ETH/USDT -53% 276% -329% no 80% 3141d 0%
Gold (PAXG) -4% 119% -123% no 17% 2039d 0%

All figures on this page are from daily candles unless a row says otherwise.

Evidence

Everything below is the same rules run over real price history. Pick a market to see the fills, the equity path and the parameter grid for it.

Daily candlesBTC/USDT · 3188 bars · 2018-01-01 → 2026-09-23
Total return
-45.6%
10,000 → 5,443
vs buy & hold
-575.5%
over the same period 529.9%
Max drawdown
71.1%
10,000 → 3,327
Longest underwater
3118
3118 days · 99% of the period
Settings that beat it
0 / 16
of 16 parameter settings tested
Win rate
63%
95% CI 49%–75% · n=51
The win rate on this page is not a readable number. With 51 closed trades the 95% confidence interval runs 49%–75% — it spans a coin flip, so the headline 63% cannot be distinguished from chance at this sample size. It is shown because leaving it out would be worse, not because it supports a conclusion.
A 0% risk of ruin here is a property of the test, not a safety rating. These runs are long-only spot with no borrowed money, so there is no margin call and nothing can force the position closed. The account cannot be wiped out — it gets stuck holding the asset instead. Capital deployed (1×) and max drawdown (71.1%) are the numbers that carry the risk on this page. The same rules run on margin would be a different measurement, and this figure would not stay at zero.
Daily candles
account equitybuy & holddashed = starting capital

102 fills. Signals are taken on the close and filled at the next open.

Timeframe

Everything above uses the daily row. These are the same rules and the same parameters on a different candle size.

TimeframeReturnBuy & holdvs B&HBeat itTrades
4H -90%524% -614% no179
1D ← -46%530% -575% no51
1W 70%524% -454% no7

Outcome distribution

A single return is one chosen start date. These are 95 runs of the same rules with the start shifted forward 30 days at a time.

Worstp10p25Medianp75p90BestLosing starts
-44.3%-34.7%-25.3% 3.5%15.7% 32.1%53.3%47%

Does it survive its own parameters?

The headline above uses one parameter setting. Here is every setting tested: 16 combinations, median -17.3%, best 31.4%, worst -45.6%. 0 of them beat buy & hold.

A strategy that only works at one setting did not work — it was fitted.

Parameter grid

Bollinger Reversion run across its own parameter range over the full period. The same rules flip from profit to loss depending only on the numbers you picked — which is why a single headline return is meaningless on its own.

length 10length 20length 30length 50
mult 1.5-22%-33%-30%-31%
mult 2-36%-46%-8%-2%
mult 2.516%31%27%-17%
mult 30%26%-14%-27%

Hover a cell for trade count and drawdown. “·” = invalid combination (fast ≥ slow).

Year by year

Year201820192020202120222023202420252026
Return-42%11%-21%18%-28%44%16%16%-23%
Max DD55%24%49%26%45%10%20%20%30%
Trades763666593
Recent closed trades 51 closed trades — showing the last 40
EnteredEntry ExitedExitHeld SizeP&L (USDT)Return
2026-06-26 59,824.54 2026-07-04 62,551.97 8 bars 5,215.89 +226.9 +4.3%
2026-05-23 75,577.27 2026-06-21 64,265.86 29 bars 6,146.22 -930.33 -15.1%
2026-02-01 78,780.47 2026-03-03 68,795.64 30 bars 7,052.35 -906.14 -12.8%
2025-12-16 86,475.3 2025-12-31 88,441.26 15 bars 6,909.39 +142.96 +2.1%
2025-11-05 101,547.98 2025-12-03 91,232.24 28 bars 7,706.04 -796.65 -10.3%
2025-09-26 109,048.99 2025-09-30 114,254.81 4 bars 7,369.65 +336.39 +4.6%
2025-08-26 110,167.04 2025-09-09 112,009.2 14 bars 7,262.96 +106.69 +1.5%
2025-08-01 115,821.95 2025-08-08 117,413.28 7 bars 7,178.87 +84.09 +1.2%
2025-06-06 101,559.44 2025-06-10 110,207.89 4 bars 6,628.76 +550.11 +8.3%
2025-04-07 78,469.21 2025-04-12 83,382.12 5 bars 6,250.68 +378.08 +6.0%
2025-02-25 91,598.66 2025-03-03 94,222.86 6 bars 6,088.75 +161.92 +2.7%
2025-02-05 97,812.02 2025-02-21 98,255.86 16 bars 6,073.39 +15.37 +0.3%
2024-09-07 53,989.95 2024-09-14 60,467.74 7 bars 5,433.61 +639.77 +11.8%
2024-08-03 61,529.09 2024-08-22 61,125.45 19 bars 5,480.44 -46.83 -0.9%
2024-06-15 66,077.01 2024-07-15 60,767.51 30 bars 5,971.22 -490.78 -8.2%
2024-05-02 58,394.15 2024-05-05 63,860.08 3 bars 5,471.06 +500.16 +9.1%
2024-04-14 63,956.48 2024-04-23 66,785.91 9 bars 5,249.77 +221.3 +4.2%
2023-08-17 28,744.88 2023-08-30 27,702.48 13 bars 5,458.21 -208.44 -3.8%
2023-07-25 29,191.09 2023-08-09 29,755.52 15 bars 5,365.39 +92.82 +1.7%
2023-06-15 25,141.16 2023-06-20 26,830.93 5 bars 5,037.56 +327.84 +6.5%
2023-06-06 25,741.06 2023-06-07 27,216.45 1 bars 4,774.01 +263.54 +5.5%
2023-03-10 20,372.39 2023-03-14 24,100.21 4 bars 4,043.65 +730.37 +18.1%
2023-02-10 21,808.73 2023-02-16 24,310.71 6 bars 3,634.75 +408.9 +11.3%
2022-11-09 18,554.65 2022-12-01 17,156.95 22 bars 3,938.73 -303.98 -7.7%
2022-08-20 20,844.81 2022-09-10 21,350.94 21 bars 3,853.06 +85.67 +2.2%
2022-06-13 26,587.82 2022-07-07 20,554.23 24 bars 4,994.08 -1,141.02 -22.9%
2022-05-06 36,571.25 2022-05-31 31,718.36 25 bars 5,769.7 -775.62 -13.4%
2022-04-12 39,550.22 2022-05-05 39,670.15 23 bars 5,763.77 +5.93 +0.1%
2022-01-06 43,472.87 2022-02-05 41,550.91 30 bars 6,042.45 -278.68 -4.6%
2021-11-19 56,920.07 2021-12-24 50,813.4 35 bars 6,782.17 -739.72 -10.9%
2021-09-22 40,754.46 2021-10-02 48,117.53 10 bars 5,755.84 +1,026.33 +17.8%
2021-07-17 31,399.55 2021-07-24 33,617.28 7 bars 5,386.89 +368.95 +6.9%
2021-06-22 31,629.93 2021-06-30 35,893.76 8 bars 4,756.48 +630.41 +13.3%
2021-05-16 46,786.37 2021-06-04 39,227.16 19 bars 5,684.43 -927.95 -16.3%
2021-04-23 51,716.8 2021-05-01 57,668.4 8 bars 5,107.98 +576.45 +11.3%
2020-09-04 10,143.36 2020-09-16 10,779.84 12 bars 4,816.01 +291.97 +6.1%
2020-08-26 11,324.08 2020-08-31 11,705.31 5 bars 4,668.49 +147.53 +3.2%
2020-02-26 9,321.14 2020-03-25 6,741.32 28 bars 6,467.98 -1,799.5 -27.8%
2019-12-17 6,894.89 2019-12-23 7,496.96 6 bars 5,960.45 +507.53 +8.5%
2019-11-16 8,475.86 2019-12-08 7,483.57 22 bars 6,764.3 -803.85 -11.9%

Prices include slippage; size is what was actually committed to that trade including fees.

Assumptions

Period2018-01-01 → 2026-09-23
Parameters{"length":20,"mult":2}
Rolling test365 bars × 95 start dates
Input hashb5ed9e20a715a0ef

Other strategies

Buy & HoldMartingaleGridDCAMA CrossEMA CrossRSI ReversionMACD CrossDonchian BreakoutSupertrendStochastic CrossParabolic SAR