LA COINTEGRAZIONE
Le variabili di un modello si dicono cointegrate se esiste una combinazione lineare STAZIONARIA (ricordiamo che la somma di processi stocastici è un processo stocastico) tale per cui le serie, prese singolarmente, risultano stazionarie.
Se questa relazione esiste allora si dice che si ha una relazione di lungo periodo tra le variabili del modello.
(infatti se considero un processo stazionario e uno integrato (non stazionario) la combinazione lineare di questi può risultare stazionaria se essi sono integrati con lo stesso ordine. Questo può avvenire se i fenomeni considerati condividono l'insieme dei fattori responsabili della non stazionarietà.)
Una serie storica multivariata X
t = [X
1t, . , X
kt] è detta cointegrata se ogni singola X
it è una serie storica I(1) ed esiste almeno un vettore di pesi a' = [a
1, . , a
k] tale che la serie storica ottenuta come combinazione lineare di a'X
t è stazionaria.
a = è detto vettore di cointegrazione
il vettore cointegrante non è unico infatti ogni multiplo del vettore a (b*a con b che è qualsiasi scalare) è anch'esso un vettore cointegrante; in particolare per k=2 è possibili ottenere un unico vettore cointegrante mentre per k>2 è possibile ottenere h vettori cointegranti (t.c. h>k) usualmente raccolti in una matrice A detta matrice di cointegrazione.
Teorema: se la matrice A' è costituita da h vettori riga linearmenti indipendenti, A'X
t è un processo stazionario e c' è un vettore linearmente indipendente dalle righe di A', allora c' è non stazionario.
METAFORA DEI DUE UBRIACHI
Per spiegare il sistema cointegrato si utilizza spesso la metafora dei due ubriachi:
Due ubriachi escono dal bar e si decide di osservare il percorso che compiono per raggiungere le loro abitazioni. Si indica con "t=1,2,." una misura discreta del tempo che trascorre dal momento in cui i due ubriachi lasciano il bar e siano z
t e x
t le due distanze dei due dal bar. Ogni passo compiuto al tempo t è descritto dalle quantità ut e v
t. Il primo ubriaco a maggiori difficolta negli spostamenti in quanto ha una gamba più corta dell'altra e quindi chiede all'altro di poter camminare sottobraccio.
Date le circostanze si può assumere che il primo ubriaco cammini seguendo un percorso descritto da un random walk con drift: z
t =z
(t-1) + Φ + u
t e che attiri a se l'amico prima di ogni passo, in modo che il punto di partenza del secondo ubriaco all'istante t sia proporzionale a quello del primo ubriaco, ossia un processo scritto come x
t = γz
(t-1) + v
t con γ che è una cotante reale.
Il percorso seguito dei due può essere descritto come un VAR(1):
Sostituisco ricorsivamente:
Z
t = ∑
ti=1 (u
i + Φ) + Z
0 ≡ g
t
=> Xt = γ gt-1 + vt t.c. gt-1=Zt-1
Xt = γ (gt - Φ - ut) + vt
Abbiamo cosi mostrato che X
t e Z
t condividono la stessa componente di non stazionarietà g
t (RWD) che è in I(1) detto trend comune del sistema. Quindi il sistema [Z
t X
t]
T è detto cointegrato
### Metafora dei 2 ubriachi
n <- 100
eps <- rnorm(n);eps2 <- rnorm(n)
z0<- x0 <- rep(0, 100)
for (i in seq.int(2, 100)){
# persona ubriaca zoppa
z0[i] <- 1*z0[i-1] + 0.1 + eps[i]
# persona ubriaca che aiuta zoppo
x0[i] <- 0.6*z0[i-1] + eps2[i]
}
plot(ts(z0), col=3)
lines(ts(x0),lty=2, col=2)
legend("topleft",c("Ubriaco zoppo","Ubriaco che aiuta zoppo"),
lty=c(1,2), col = c(3,2))
RAPPRESENTAZIONE A CORREZIONE D'ERRORE (ECM)
L'obbiettivo della rappresentazione a correzione d'errore è di scomporre il processo cointegrato in una componente che descrive i comportamenti di lungo periodo (non stazionari) e una che descrive quelli di breve periodo (stazionari).
Consideriamo ad esempio un VAR(1) bivariato il quale deriva da due RW senza drift:
X
1t = γ X
2t-1 + u
1t + γ u
2t
X
2t = X
2t-1 + u
2t
A questi modelli sottraggo rispettivamente X
1t-1 e X
2t-1 ottenendo cosi:
ΔX
1t = -X
1t-1 + γ X
2t-1 + u
1t + γ u
2t
ΔX
2t = u
2t
Π = alla matrice dei coefficienti del modello costruito con le differenze prime.
svolgendo i calcoli con le forme matriciali ottengo che:
[ΔX
1t ΔX
2t]
T = [-1 0]
T (X
1t-1-γ X
2t-1) + [u
1t + γ u
2t u
2t]
T <- RAPPRESENTAZIONE A CORREZIONE D'ERRORE
dove:
[-1 0]T è un vettore di pesi che tenta di riportare in equilibrio
(X1t-1-γ X2t-1) = Zt-1 relazione di lungo periodo (stazionaria)
- se Zt-1 = 0 allora la serie presenta una relazione di equilibrio nel lungo periodo
- invece se Zt-1 è diverso da un WN (quindi diverso da zero) allora descrive la distanza che separe le due v.c. dalla condizione di equilibrio.
In questo caso il rango della matrice Π è facile da calcolare e risulta essere 1, ma questo cosa significa?
- se r(Π)=0 allora la serie è un RW e non esiste cointegrazione;
- se r(Π)=k dove k è il rango massimo allora la serie risulta stazionaria perchè Π è invertibile;
- se 0<r(Π)>k allora la serie è cointegrata
Nel nostro caso specifico la serie risulta quindi essere cointegrata.
La matrice Π si può anche pensare come il prodotto della matrice di ritorno all'equilibri Β con la matrice di cointegrazione A
T (ampiezza della deviazione dalla rilevazione di cointegrazione al tempo t-1).
TECNICHE DI STIMA DELLA COINTEGRAZIONE
La tecnica di Johansen serve per stimare la matric e Π attraverso la stima di una matrice di cointegrazione A
T e della matrice dei pesi di ritorno all'equilibrio t, questo metodo si può usare nel caso in cui il rango di cointegrazione risulta essere noto. Tale metodo si divide in due step: Nel primo step si stima con il metodo dei minimi quadrati la matrice di ritorno all'equilibri Β; mentre nel secondo si stima con la stima di massima verosimiglianza la matrice di cointegrazione A
T.
Nello specifico possiamo distinguere tre casi:
- sono noti sia il rango di cointegrazione h sia la matrice di cointegrazione A;
- la matrice di cointegrazione A non è nota ma è noto il rango di cointegrazione h;
- non sono noti ne la matrice di cointegrazione A ne il rango di cointegrazione h.
REGRESSIONE CONCENTRATA - sono noti sia il rango di cointegrazione sia la matrice di cointegrazione
Supponiamo h e A noti, per prima cosa si verifica, mediante i test ADF che le k variabili di Xt siano tutte I(1) poi se lo sono si calcola A'Xt e si applicano gli stessi test per verificare la
stazionarietà degli h processi univariati che lo compongono; se gli h test portano al rifiuto dell'ipotesi nulla di esistenza di una radice
unitaria, allora può accettarsi l'ipotesi che A sia matrice di
cointegrazione.
Partiamo per la stima considerando i 2 modelli di regressione ausiliari per stimare il legame tra ΔX
t e X
t-1 al netto delle altre variabili usando il teorema di Frisch-Waugh:
ΔX
t = Π
0 + Π
1 ΔX
t-1 + ... + Π
p-1 ΔX
t-p+1 + u
t
X
t-1 = θ
0 + θ
1 ΔX
t-1 + ... + θ
p-1 ΔX
t-p+1 + v
t
u
t contiene tutte le informazioni su &Lamda;X
t al netto della componente di breve periodo, mentre v
t contiene tutto ciò che X
t-1 non è spiegato dalla componente di breve periodo.
Facendo una regressione tra i residui troviamo quindi la stima di cio he cerchiamo, questo modello è conosciuto come modello di regressione concentrata:
u
t = Π v
t + ε
t =
Per comodità consideriamo:
(u
t)
T = (A
T v
t)
T Β
T + (ε
t)
T
allora possiamo stimare Β
T con il metodo dei minimi quadrati e viene che:
stima Β
T = [(A
T v
t)(A
T v
t)
T]
-1 (A
T v
t) u
t
che si può anche riscrivere come:
= (A
T v
t v
tT A)
-1 A
T v
t u
t =
dove:
Σ
vv = v
t v
tT
Σ
vu = v
t u
t
Quindi:
stima Β = (A
T Σ
vv A)
-1 A Σ
vu
STIMA DI A - è noto il rango di cointegrazione ma non la matrice di cointegrazione
Nel caso in cui la matrice A sia ingnota dobbiamo distinguere due casi il primo si verifica quando il rango di cointegrazione massimo k=2 (quindi un processo bivariato) e in questo caso si può utilizzare la tecnica di Engle e Granger mentre se il rango massimo è maggiore di 2 allora siamo costretti ad utilizzare la tecnica di Johansen.
- Tecnica di Engle e Granger:
Dati due processi univariati Xt e Yt I(1) si stima mediante gli OLS la regressione:
Xt = γ + δ Yt + vt
Se i residui sono I(0), allora le due serie sono cointegrate e le stime dei
parametri sono consistenti. Anche in questo caso si applicano i test ADF.
- Tecnica di Johansen:
La tecnica di Johansen è caratterizzata da due fasi ed è finalizzata ad
effettuare la stima di A e Β
Nella prima fase si utilizza il teorema di Frisch-Waugh;
Supponendo, in questa prima fase, A noto, la stima dei minimi quadrati di Β è data dalla:
Β = (AT Σvv' A)-1 A Σvu' (conclusione vista e spiegata nel paragrafo precedente)
Stimata Β, si passa alla seconda fase, ossia alla stima di A tramite la tecnica
della massima verosimiglianza.
Massimizzando questa funzione troviamo la matrice A stimata;Nota ora la matrice A, la stima di Β si ottiene dalla formula dei minimi quadrati ottenuta nello step 1 e cosi la stima di Π0=Β AT è uguale a:
Π0 = Σvu' A AT
VERIFICA RANGO DI COINTEGRAZIONE - non sono noti ne il rango di cointegrazione ne la matrice di cointegrazione
Il ragionamento di stima che occorre fare in questa situazione è lo stesso del punto precedente se non che inizialmente occore stimare il rango di cointegrazione con dei test basati sul rapporto di verosimiglianza che possono esssere:
- Test della traccia
H0: il rango di cointegrazione è h < k
H1: il rango di cointegrazione è k (quindi Π è invariante)
Questo test è basato sul rapporto di verosimiglianza:
Λ = L(A , H1) / L(A , H0) =
considero: -2 log(Λ) = n ∑ki=h+1 log(1 - λi)-n/2
Questa statistica test ha distribuzione non stardard ma i quantili sono tabulati e rigettiamo per valori grandi.
- Test dell'autovalore max
H0: il rango di cointegrazione è h < k
H1: il rango di cointegrazione è h+1
Λ = (1 - λh+1)-n/2
considero: -2 log(Λ) = n log(1 - λh+1)
Questa statistica test ha distribuzione non stardard ma i quantili sono tabulati e rigettiamo per valori grandi.
5 casi tabulati per la varifica del rango di cointegrazione
Nelle tavole create per i due test per la verifica del rango di cointegrazione si distinguono 5 casi a seconda dell'eventuale presenza della componente deterministica.
Ipotiziamo un modello generico:
ΔXt = Β AT Xt + μ0 + μ1 t + εt
t.c. μ0 = a0Β + γ0 ; μ1 = a1 Β + γ1
Allora i 5 casi che possiamo distinguere sono:
CASO 1:
μ1 = μ0 = 0
Il modello ECM ha costante nulla così come le serie differenziate. Il processo non differenziato xt non possiede trend deterministici lineari.
CASO 2:
μ1 = 0 e μ0 ≠ 0 (con a0 ≠ 0 ; γ0 = 0)
Nel modello ECM si ha costante diversa da zero, vincolata a trovarsi
solo nella relazione di cointegrazione. Il processo originario Xt non possiede trend deterministici lineari. Le differenze prime hanno media nulla. L'unica componente deterministica è l'intercetta delle relazioni di cointegrazione.
CASO 3:
μ1 = 0 e μ0 ≠ 0 (con a0 ≠ 0 ; γ0 ≠ 0)
Nel modello ECM si ha costante diversa da zero e il processo
originario Xt possiede un trend deterministico lineare. Le differenze prime
hanno media costante diversa da zero, le variabili originarie hanno un trend
deterministico lineare, con una parte specifica della variabile ed una in
comune; quest'ultima rientra come costante nell'equazione cointegrante.
CASO 4:
μ1 = 0 (con a1 ≠ 0 ; γ1 = 0) e μ0 ≠ 0 (con a0 ≠ 0 ; γ0 ≠ 0)
Nel modello ECM e il processo originario Xt possiedono entrambi un
trend deterministico lineare. Le differenze prime hanno media costante
diversa da zero, le variabili in livello hanno un trend deterministico
quadratico, ma questo è comune a tutte le serie; questo determina la
presenza di un trend lineare nell'equazione cointegrante, che quindi è
stazionaria intorno ad un trend deterministico lineare.
CASO 5:
μ1 = 0 (con a1 ≠ 0 ; γ1 ≠ 0) e μ0 ≠ 0 (con a0 ≠ 0 ; γ0 ≠ 0)
Nel modello ECM si ha un trend deterministico lineare mentre il
processo originario Xt possiede un trend deterministico quadratico. Le
differenze prime sono stazionarie intorno ad un trend deterministico, le
variabili in livello hanno un trend deterministico quadratico con una parte
specifica della variabile ed una in comune; quest'ultima rientra
nell'equazione cointegrante come un trend lineare.
### Modello VECM e cointegrazione
# Riprendiamo esempio della metafora dei due ubriachi
n <- 100
eps <- rnorm(n);eps2 <- rnorm(n)
z0<- x0 <- rep(0, 100)
for (i in seq.int(2, 100)){
# persona ubriaca zoppa
z0[i] <- 1*z0[i-1] + 0.1 + eps[i]
# persona ubriaca che aiuta zoppo
x0[i] <- 0.6*z0[i-1] + eps2[i]
}
dati<-as.data.frame(cbind(z0,x0))
#Test di Johansen (traccia)
vecm <- ca.jo(dati, type = "trace", ecdet = "none", K =2)
vec2var(vecm,r=1)
##
## Coefficient matrix of lagged endogenous variables:
##
## A1:
## z0.l1 x0.l1
## z0 0.9799309 -0.093289080
## x0 0.5410979 0.003056476
##
##
## A2:
## z0.l2 x0.l2
## z0 0.1916015 -0.19661290
## x0 0.0766579 -0.04710763
##
##
## Coefficient matrix of deterministic regressor(s).
##
## constant
## z0 0.1953953
## x0 0.0612081
##
## ######################
## # Johansen-Procedure #
## ######################
##
## Test type: trace statistic , with linear trend
##
## Eigenvalues (lambda):
## [1] 0.4194067418 0.0006979154
##
## Values of teststatistic and critical values of test:
##
## test 10pct 5pct 1pct
## r <= 1 | 0.07 6.50 8.18 11.65
## r = 0 | 53.35 15.66 17.95 23.52
##
## Eigenvectors, normalised to first column:
## (These are the cointegration relations)
##
## z0.l2 x0.l2
## z0.l2 1.000000 1.0000000
## x0.l2 -1.690071 0.2712602
##
## Weights W:
## (This is the loading matrix)
##
## z0.l2 x0.l2
## z0.d 0.1715324 -0.003432119
## x0.d 0.6177558 0.001062155
#Test di Johansen (autovalore max)
vecm2 <- ca.jo(dati, type = "eigen", ecdet = "none", K =2)
summary(vecm2)
##
## ######################
## # Johansen-Procedure #
## ######################
##
## Test type: maximal eigenvalue statistic (lambda max) , with linear trend
##
## Eigenvalues (lambda):
## [1] 0.4194067418 0.0006979154
##
## Values of teststatistic and critical values of test:
##
## test 10pct 5pct 1pct
## r <= 1 | 0.07 6.50 8.18 11.65
## r = 0 | 53.28 12.91 14.90 19.19
##
## Eigenvectors, normalised to first column:
## (These are the cointegration relations)
##
## z0.l2 x0.l2
## z0.l2 1.000000 1.0000000
## x0.l2 -1.690071 0.2712602
##
## Weights W:
## (This is the loading matrix)
##
## z0.l2 x0.l2
## z0.d 0.1715324 -0.003432119
## x0.d 0.6177558 0.001062155
s = 1.000*z0 - 1.663959*x0 #legame di cointegrazione
plot(s, type="l")
adfTest(s,type="nc",lags=1)
##
## Title:
## Augmented Dickey-Fuller Test
##
## Test Results:
## PARAMETER:
## Lag Order: 1
## STATISTIC:
## Dickey-Fuller: -6.0945
## P VALUE:
## 0.01
##
## Description:
## Fri Sep 07 15:44:38 2018 by user: gieck
vecm.r1 <- cajorls(vecm, r = 1)
alpha <- coef(vecm.r1$rlm)[1,]
beta <- vecm.r1$beta
#5 casi di cointegrazione
data(Canada)
#Caso 1 nessun vincolo non presente in R
# Caso 2 Costante non vincolata
vecm2 <- ca.jo(Canada, type = "trace", ecdet = "none", K =3)
# Caso 3 Costante vincolata
vecm3 <- ca.jo(Canada, type = "trace", ecdet = "const", K =3)
# Caso 4 Trend vincolato
vecm4 <- ca.jo(Canada, type = "trace", ecdet = "trend", K =3)
#Caso 5 Costante e Trend non vincolata non presente in R
summary(vecm2)
##
## ######################
## # Johansen-Procedure #
## ######################
##
## Test type: trace statistic , with linear trend
##
## Eigenvalues (lambda):
## [1] 0.4178095906 0.1828654502 0.1239725052 0.0007523871
##
## Values of teststatistic and critical values of test:
##
## test 10pct 5pct 1pct
## r <= 3 | 0.06 6.50 8.18 11.65
## r <= 2 | 10.78 15.66 17.95 23.52
## r <= 1 | 27.14 28.71 31.52 37.22
## r = 0 | 70.96 45.23 48.28 55.43
##
## Eigenvectors, normalised to first column:
## (These are the cointegration relations)
##
## e.l3 prod.l3 rw.l3 U.l3
## e.l3 1.0000000 1.0000000 1.0000000 1.0000000
## prod.l3 0.6409112 0.2993239 -0.5765703 -0.1674879
## rw.l3 -0.6996053 -0.3775646 -0.3098725 -0.3210560
## U.l3 0.5506937 2.7029914 1.7800952 1.5046076
##
## Weights W:
## (This is the loading matrix)
##
## e.l3 prod.l3 rw.l3 U.l3
## e.d 0.025577740 0.1542901 -0.01923271 -0.004492451
## prod.d 0.001322905 0.1470512 0.08043698 0.015693650
## rw.d 0.095275595 -0.1653593 0.13744785 -0.001148642
## U.d 0.007709430 -0.1220844 -0.02034877 0.005043952
##
## ######################
## # Johansen-Procedure #
## ######################
##
## Test type: trace statistic , without linear trend and constant in cointegration
##
## Eigenvalues (lambda):
## [1] 5.619084e-01 2.067893e-01 1.241824e-01 5.502064e-02 -8.115665e-15
##
## Values of teststatistic and critical values of test:
##
## test 10pct 5pct 1pct
## r <= 3 | 4.58 7.52 9.24 12.97
## r <= 2 | 15.32 17.85 19.96 24.60
## r <= 1 | 34.09 32.00 34.91 41.07
## r = 0 | 100.94 49.65 53.12 60.16
##
## Eigenvectors, normalised to first column:
## (These are the cointegration relations)
##
## e.l3 prod.l3 rw.l3 U.l3 constant
## e.l3 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000
## prod.l3 0.5175539 0.2784319 -0.5024247 0.5680653 -0.1357442
## rw.l3 -0.5809564 -0.3514234 -0.3185323 -0.4769518 -0.3283532
## U.l3 1.3287436 2.8794520 1.8360495 2.5158096 1.5437606
## constant -900.1428894 -930.1029338 -616.0750504 -989.6170094 -758.5196674
##
## Weights W:
## (This is the loading matrix)
##
## e.l3 prod.l3 rw.l3 U.l3 constant
## e.d 0.04212272 0.10050067 -0.01583762 0.029356910 4.788044e-11
## prod.d 0.04600305 0.17137682 0.08507953 -0.057954672 7.044160e-11
## rw.d 0.11985585 -0.20631119 0.14834704 0.004323796 6.291878e-13
## U.d 0.01106869 -0.08943698 -0.02578978 -0.025521676 -4.083406e-11
##
## ######################
## # Johansen-Procedure #
## ######################
##
## Test type: trace statistic , with linear trend in cointegration
##
## Eigenvalues (lambda):
## [1] 4.505013e-01 1.962777e-01 1.676668e-01 4.647108e-02 1.896912e-16
##
## Values of teststatistic and critical values of test:
##
## test 10pct 5pct 1pct
## r <= 3 | 3.85 10.49 12.25 16.26
## r <= 2 | 18.72 22.76 25.32 30.45
## r <= 1 | 36.42 39.06 42.44 48.45
## r = 0 | 84.92 59.14 62.99 70.05
##
## Eigenvectors, normalised to first column:
## (These are the cointegration relations)
##
## e.l3 prod.l3 rw.l3 U.l3 trend.l3
## e.l3 1.00000 1.0000000 1.0000000 1.00000000 1.00000000
## prod.l3 -41.92624 0.7723987 -0.3468422 0.23574849 -0.12062153
## rw.l3 -76.94645 -0.2572818 -0.4848433 -0.03286331 -0.29511866
## U.l3 -132.85358 2.6289928 2.5757023 1.61283935 1.51474627
## trend.l3 54.56956 -0.1778682 0.1766543 -0.37545112 -0.03414891
##
## Weights W:
## (This is the loading matrix)
##
## e.l3 prod.l3 rw.l3 U.l3 trend.l3
## e.d 0.0002028169 0.14777357 0.02351692 0.01691655 -3.920432e-12
## prod.d 0.0001558757 -0.03577745 0.20463284 -0.06258514 2.173585e-11
## rw.d 0.0011022537 -0.18875801 0.04885538 0.05046075 2.731205e-11
## U.d 0.0001125446 -0.07967784 -0.05973735 -0.02781459 1.643948e-12