I run Dickey Fuller test in order to know if stock returns are stationary. I get that no matter which stock I take, his return is stationary. I don't know why I get this result since it is clear that volatility depends on time (hence, returns are not stationary since their variance depends on time). I'd like to get both a mathematical and intuitive answer.


4 Answers 4


I think your problem is that you confuse the UNconditional variance and the conditional variance. Indeed, you can have a time-varying conditional volatility but a constant unconditional variance.

First, I illustrate what Dickey-Fuller does and why it is a very specific test. Second, I explain why you can have a time-varying conditional volatility but a constant unconditional variance.

Firstly, consider the framework :

$y_{t}=\rho y_{t-1}+\epsilon_{t}$ where $\epsilon_t\sim_{iid}\mathcal{N}(0,\sigma^2)$ for $t\in[1,T]$.

If you compute the expectation and (unconditional) variance of $y_t$, you get

$\mathbb{E}[y_t]=\rho^{t-1}y_{1}$ and $\mathbb{V}[y_t]=\sigma^2\sum_{l=0}^{t-1}\rho^{2l}$

Dickey-Fuller test performs $H0:"\rho=1"$ vs $H1:"\rho<1"$.

If $\rho=1$, then $\mathbb{V}[y_t]=t\sigma^2$, what means the unconditional variance increases linearly with time.

If it is inferior to 1, then the unconditional variance tends to be constant with time due to the geometric series of its expression. If $\rho<1$ and $t\rightarrow\infty$,$\mathbb{V}[y_t]\rightarrow\frac{\sigma^2}{1-\rho^2}<+\infty$ what implies it is covariance-stationary.

That is why, if DF test rejects H0, you cannot accept that the unconditional variance increases linearly with time when compared with the covariance-stationnary hypothesis, but it just concerns a specific form of nonstationarity.

Second, consider the following process (ARCH(1)):

$y_{t}=\sigma_t\epsilon_t$ with $\sigma_t^2=\alpha+\beta y_{t-1}^2$

where $\alpha>0$ and $0<\beta< 1$, $\epsilon_t\sim_{iid}\mathcal{N}(0,1)$, $\sigma_t$ being independent of $\epsilon_t$.

Here, you can see the volatility parameter $\sigma_t$ depends on time. However, this parameter is the variance of $y_t$ conditionally to the information we get at time $t$. Actually, the UNconditional variance of $y_t$ is:

$\mathbb{V}[y_t]=\mathbb{E}[y_t^{2}]=\mathbb{E}[\sigma_t^2]=\alpha+\beta \mathbb{E}[y_{t-1}^2]$

If $y_t$ is covariance-stationary, $\mathbb{V}[y_t]=\mathbb{E}[y_t^{2}]=\mathbb{E}[y_{t-1}^{2}]$ what implies : $\mathbb{V}[y_t]=\frac{\alpha}{1-\beta}<+\infty$

So, $y_t$ can be covariance-stationary while displaying locally some clusters of volatility.

To think further, you can go to see this paper proposing a framework to test if the UNconditional variance is constant or not: Sansó, A., Aragó, V. and Carrion-i-Silvestre, J. Ll. (2004): “Testing for Changes in the Unconditional Variance of Financial Time Series”.


The augmented Dickey-Fuller test assesses whether the time series under inspection has a unit root or not. The test is designed specifically for that purpose. It either rejects the null of unit root or fails to reject it.

Rejection of the unit root should not be interpreted as presence of stationarity, though. Presence of a unit root is one form of nonstationarity, but absence of a unit root does not imply stationarity. For example, presence of a deterministic time trend or certain forms of conditional heteroskedasticity are also forms of nonstationarity and they may be characteristic to a time series regardless of whether it has a unit root or not.

The takeaway message is, stationarity is never confirmed; we may just reject (or fail to reject) some forms of nonstationarity based on particular tests (but there will be other possible forms of nonstationarity that we have not tested for yet).


Dickey-Fuller test does not test for stationarity of return volatilities. So, when you say "stationary" you could mean a lot of things. There is not a single test that checks for stationarity in the strict complete definition of this term. There are different tests checking different facets of stationarity.

Intuitively, all that DF test checks for is whether $\theta_1=1$ holds in the processes like this $$r_t=\theta_1r_{t-1}+e_t$$

So, if returns are random walks (e.g. $\theta_1=1$), then DF could detect them. It doesn't test whether $\sigma_{e_t}$ is constant at all.

So, if you think (hopefully not) that stock returns are random walks you should be surprised by DF result, otherwise it's the expected result. There are tests such as Engle's ARCH that test for changing volatility.

UPDATE Take a look at this amazing paper: A MARKET ECONOMY IN THE EARLY ROMAN EMPIRE, Peter Temin, p.15. The loan rates were in the range of 4 to 12% thousands years ago in Ancient Egypt! It's the same rates as today. So, at least in levels (means) the returns got to be stationary.

  • $\begingroup$ @RichardHardy, thanks, removed that bit from my answer $\endgroup$
    – Aksakal
    Commented Oct 27, 2017 at 19:42

What you have tested is first-order stationarity. On http://www.maths.bris.ac.uk/~guy/Research/LSTS/TOS.html you can find a list with some tests of Second-Order stationarity:

  • The Priestley-Subba Rao (PSR) Test
  • Wavelet Spectrum Test

and even some code to run it in R.

  • $\begingroup$ If the root is less then one, then it is easy to proof that process variance does not depends on time. So, if Dickey Fuller test tell me that the process is (first order as you say) stationary, then his variance does not depend on time. I did not understand why, since it is clear that returns variance does depend on time (volatility clustering) $\endgroup$
    – Luca Dibo
    Commented Feb 16, 2016 at 11:40
  • $\begingroup$ @LucaDibo, not necessarily. Consider a process $x_t=0.5x_{t-1}+\sigma_t\varepsilon_t$ where $\varepsilon_t$ is i.i.d. and $\sigma_t=t$. The root is less than one but variance depends on time. $\endgroup$ Commented Oct 27, 2017 at 18:36

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.