docs: def plot_cumulative_returns(factor_returns, period, freq, title=None, ax=None):
      """
      Plots the cumulative returns of the returns series passed in.
  
      Parameters
      ----------
      factor_returns : pd.Series
          Period wise returns of dollar neutral portfolio weighted by factor
          value.
      period: pandas.Timedelta or string
          Length of period for which the returns are computed (e.g. 1 day)
          if 'period' is a string it must follow pandas.Timedelta constructor
          format (e.g. '1 days', '1D', '30m', '3h', '1D1h', etc)
      freq : pandas DateOffset
          Used to specify a particular trading calendar e.g. BusinessDay or Day
          Usually this is inferred from utils.infer_trading_calendar, which is
          called by either get_clean_factor_and_forward_returns or
          compute_forward_returns
      title: string, optional
          Custom title
      ax : matplotlib.Axes, optional
          Axes upon which to plot.
  
      Returns
      -------
      ax : matplotlib.Axes
          The axes that were plotted on.
      """
      if ax is None:
          f, ax = plt.subplots(1, 1, figsize=(18, 6))
  
      factor_returns = perf.cumulative_returns(factor_returns, period, freq)
  
      factor_returns.plot(ax=ax, lw=3, color='forestgreen', alpha=0.6)
      ax.set(ylabel='Cumulative Returns',
             title=("Portfolio Cumulative Return ({} Fwd Period)".format(period)
                    if title is None else title),
             xlabel='')
      ax.axhline(1.0, linestyle='-', color='black', lw=1)
  
      return ax