Search for a comparison of band indicators and you find the same article a dozen times. Keltner Channels are smoother and suit trends; Bollinger Bands® react faster and suit reversals. Pick whichever matches your style. It commits to nothing, because “suits trends” is not a claim anybody can check.
There is a version of the question that can be checked. Every band draws a boundary and implies price usually stays inside it, so you can put a number on it: over a long stretch of history, how often did the next close actually land inside? That is the containment test, and it is the only comparison in our working paper — every construction below scored on the same data, under the same causal rule, using only information available before the bar being judged.
Here is what came back. Some of it went our way. Two results did not, and those are the interesting ones.
The band our own construction most resembles has a post of its own; the useful part here is a diagnostic. A reasonable objection to any gap between the two is that it is only a lookback difference, since the canonical price-space band uses 20 bars and ours uses 60. So we re-ran our own construction at the 20-bar window: it contained 68.71% of next closes at the inner band and 92.72% at the outer, only a few points below its own 60-bar figures. Historically measured, and past behavior is not a guarantee of future results — but shortening the window cost our construction very little, so the lookback was not carrying the difference.
Something else was. The next test isolated it.
A price-space band makes two choices: what it centers on, and what it measures width with. Bollinger centers on a simple moving average of price and takes width from the standard deviation of price; Keltner centers on an exponential moving average and takes width from Average True Range. So we crossed both choices at a fixed 60-bar window on S&P 500 daily data and scored all four combinations, which brings Keltner in as the fully-modified comparator. Inner and outer close-containment:
SMA centering + price-SD width (the Bollinger construction) — 39.85% / 85.18%
EMA centering + price-SD width — 45.08% / 88.04%
SMA centering + ATR width — 21.16% / 41.52%
EMA centering + ATR width (the Keltner construction) — 22.66% / 44.67%
Return-space band (reference) — 70.92% / 93.84%
S&P 500 daily, scored as a one-step prediction interval. These are constructions at a matched window, not any indicator at its own defaults; the ATR rows need genuine intraday range, so that sample starts mid-1982. Historical; past behavior is not a guarantee of future results.
Swapping the center from SMA to EMA recovered about 5 points at the inner band — real, but small. Swapping the width basis from price standard deviation to ATR cost 19 to 22 points at the inner band and about 43 at the outer, because an ATR multiplier in its own units targets a level far below the one a standard-deviation multiplier targets. Centering is the minor problem; the width basis is the major one.
One caveat matters, and we would rather state it than let the numbers imply more than they show. Keltner Channels were never designed as a one-step prediction interval, so scoring them as one asks a question their construction was not built to answer. Scored instead on the same-bar basis chartists actually plot — bar t judged against a band whose window includes bar t — Keltner at its practitioner default sat 16.9 points below its own nominal level, a far smaller gap than the matched-window row above. Different question, different answer, both published. So the factorial establishes something narrower than “Keltner is worse”: among the price-space constructions we tested, none behaved like a calibrated return-space prediction interval, and the width basis is where most of the difference lives. The mechanism behind the price-space part is covered in the drift problem.
Here is the first result that went against expectation. A close-to-close standard deviation never sees the high or the low; range-based variance estimators do, and they are several times more efficient at estimating a single bar’s realized variance. Rebuilding the band on one of those should, on paper, have improved it.
We rebuilt it three ways, on 40 instruments across five asset classes, swapping in the Parkinson, Garman–Klass and Rogers–Satchell estimators in turn. All three landed near 64.6–64.8% at the inner band — roughly seven points below the plain close-to-close construction on the same universe — and, more damaging, their spread across assets was more than three times wider (a cross-asset standard deviation around 7 points versus about 2). These are historical measurements; past behavior is not a guarantee of future results. Better at estimating one bar’s variance turned out not to mean better at calibrating a band across many markets. That row stayed in the paper.
Sophistication did not rescue it from the other direction either: holding the construction fixed and varying only the variance estimator, a plain rolling standard deviation, RiskMetrics® EWMA and a fitted GARCH(1,1) came out statistically indistinguishable on the average calibration task — the only comparison we ran, and the only one we claim.
The second uncomfortable result is the one we think matters most. Is a band’s coverage record an achievement of its formula, or does it come free with any causal return-space envelope? One comparator answers that: a rank band, which sets its edge at an order statistic of recent moves rather than a multiple of a standard deviation. Nonparametric, with a distribution-free coverage reference — the honest null model.
It tied. Across the same universe and at every coverage target tested, the rank band sat essentially on its own reference, and sharpness was a wash: the two interval scores landed within about 1% of each other. Our decade-by-decade stability result largely transferred to it as well — historically measured, and past behavior is not a guarantee of future results. The conclusion we drew, and printed: approximately stable unconditional coverage looks like a property of causal return-space rolling bands as a class, not a unique property of ours. What our band retained is structural rather than coverage-based — it can target any coverage level at any window length, while a rank band only reaches the levels its order statistics allow, and its edge moves about half as jumpily day to day.
One limit is structural, and in varying degrees it applies to every band built this way, ours included: a band estimated from a rolling window can only widen after new volatility enters that window, so it runs narrow in the first days of a fast move. The rank band shares the mechanism for the same reason — it estimates from the same window. We publish the measured cost for our own band and quote no other, and that failure mode has its own post; it sits on the Proof page rather than buried.
Worth being plain about scope, too: the paper validates the range’s calibration, not the profitability of any way you might use it. Whether any particular use delivers value after real-world costs is an open question, and trading involves risk, including the possible loss of capital.
Four comparisons, and only two of them flattered us. The price-space constructions did not behave like calibrated prediction intervals when scored as ones, and the width basis was most of the reason. The more information-efficient estimator made calibration worse. The sophisticated estimators changed almost nothing on average. And the honest null model matched us on coverage — which makes our real claim narrower than “our band covers better.” It is that the record is measured, published and reproducible, including the rows that argue against us.
That is the standard we would like applied to every band on a chart, ours included: not which one suits your style, but which one has a number attached and a method you can check.
Which band indicator is the best one? Our results don’t support that phrasing. What the tests found is narrower: among the price-space constructions scored, none behaved like a calibrated one-step prediction interval, and a nonparametric rank band matched our own construction on coverage. The defensible standard isn’t “best” — it’s which band has a measured number attached and a method anyone can re-run.
Are Keltner Channels worse than Bollinger Bands®? Not a conclusion we drew. The factorial crossed centering and width choices at a matched 60-bar window, which is not the same as either indicator at its own defaults, and Keltner Channels were never designed as a one-step prediction interval. Scored instead on the same-bar basis chartists actually plot, Keltner at its practitioner default sat far closer to its own nominal level. Different question, different answer — both published.
Does a higher containment rate automatically make a band better? No. Any band contains more closes if it is drawn wider, so coverage on its own is not a quality score. The test asks something stricter: whether realized coverage matched the coverage a band’s own settings imply. Our guide to the containment test covers how to read the number.
Why publish results that argue against your own product? Because a claim nobody can check isn’t evidence. Two of the four comparisons here didn’t flatter us, and both stayed in the paper — the reasoning is set out in why we publish our methodology.
You can watch the band recalculate on your own symbols during a free 30-day trial — $15/month after, cancel anytime. It draws a range and marks when price steps outside it; it does not predict, and it does not issue signals. The evidence is the calibration record, and all of it, misses included, is published.
Oisigma provides descriptive market analytics for educational use. It is not investment advice, does not predict prices, and does not provide buy or sell signals. Statistics referenced are historical and were measured in our working paper (not peer-reviewed); past behavior is not a guarantee of future results. Trading and investing involve substantial risk of loss, including the possible loss of all capital invested. Leveraged products (futures, options, margin) carry additional risk and can result in losses that exceed your initial investment. Bollinger Bands® is a registered trademark of John Bollinger; Oisigma is not affiliated with or endorsed by Mr. Bollinger. RiskMetrics® is a registered trademark of MSCI Inc.; Oisigma is not affiliated with or endorsed by MSCI Inc. Nothing in this article is a recommendation to use any particular strategy. Read the full Disclaimer →
Try it free for 30 days and see the range update as new bars print, on whatever symbols and timeframes you actually trade.
30 days free, then $15/mo. Cancel anytime from your account.
Pick up where you left off.