code: def plot_top_bottom_quantile_turnover(quantile_turnover, period=1, ax=None):
      
      if ax is None:
          f, ax = plt.subplots(1, 1, figsize=(18, 6))
  
      max_quantile = quantile_turnover.columns.max()
      min_quantile = quantile_turnover.columns.min()
      turnover = pd.DataFrame()
      turnover['top quantile turnover'] = quantile_turnover[max_quantile]
      turnover['bottom quantile turnover'] = quantile_turnover[min_quantile]
      turnover.plot(title='{} Period Top and Bottom Quantile Turnover'
                    .format(period), ax=ax, alpha=0.6, lw=0.8)
      ax.set(ylabel='Proportion Of Names New To Quantile', xlabel="")
  
      return ax
docs: Plots period wise top and bottom quantile factor turnover.
  
      Parameters
      ----------
      quantile_turnover: pd.Dataframe
          Quantile turnover (each DataFrame column a quantile).
      period: int, optional
          Period over which to calculate the turnover
      ax : matplotlib.Axes, optional
          Axes upon which to plot.
  
      Returns
      -------
      ax : matplotlib.Axes
          The axes that were plotted on.