docs: def _calc_outliers_bounds(self, data, method, coeff, window):
          """ Calculate the lower and higher bound for outlier detection.  
          
          Parameters
          ----------
          data        : pd.DataFrame()
              Input dataframe.
          method      : str
              Method to use for calculating the lower and higher bounds.
          coeff       : int
              Coefficient to use in calculation.
          window      : int
              Size of the moving window.
  
          Returns
          -------
          (float, float)
              Lower and higher bound for detecting outliers.
  
          """
         
          if method == "std":
              lowBound = (data.mean(axis=0) - coeff * data.std(axis=0)).values[0]
              highBound = (data.mean(axis=0) + coeff * data.std(axis=0)).values[0]
  
          elif method == "rstd":
              rl_mean=data.rolling(window=window).mean(how=any)
              rl_std = data.rolling(window=window).std(how=any).fillna(method='bfill').fillna(method='ffill')
              
              lowBound = rl_mean - coeff * rl_std
              highBound = rl_mean + coeff * rl_std
  
          elif method == "rmedian":
              rl_med = data.rolling(window=window, center=True).median().fillna(
                  method='bfill').fillna(method='ffill')
  
              lowBound =  rl_med - coeff
              highBound = rl_med + coeff
  
          # Coeff is multip for std and IQR or threshold for rolling median
          elif method == "iqr":
              Q1 = data.quantile(.25) # Coeff is multip for std or % of quartile
              Q3 = data.quantile(.75)
              IQR = Q3 - Q1
  
              lowBound = Q1 - coeff * IQR
              highBound = Q3 + coeff * IQR
  
          elif method == "qtl":
              lowBound = data.quantile(.005)
              highBound = data.quantile(.995)
  
          else:
              print ("Method chosen does not exist")
              lowBound = None
              highBound = None
  
          return lowBound, highBound