Il codice riportato di seguito stima un modello VEC con 4 vettori cointegranti. È un codice riproducibile, quindi copia e incolla nella tua R console (o editor di script).
nobs = 200
e = rmvnorm(n=nobs,sigma=diag(c(.5,.5,.5,.5,.5)))
e1.ar1 = arima.sim(model=list(ar=.75),nobs,innov=e[,1])
e2.ar1 = arima.sim(model=list(ar=.75),nobs,innov=e[,2])
e3.ar1 = arima.sim(model=list(ar=.75),nobs,innov=e[,3])
e4.ar1 = arima.sim(model=list(ar=.75),nobs,innov=e[,4])
y5 = cumsum(e[,5])
y1 = y5 + e1.ar1
y2 = y5 + e2.ar1
y3 = y5 + e3.ar1
y4 = y5 + e4.ar1
data = cbind(y1,y2,y3,y4,y5)
jcointt = ca.jo(data,ecdet="const",type="trace",K=2,spec="transitory")
summary(jcointt)
vecm <- cajorls(jcointt,r=4)
summary(vecm$rlm)
print(vecm)
I vettori cointegranti che otterrai da questa stima saranno così:
ect1 ect2 ect3 ect4
y1.l1 1 0 0 0
y2.l1 0 1 0 0
y3.l1 0 0 1 0
y4.l1 0 0 0 1
y5.l1 b4.1 b4.2 b4.3 b4.4
constant c1 c2 c3 c4
qui, da b4.1 a b4.4 sono i coefficienti delle 4 equazioni cointegranti ( ecm's
) (che sono ). Allo stesso modo, c ' s sono le intercettazioni dell'equazione cointegrante.
Come puoi vedere, ci sono 3 r-1
restrizioni, ovvero 3 restrizioni, su ogni equazione di default. Voglio mettere delle restrizioni su questa matrice di equazioni e rivalutare il VECM in modo da avere la seguente matrice di equazioni di lungo periodo:
ect1 ect2 ect3 ect4
y1.l1 1 0 0 0
y2.l1 b1.1 1 0 0
y3.l1 b2.1 0 1 0
y4.l1 b3.1 0 0 1
y5.l1 b4.1 b4.2 b4.3 b4.4
constant c1 c2 c3 c4
ect1
Eventuali suggerimenti e suggerimenti sono benvenuti e apprezzati!