docs: def add_rolling_statistics_variables(
      df           = None,
      variable     = None,
      window       = 20,
      upper_factor = 2,
      lower_factor = 2
      ):
      """
      Add rolling statistics variables derived from a specified variable in a
      DataFrame.
      """
      df[variable + "_rolling_mean"]               = pd.stats.moments.rolling_mean(df[variable], window)
      df[variable + "_rolling_standard_deviation"] = pd.stats.moments.rolling_std(df[variable], window)
      df[variable + "_rolling_upper_bound"]        = df[variable + "_rolling_mean"] + upper_factor * df[variable + "_rolling_standard_deviation"]
      df[variable + "_rolling_lower_bound"]        = df[variable + "_rolling_mean"] - lower_factor * df[variable + "_rolling_standard_deviation"]
      return df