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.