Arte SheetsLearn. Try. Understand.

Quantitative Finance & Trading

Bollinger Bands Formula: Upper/Lower Envelope, %B Position & Squeeze Bandwidth

Calculate John Bollinger’s adaptive volatility envelope (SMA +- k*sigma), normalized %B position oscillator (Close - Lower)/(Upper - Lower), and relative Bandwidth %.

Normalize price location and volatility compression with %B and Bandwidth!

John Bollinger’s volatility bands center an N-period Simple Moving Average Middle = SMA_N (typically N = 20) inside Upper = Middle + k * sigma and Lower = Middle - k * sigma (typically k = 2). Two companion indicators make Bollinger Bands systematically comparable across hundreds of tickers:

(1) %B = (Close - Lower) / (Upper - Lower), which equals 0.00 at the lower band, 0.50 at the middle SMA, 1.00 at the upper band, and > 1.00 on upper-band breakouts; and (2) Bandwidth (%) = 100 * (Upper - Lower) / Middle = 100 * (2 * k * sigma) / Middle, whose 6-month lows identify low-volatility "Bollinger Squeezes" preceding sharp range expansions!

Price Scenario (SMA = 100, sigma = 5, k = 2 -> [90, 110])Bollinger %BBandwidth (%)Regime Interpretation
Close = 108 (Near Upper 110)0.900020.00%Upper quartile strength (90% of band span)
Close = 114 (Above Upper 110)1.200020.00%Active upper-band breakout (> 1.00)
Close = 88 (Below Lower 90)-0.100020.00%Lower-band excursion (< 0.00)

Bollinger %B Relative Band Position Oscillator

Evaluates (Close - Lower) / (Upper - Lower) where Lower = B3 - B5*B4 and Upper - Lower = 2*B5*B4.

=IF(OR(B3 <= 0, B4 <= 0, B5 <= 0), "Requires Positive SMA, Sigma, and Multiplier k", ROUND((B2 - (B3 - B5 * B4)) / (2 * B5 * B4), 4))

Bollinger Bandwidth (%) Volatility Width Ratio

Expresses total envelope span 2 * k * sigma as a percentage of the middle moving average B3.

=IF(B3 <= 0, 0, ROUND(100 * (2 * B5 * B4) / B3, 2))

Try the example

Use the original values or change them to test your understanding.

Further reading