I am estimating a VEC model and need to check the stability of its parameters. The vars package has a function to do this on an object of class
varest generated by
var() function. I would appreciate any comment regarding this.
One way to check for stability is obtaining the roots of the determinant (using
eigen) of the companion matrices of lagged endogenous variables that you obtain by applying
vec2var on the estimated VECM.
Using the example provided in the
vec2var help page:
library(urca) data(finland) sjf <- finland sjf.vecm <- ca.jo(sjf, ecdet = "none", type = "eigen", K = 2, spec = "longrun", season = 4) vec2var <- vec2var(sjf.vecm, r = 2)
> eigen(vec2var$A$A1) $values  0.9118953 0.7204302 0.2960268 0.2323736 $vectors [,1] [,2] [,3] [,4] [1,] 0.63464979 0.38485331 0.4915762 0.4176340 [2,] 0.13477567 -0.13850082 0.8302354 0.6888242 [3,] -0.76072394 0.91184746 -0.0499461 -0.2784035 [4,] -0.01882149 0.03520894 0.2580066 0.5230626
Nonetheless, as the manual of the
vecstable function from Stata points out:
...there is no general distribution theory that allows you to determine whether an estimated root is too close to one for all the cases that commonly arise in practice.
Another approach, though more laborious, would be to adapt each individual equation (or the whole system as a
varest object) from these matrices in order to assess stability using fluctuation processes, implemented in the