class_docstr: Bollinger Bands
  
  https://school.stockcharts.com/doku.php?id=technical_indicators:bollinger_bands
  
  Args:
      close(pandas.Series): dataset 'Close' column.
      window(int): n period.
      window_dev(int): n factor standard deviation
      fillna(bool): if True, fill nan values.
class_docstr_tok: ["Bollinger","Bands","https",":","\/\/school.stockcharts.com\/doku.php","?","id=technical_indicators",":","bollinger_bands","Args",":","close","(","pandas.Series",")",":","dataset","'Close","'","column",".","window","(","int",")",":","n","period",".","window_dev","(","int",")",":","n","factor","standard","deviation","fillna","(","bool",")",":","if","True",",","fill","nan","values","."]
code: def _run(self):
      min_periods = 0 if self._fillna else self._window
      self._mavg = self._close.rolling(
          self._window, min_periods=min_periods
      ).mean()
      self._mstd = self._close.rolling(
          self._window, min_periods=min_periods
      ).std(ddof=0)
      self._hband = self._mavg + self._window_dev * self._mstd
      self._lband = self._mavg - self._window_dev * self._mstd
  
imports: import numpy
  import pandas
  from ta.utils import IndicatorMixin
label_desc: Use image node_id 2 for calling the BollingerBands obj's underlying member method code with example usage: obj._run() without return types