Bollinger Bands®
get_bollinger_bands(quotes, lookback_periods=20, standard_deviations=2)
Parameters
name  type  notes 

quotes 
Iterable[Quote]  Iterable(such as list or an object having __iter__() ) of the Quote class or its subclass. • Need help with pandas.DataFrame? 
lookback_periods 
int, default 20  Number of periods (N ) for the center line moving average. Must be greater than 1 to calculate; however we suggest a larger period for statistically appropriate sample size. 
standard_deviations 
int, default 2  Width of bands. Standard deviations (D ) from the moving average. Must be greater than 0. 
Historical quotes requirements
You must have at least N
periods of quotes
to cover the warmup periods.
quotes
is an Iterable[Quote]
collection of historical price quotes. It should have a consistent frequency (day, hour, minute, etc). See the Guide for more information.
Returns
BollingerBandsResults[BollingerBandsResult]
 This method returns a time series of all available indicator values for the
quotes
provided. 
BollingerBandsResults
is just a list ofBollingerBandsResult
.  It always returns the same number of elements as there are in the historical quotes.
 It does not return a single incremental indicator value.
 The first
N1
periods will haveNone
values since there’s not enough data to calculate.
BollingerBandsResult
name  type  notes 

date 
datetime  Date 
sma 
float, Optional  Simple moving average (SMA) of Close price (center line) 
upper_band 
float, Optional  Upper line is D standard deviations above the SMA 
lower_band 
float, Optional  Lower line is D standard deviations below the SMA 
percent_b 
float, Optional 
%B is the location within the bands. (Pricelower_band)/(upper_bandlower_band)

z_score 
float, Optional  ZScore of current Close price (number of standard deviations from mean) 
width 
float, Optional  Width as percent of SMA price. (upper_bandlower_band)/sma

Utilities
See Utilities and Helpers for more information.
Example
from stock_indicators import indicators
# This method is NOT a part of the library.
quotes = get_history_from_feed("SPY")
# calculate BollingerBands(20, 2)
results = indicators.get_bollinger_bands(quotes, 20, 2)
About Bollinger Bands®
Created by John Bollinger, Bollinger Bands depict volatility as standard deviation boundary lines from a moving average of Close price. Bollinger Bands® is a registered trademark of John A. Bollinger. [Discuss]