TomDoan wrote: ↑Mon Apr 08, 2024 7:05 am
The covariance matrix has no effect on the unit root/cointegration behavior of the series.
Your first example is very much NOT a cointegrated process---the series are all stationary. Yes, it depends upon the coefficients, and it is very difficult to look at the coefficients and tell anything about it. (Just because the lag coefficients across series sum to one means nothing.).
Why are the lag coeffiecients in enders4p375.rpf summing to 1.0?
frml yeq y = ydrift+.8*y{1}+.2*z{1}+eps1
frml zeq z = zdrift+.2*y{1}+.8*z{1}+eps2
I'm aiming to simulate a 3 variable cointegrated system, constructed so that I may choose which series are cointegrated and which are not.
Using the RollingCausality.rpf (SIMULATE) method, without CV, instead.
The y series lag coefficients sum to 0.9, z and w series each sum to 1. All series are I(1), and (I think) some are cointegrated as per ADF tests i.e. not all equilibrium error's are I(0). In otherwords, what is the appropriate choice for the coeffcients as the simulation is sensitive to the seed and nsteps?
Code: Select all
*===============================
seed 1
compute nsteps=150
allocate nsteps
*===============================
* Random walk processes
compute a10=0.0
compute a11=+0.4
compute a12=+0.3
compute a13=+0.2
compute a20=0.0
compute a21=+0.5
compute a22=+0.3
compute a23=+0.2
compute a30=0.0
compute a31=+0.3
compute a32=+0.5
compute a33=+0.2
set eps1 = %ran(1)
set eps2 = %ran(1)
set eps3 = %ran(1)
set y 1 nsteps = 0.0
set z 1 nsteps = 0.0
set w 1 nsteps = 0.0
equation(variance=1,coeffs=||a10,a11,a12,a13,1.0||) vareq1 y
# constant y{1} z{1} w{1} eps1
equation(variance=1,coeffs=||a20,a21,a22,a23,1.0||) vareq2 z
# constant y{1} z{1} w{1} eps2
equation(variance=1,coeffs=||a30,a31,a32,a33,1.0||) vareq3 w
# constant y{1} z{1} w{1} eps3
group cointmodel vareq1 vareq2 vareq3
simulate(model=cointmodel,results=simuls,from=2,steps=(nsteps-1))
prin / simuls(1) simuls(2) simuls(3)
* characteristic roots
compute companion=%modelcompanion(cointmodel)
eigen(cvalues=cv) companion
disp cv
*===============================
* Dickey-Fuller tests
*
@dfunit(det=trend,maxlags=10,method=aic) simuls(1) 101 nsteps
@dfunit(det=trend,maxlags=10,method=aic) simuls(2) 101 nsteps
@dfunit(det=trend,maxlags=10,method=aic) simuls(3) 101 nsteps
@dfunit(det=constant,maxlags=10,method=aic) simuls(1) 101 nsteps
@dfunit(det=constant,maxlags=10,method=aic) simuls(2) 101 nsteps
@dfunit(det=constant,maxlags=10,method=aic) simuls(3) 101 nsteps
set eqerror = simuls(1)-simuls(2)
set eqerror = simuls(1)-simuls(3)
set eqerror = simuls(1)+simuls(2)-simuls(3)
set eqerror = simuls(1)-simuls(2)-simuls(3)
set eqerror = simuls(1)-simuls(2)+simuls(3)
@dfunit(det=trend,maxlags=10,method=aic) eqerror 101 nsteps
@dfunit(det=constant,maxlags=10,method=aic) eqerror 101 nsteps