statsmodels.tsa.stattools.acf(x, unbiased=False, nlags=40, qstat=False, fft=None, alpha=None, missing='none')[source]

Autocorrelation function for 1d arrays.

  • x (array) – Time series data
  • unbiased (bool) – If True, then denominators for autocovariance are n-k, otherwise n
  • nlags (int, optional) – Number of lags to return autocorrelation for.
  • qstat (bool, optional) – If True, returns the Ljung-Box q statistic for each autocorrelation coefficient. See q_stat for more information.
  • fft (bool, optional) – If True, computes the ACF via FFT.
  • alpha (scalar, optional) – If a number is given, the confidence intervals for the given level are returned. For instance if alpha=.05, 95 % confidence intervals are returned where the standard deviation is computed according to Bartlett’s formula.
  • missing (str, optional) – A string in [‘none’, ‘raise’, ‘conservative’, ‘drop’] specifying how the NaNs are to be treated.

  • acf (array) – autocorrelation function
  • confint (array, optional) – Confidence intervals for the ACF. Returned if alpha is not None.
  • qstat (array, optional) – The Ljung-Box Q-Statistic. Returned if q_stat is True.
  • pvalues (array, optional) – The p-values associated with the Q-statistics. Returned if q_stat is True.


The acf at lag 0 (ie., 1) is returned.

For very long time series it is recommended to use fft convolution instead. When fft is False uses a simple, direct estimator of the autocovariances that only computes the first nlag + 1 values. This can be much faster when the time series is long and only a small number of autocovariances are needed.

If unbiased is true, the denominator for the autocovariance is adjusted but the autocorrelation is not an unbiased estimator.


[*]Parzen, E., 1963. On spectral analysis with missing observations and amplitude modulation. Sankhya: The Indian Journal of Statistics, Series A, pp.383-392.