How to use the Autocorreation Function (ACF)?

The Autocorrelation function is one of the widest used tools in timeseries analysis. It is used to determine stationarity and seasonality.


This refers to whether the series is “going anywhere” over time. Stationary series have a constant value over time.

Below is what a non-stationary series looks like. Note the changing mean.

Time series plot of non-stationary series
Time series plot of non-stationary series
And below is what a stationary series looks like. This is the first difference of the above series, FYI. Note the constant mean (long term).

Stationary series: First difference of VWAP
Stationary series: First difference of VWAP
The above time series provide strong indications of (non) stationary, but the ACF helps us ascertain this indication.

If a series is non-stationary (moving), its ACF may look a little like this:

ACF of non-stationary series
ACF of non-stationary series
The above ACF is “decaying”, or decreasing, very slowly, and remains well above the significance range (dotted blue lines). This is indicative of a non-stationary series.

On the other hand, observe the ACF of a stationary (not going anywhere) series:

ACF of nonstationary series
ACF of stationary series
Note that the ACF shows exponential decay. This is indicative of a stationary series.

Consider the case of a simple stationary series, like the process shown below:

Y_t = \epsilon_t

We do not expect the ACF to be above the significance range for lags 1, 2, … This is intuitively satisfactory, because the above  process is purely random, and therefore whether you are looking at a lag of 1 or a lag of 20, the correlation should be theoretically zero, or at least insignificant.

Next: ACF for Seasonality

Abbas Keshvani


21 thoughts on “How to use the Autocorreation Function (ACF)?

    1. Thank you Abbas for simple and well explained topic.
      My question is in non-stationary data how can we find auto correlation? is partial auto correlation is a good alternative?

    2. Hi Can you explain relation between Auto correlation and Confidence Interval with same intuitive explanation

  1. Woah! I’m really digging the template/theme of this website.
    It’s simple, yet effective. A lot of times it’s
    tough to get that “perfect balance” between user friendliness and visual appeal.
    I must say you’ve done a amazing job with this. Also, the blog loads extremely quick for me
    on Opera. Excellent Blog!

  2. Hi Good simple explanation – I’ve always believed if you can explain simply – the person has understood it thoroughly 🙂 Came across the term an hour or so ago (ACF term) and was looking for a simpler explanation

    And after a few hits – here it is 🙂


    1. I agree, Rajesh. I think the best part about understanding something fully is that you can take control of the language around it, and therefore simplify it. Thanks for visiting!

  3. Hi Abbas,

    Just a non scientific comment to edit the post:
    The word autocorrelation on the title is missspelled and needs a “L” 🙂

  4. Can the acf be used to provide at least five comments about a series? If it is possible pls give me five of them

  5. Thanks for this clarifying post!
    The criteria for a stationary time series are (1) constant mean, (2) constant variance, (3) the covariance between today’s independent variable and tomorrow’s independent variable is not a function of time. In exactly what way does autocorrelation (correlation in the error terms) violate these three criteria?

Leave a Reply to Ankush Jamthikar Cancel reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s