code: def plot_factor_rank_auto_correlation(
      factor_autocorrelation, period=1, ax=None
  ):
      """
      Plots factor rank autocorrelation over time.
      See factor_rank_autocorrelation for more details.
  
      Parameters
      ----------
      factor_autocorrelation : pd.Series
          Rolling 1 period (defined by time_rule) autocorrelation
          of factor values.
      period: int, optional
          Period over which the autocorrelation is calculated
      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_autocorrelation.plot(
          title="{}D Period Factor Rank Autocorrelation".format(period),
          ax=ax,
      )
      ax.set(ylabel="Autocorrelation Coefficient", xlabel="")
      ax.axhline(0.0, linestyle="-", color="black", lw=1)
      ax.text(
          0.05,
          0.95,
          "Mean %.3f" % factor_autocorrelation.mean(),
          fontsize=16,
          bbox={"facecolor": "white", "alpha": 1, "pad": 5},
          transform=ax.transAxes,
          verticalalignment="top",
      )
  
      return ax
  
imports: import numpy
  import pandas
  from scipy import stats
  import statsmodels.api
  import seaborn
  import matplotlib.cm
  import matplotlib.pyplot
  from matplotlib.ticker import ScalarFormatter
  from functools import wraps
  from .None import utils
  from .None import performance
label_desc: Use image node_id 15 for calling a global function with example usage: plot_factor_rank_auto_correlation(factor_autocorrelation, period, ax) and returns: ax