COMBO-01 · Volatility

Bollinger-Keltner Squeeze

When Bollinger Bands contract inside Keltner Channel, volatility is compressed (squeeze). When squeeze releases, trade in direction of momentum. Captures explosive moves.

VolatilityBreakoutTechnical

At a glance

Best onMarkets with volatility clustering
Signal frequencyDaily
Typical holding periodDays
Asset classesIndex, Commodity, FX
Markets tested10
Data through2026-11-10

What the backtest shows

  • Beat buy-and-hold on 2 of 10 markets by annual return over 5 years.
  • Had a smaller maximum drawdown than buy-and-hold on 10 of 10 markets.
  • Best market by Sharpe ratio: GLD (Sharpe 0.90, CAGR 8.0%).
  • Weakest market: UNG (Sharpe -0.40, CAGR -16.3%).

Equity curve

0.542.795.057.309.55 201020122014201620182020202220242026
Bollinger-Keltner Squeeze Buy & hold · SPY, 2010-01-04 → 2026-11-10, growth of 1

Score and risk profile

Arena Score: 22.1SPY, 5 years
Return quality · 30%7
Drawdown control · 25%28
Consistency · 20%18
Robustness · 15%28
Significance · 10%52

Each bar is a percentile against every strategy on the same market and window (100 = best).

How it held up in sell-offs (SPY)

PeriodStrategyBuy & hold
Q4 2018 sell-off-1.1%-19.2%
COVID crash (Feb–Mar 2020)-1.4%-33.7%
2022 bear market-5.1%-24.5%
Market above its 200-day average (annualized) · 81%+0.5%+12.5%
Market below its 200-day average (annualized) · 19%+1.0%+19.8%

Sell-off dates follow the US stock market. Above/below the 200-day average uses the previous day's position, so there is no look-ahead.

Out-of-sample check (SPY)

CheckValue
Chosen parameters on their 3-year training windows (average Sharpe)0.50
Same parameters in the following 6 months, when traded (Sharpe)0.13
Default parameters over the same months (Sharpe)0.27
Parameter re-selections / changes28 / 11
Parameter settings with a positive Sharpe (full history)7 of 9
Sharpe across settings: worst / median / best-0.23 / 0.08 / 0.35

Out-of-sample periods start on 2013-01-04. Training-window figures are flattered by picking the best of 9 settings; the out-of-sample figure is what the strategy actually earned. A large drop, or a result that depends on one setting, points to overfitting. How walk-forward testing works.

Results by market (5 years)

MarketCAGRBuy & hold CAGRSharpeMax drawdownBuy & hold max DDVolatilityArena Score
GLDSPDR Gold Shares8.0%16.4%0.90-9.6%-28.3%9.3%64
DBAInvesco DB Agriculture2.7%8.8%0.45-9.2%-15.9%6.2%59
SLViShares Silver Trust2.4%15.2%0.22-25.3%-57.8%16.9%41
DBCInvesco DB Commodity Index0.8%10.8%0.13-22.7%-27.3%10.3%28
ETH-USDEthereum-2.7%-15.1%0.05-40.3%-79.0%24.9%43
SPYSPDR S&P 500-0.0%11.6%0.03-15.7%-24.5%6.7%22
USOUnited States Oil Fund-1.4%20.2%0.02-30.0%-36.2%18.7%32
BTC-USDBitcoin-5.8%2.6%-0.15-41.6%-75.9%17.4%21
EURUSD=XEUR/USD-0.9%-0.7%-0.22-10.8%-17.2%3.8%30
UNGUnited States Natural Gas-16.3%-30.7%-0.40-66.9%-93.3%31.8%33

Strategy metrics use daily returns without trading costs. Buy-and-hold figures are for the same market and window. Rows are sorted by Sharpe ratio.

SPY across time windows

WindowTotal returnCAGRSharpeSortinoMax DDWin daysTrades
1 year+5.3%5.3%0.960.87-3.3%9%14
3 years+6.4%2.1%0.490.35-8.3%14%51
5 years-0.2%-0.0%0.030.02-15.7%13%88
Full history+10.3%0.6%0.130.08-18.3%13%260

Rules

Entry

Squeeze releases (BB outside KC)
Buy if momentum positive, sell if negative

Exit

Opposite signal or momentum fades

Indicators

Bollinger Bands = SMA ± 2*StdDev
Keltner Channel = EMA ± 1.5*ATR
Squeeze = BB inside KC
Momentum = Price - Average(High+Low+Close)/3

Inputs

BB_Period = 20
BB_Std = 2.0
KC_Period = 20
KC_Mult = 1.5

Position sizing

Fixed 100% allocation

Risk controls

Wait for confirmed squeeze release

Strategy evidence

Only available, validated bundles appear below. Missing evidence is not a passing validation result.

Evidence coverage

10 / 10 declared strategy–market pairs validated

Notes

  • John Carter's TTM Squeeze concept
  • Low volatility precedes high volatility
  • Squeeze duration indicates potential move size

Related strategies

Embed this score

Add the live badge to a blog post, README or forum signature. It updates with the daily data.

<a href="https://quantarenas.com/strategy/combo-01-bollinger-keltner-squeeze/"><img src="https://quantarenas.com/badge/combo-01-bollinger-keltner-squeeze.svg" alt="Bollinger-Keltner Squeeze Arena Score on Quant Arena" height="20"></a>
[![Bollinger-Keltner Squeeze Arena Score](https://quantarenas.com/badge/combo-01-bollinger-keltner-squeeze.svg)](https://quantarenas.com/strategy/combo-01-bollinger-keltner-squeeze/)

Backtests are historical simulations on daily data and do not include commissions or slippage. They do not guarantee future results and are not investment advice. See the methodology for how every strategy is tested.

Get the weekly Arena report

One email a week: ranking changes, new signals and new research. No spam; unsubscribe any time.