Consider VAR(1) process $$y_t = A_1y_{t-1} + u_t.$$

I am looking for a reference or proof that if all entries in $A_1$ are less than one in modulus then $y_t$ is stable. I am sure that last semester a professor told that, but I can't find a reference.

Edit1: In response to @Jarle Tufto answer, I believe that this is a sufficient condition. To support my argument I did a simulation in R where I simulate 20 different series (100 steps ahead) for the case when entries in $A_1$ are uniformly distributed between $0$ and $1$. All series converge to zero.

enter image description here

The R code

n <- 20 #fix the number of series
I = diag(n)
A <- matrix(runif(n^2), ncol = n, nrow = n) #Create matrix A with 0 < a_ij < 1
y = matrix(0, nrow = n, ncol = 100) #create vector of predictions (100 steps ahead)
y[, 1] = rnorm(n) #set initial values
for (i in 2:ncol(y)) {
    y[, i] = A^(i-1)%*%y[, i-1]
y_m <- melt(y)
ggplot() +
  geom_line(data = y_m, aes(x = X2, y = value, color = factor(X1))) + 
  xlab('Step') + ylab('Value')

Edit 2:

Here is the result for the case when all entries of $A$ are $0.9$. In the previous code I changed

A <- matrix(runif(n^2), ncol = n, nrow = n)


A <- matrix(0.9, ncol = n, nrow = n)

Still have convergence, though the shape looks strange.

enter image description here

  • $\begingroup$ VAR is an acronym, so there is no need to format it as a formula. Good question, though. $\endgroup$ Commented Oct 29, 2017 at 14:09
  • $\begingroup$ That was just good (or maybe bad) luck. It is not a sufficient condition. Try $A$ with all entries equal to .9 and it will not be stationary! $\endgroup$ Commented Oct 29, 2017 at 14:47
  • $\begingroup$ @JarleTufto please see my second edit. $\endgroup$
    – tosik
    Commented Oct 29, 2017 at 14:56
  • $\begingroup$ I don't understand your simulation code. Inside your for-loop you do 'y[, i] = A^(i-1)%*%y[, i-1]'. Why do you raise all elements of A to the $(i-1)$ power? And you need to add the white noise term $u_t$. $\endgroup$ Commented Oct 29, 2017 at 14:59
  • $\begingroup$ @JarleTufto oops, agree. Indeed, you are right, this is not a sufficient condition. Forgot that ^ should be replaced by %^% in R (with loading expm package). $\endgroup$
    – tosik
    Commented Oct 29, 2017 at 15:29

2 Answers 2


A VAR(1) process is stationary if the largest eigenvalue of $A$ has modulus smaller than 1, see Wei 2006, ch. 16. The condition you refer to is neither a necessary or sufficient condition for stationarity.


I think your simulations are just luck. Take this example:

$$ \begin{bmatrix} 0.8 & 0.2 \\ 0.4 & 0.6 \end{bmatrix} $$

All entries are less than 1 but the matrix has 1 as an eigenvalue. So it is not stationary. Any starting point other than (0,0) that is less than one in the two entries will eventually converge to (2/3 , 1/3). And if they are higher than 1, it will diverge.

Take a look at the definition of markov matrices.


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.