Bollinger Bands (20/2σ)
Price spends 95% of the time inside the bands, so touching them means being statistically cheap or dear. The band adjusts itself to volatility — widening in an agitated market and narrowing in a calm one — which avoids the false signal a fixed threshold gives when volatility changes.
Measured in crypto — Binance spot · 540 pairs, delisted ones included · 0.2% per round trip
- ✓invariance
- ✗costs
- ✗placebo
- ✗benchmark
- ?out of sample
- ✓multiple testing
What was measured
How many of those trades actually count
What it paid, before any deductions
Why it did not pass — it died here · the broker's fee
What this result does NOT say
- One market, one universe
- Measured on 106 spot cryptocurrency pairs, delisted ones included. It says nothing about futures, equities or indices, nor about how the same technique behaves in another market.
- One window of time, not every window
- The measured period runs from 2017-08-17 to 2026-07-28. A market moves through regimes, and a technique can work in one and fail in another — the card measures the regimes that fit inside this window, not the ones still to come.
- One cost structure
- The cost charged is 0.10% per leg, in and out. Anyone paying more than that gets a worse result, and anyone paying less gets a better one — the verdict holds for this fee.
- One exit rule
- The trade was closed by: the technique itself (held until the opposite signal). The same entry measured with a different exit is a different strategy, and can earn a different verdict — it happens in this archive.
- The number of trades is not the sample size
- There are 2,892 trades, but only 83 independent market episodes: a single move fires the technique across dozens of assets at once, and counting those as separate observations inflates any result. It is the smaller number that governs the arithmetic. With 83 episodes, what the data supports is a range from -12.81% to +3.64% per trade — the published average is the centre of it, not the exact measurement.
- Daily bars
- Measured at the daily close. Nothing here measures what happens inside the day, and an intraday technique is not auditable with this data.
Numbers and reproducibility
The six controls
| control | status | t | threshold | episodes |
|---|---|---|---|---|
| invariance | passed | — | — | — |
| costs | failed | -1.16 | 1.99 | 83 |
| placebo | failed | -1.01 | 1.99 | 83 |
| benchmark | failed | — | — | — |
| out of sample | inconclusive | — | — | — |
| multiple testing | passed | — | — | — |
- invariance2892 signals across 140496 bars
- costsgross -4.590% · cost 0.200% · net -4.790% (t=-1.16)
- placeboactual -4.790% · placebo -0.580% · excess -4.210% ± 4.177% (t=-1.01 against a threshold of 1.99, 83 real groups, 144,600 sham dates)
- benchmarktechnique -4.79% · buy and hold (same horizon) +2.18% · excess -6.97%
- out of sampleasset half A: -4.367% (t=-0.74, 79 groups) · asset half B: -5.169% (t=-1.25, 79 groups) · earlier period: -10.163% (t=-1.77, 57 groups) · recent period: +0.629% (t=0.23, 27 groups)
- multiple testing1 variation(s) tested · t=-1.16 across 83 episodes (equivalent to t=-1.14) · p≈0.2537 · false positives expected by chance ≈ 0.25
Reproducibility
- period
- 2017-08-17 to 2026-07-28
- assets that traded
- 106
- variations tested before this one
- 1
- gross per trade
- −4.59%
- net per trade
- −4.79%
- exit rule
- the technique itself (held until the opposite signal)
- median duration bars
- 38
- mean duration bars
- 45.8
- max duration bars
- 240
- fee per leg
- 0.001
- episode days
- 38
- band period
- 20
- deviations
- 2.0
Binance spot klines (delisted pairs included) · collected from 2026-07-27 23:31 to 2026-07-27 23:31 · 106 assets · 140,496 bars · 2017-08-17 to 2026-07-28
Seed not recorded: audits before 2026-07-29 used 20260728 by convention in the code, and the value is not in the record.
Hypothesis, filed before the result
Bollinger Bands are the RSI with a moving threshold, and the specific promise is that adapting to volatility avoids the false signal of a fixed threshold. Specific, falsifiable prediction: the moving band does NOT change the verdict relative to the RSI — because the RSI's problem was never the threshold, it was that there is no reversal left to capture after costs. I expect, as with the RSI, a gross edge close to zero and a loss to buy and hold.
the filing date is not in this audit's record
The original, as it was filed
Bandas de Bollinger são o RSI com limiar móvel, e a promessa específica é que a adaptação à volatilidade evita o sinal falso do limiar fixo. Previsão específica e falsificável: a banda móvel NÃO muda o veredito em relação ao RSI — porque o problema do RSI não era o limiar, era não haver reversão a capturar depois do custo. Espero, como no RSI, vantagem bruta próxima de zero e derrota para comprar e segurar.
Pre-registration exists to keep prediction apart from rationalisation: written after the number, every hypothesis is right.
Earlier audits of the same technique
Each variation an author teaches enters as its own test, so that whatever might work in the strategy gets covered. The verdict held in all of them.