Do Bollinger Band squeezes predict profitable breakouts?
Across 161 of 220 tickers between 2015-01-01 and 2024-12-31, average return was 0.17%, average max drawdown -4.37%.
A thin edge: +0.17% mean return across 161 tickers, with -4.37% average drawdown — gentle on risk, but the edge is too small to act on alone.
What we tested
We want to catch breakouts that come out of low volatility consolidations, the so called Bollinger Band squeeze. Compute 20 day Bollinger Bands with two standard deviations. Define the band width as the upper band minus the lower band, divided by the middle band. The market is "in a squeeze" today when this band width is below the 10th percentile of its values over the previous 120 trading days. Enter long the next open after a day where the market is in a squeeze and the close finishes above the upper Bollinger band. On entry, place a protective stop 1.2 ATR below the entry price using the 14 period ATR. Size the position so a stop-out loses exactly 1 percent of account equity. Round down to a whole number of shares. Take profit at 2R. If the close drops back below the 20 day moving average before the target or stop is hit, exit at the next open. If the position has been held for 30 trading days without resolving, exit at the next open as well. Long only. One open position per ticker at a time. No leverage and no pyramiding.
- Window
- 2015-01-01 → 2024-12-31
- Universe
- 220 tickers
- Ranking metric
- return_pct

Overall results
Aggregated across 161 runsEqual-weighted mean of total return across symbols that completed. · 3 codegen refinements on pilot
Unweighted mean across successful runs.
161 completed · 59 failed
Mean of worst peak-to-trough per symbol.
Aggregate gross profit ÷ gross loss.
Summed over successful symbols.
Return distribution
How the 161 tickers split up across return_pct buckets. Reads left to right from worst to best.
- ≤ -10%1 (0.6%)
- -10% to -5%18 (11.2%)
- -5% to -1%46 (28.6%)
- −1% to +1%34 (21.1%)
- +1% to +5%41 (25.5%)
- +5% to +10%17 (10.6%)
- > +10%4 (2.5%)
By sector
Top and flop names per GICS sector, ranked by return_pct.
Communication Services
16 / 20 completed- LYV9.12%
- META7.85%
- DIS2.62%
- CHTR1.56%
- PINS0.78%
- OMC-9.02%
- TTWO-6.22%
- EA-5.66%
- VZ-2.71%
- CMCSA-2.66%
Consumer Discretionary
15 / 20 completed- BKNG6.62%
- HD5.80%
- SBUX4.88%
- ULTA3.93%
- F2.85%
- LOW-9.30%
- AMZN-4.75%
- TJX-4.16%
- MAR-1.22%
- ORLY-1.15%
Consumer Staples
13 / 20 completed- COST9.80%
- KR4.72%
- PEP2.85%
- STZ2.11%
- KMB1.68%
- WMT-5.67%
- MDLZ-3.15%
- EL-0.14%
- PM-0.14%
- GIS0.02%
Energy
13 / 20 completed- VLO5.26%
- BKR4.15%
- MPC3.44%
- CVX3.24%
- WMB3.19%
- DVN-6.71%
- COP-6.19%
- HAL-5.13%
- SLB-3.62%
- EOG-1.79%
Financials
15 / 20 completed- SPGI6.77%
- MS4.11%
- AON1.41%
- JPM1.38%
- SCHW0.97%
- USB-6.96%
- WFC-6.64%
- ICE-5.48%
- TFC-4.72%
- CME-3.10%
Health Care
14 / 20 completed- MDT10.91%
- UNH4.09%
- LLY2.84%
- SYK2.64%
- ABT2.46%
- REGN-6.58%
- CVS-5.30%
- JNJ-2.66%
- PFE-2.41%
- GILD-2.37%
Industrials
15 / 20 completed- DE7.61%
- UNP2.97%
- NSC2.42%
- GD1.40%
- EMR0.56%
- UPS-4.76%
- HON-4.66%
- ITW-2.97%
- FDX-2.76%
- ROK-2.31%
Information Technology
11 / 20 completed- NOW10.58%
- CRM8.67%
- ADBE7.41%
- AMD5.83%
- MSFT3.25%
- AVGO-5.30%
- INTC-4.93%
- QCOM-4.06%
- TXN-3.16%
- ACN1.58%
Materials
16 / 20 completed- FCX7.03%
- APD6.47%
- CF6.28%
- LYB4.92%
- CTVA3.58%
- PPG-11.34%
- DD-5.89%
- ECL-4.24%
- EMN-3.81%
- LIN-3.66%
Real Estate
17 / 20 completed- DLR12.36%
- EXR8.68%
- AMT5.84%
- PSA2.49%
- INVH1.51%
- ESS-8.98%
- EQIX-6.28%
- AVB-5.33%
- WELL-3.67%
- UDR-3.11%
Utilities
16 / 20 completed- AEP10.78%
- SRE5.17%
- ATO3.80%
- EXC3.36%
- AEE3.15%
- ES-3.95%
- PCG-3.61%
- SO-2.74%
- DTE-1.74%
- D-1.35%
Disclaimer
Past performance does not predict future results. This is a backtest over a fixed historical window and it does not model execution costs, borrowing, taxes, or survivorship of the universe. Nothing here is investment advice.
Generated Apr 23, 2026 · slug bollinger-squeeze-breakout