COINTEGRACION Y CAUSALIDAD
Marcela Guadalupe Hernandez Montoya
COINTEGRACION Y CAUSALIDAD
Explique cómo realizar las siguientes pruebas en R:
1. Prueba de Raíz Unitaria de Dickey & Fuller.
Propósito de la prueba, es decir ¿Para qué se usa?
La definicion dice que cuando una raiz unitaria en una serie de tiempo, el valor de uno se encuentra dentro de los circulos unitarios dentro del plano complejo.
Se usa para saber si una serie de tiempo, tiene raiz unitaria o es una serie estacionaria. Pero va mucho mas alla ya que ayuda a detectar si en la serie de raiz unitaria, podria tener una tendencia estocastica, que no regrese a su promedio, o si tiene alguna varianza que aumente con el tiempo y tambien se dice que puede ser impredecible a largo plazo ya que esto afecta directamente la forma de modelar en la prueba.
Podemos señalar que para hacer estudios de estabilidad economica, puede estimar PIB, Inflacion, Tasa de Interes, Tipo de Cambio, Exportaciones, Importaciones.
Su ecuacion se puede escribir como:
\[ \Delta y_t = \alpha + \beta t + \gamma y_{t-1} + \delta \Delta y_{t-1} + \varepsilon_t \] Dónde:
Δ : es el operador de diferencia,
yt :es el valor de la serie temporal en el momento t
α :es un término constante,
βt: representa una tendencia temporal,
γ: es el coeficiente en el nivel rezagado de la serie, y
ϵt: es el término de error.
Una raíz unitaria está presente si ϕ1=1 y todos los demás ϕ son cero.
Para continuar pasaremos a el siguiente tema:
Hipótesis de la prueba. (explique el porqué de las hipótesis Nula y Alternativa)
Para empezar, la prueba de Dickey Fuller, tiene la siguiente hipotesis:
\[ \Delta Y_t = \alpha + \beta t + \gamma Y_{t-1} + \sum_{i=1}^{p} \delta_i \Delta Y_{t-i} + \varepsilon_t \] En la hipotesis de la prueba, tenemos que la hipotesis nula que se basa en considerar que la serie tiene una raiz unitaria, lo que da a entener que no es estacionaria y puede que los choques tengan efectos permanentes, esto se ve mejor reflejado cuando se analizan variables como el PIB, o los tipos de cambio, que no regresa a su valor anterior.
La Hipotesis alternativa que esta centrada mas en los planteamientos estacionarios, que se usan como mecanismos de ajuste que hace que se tome un equilibrio, se puede ver cuando se analizan variables como tasas de interes o precios agricolas, que se considera que vuelven a su nivel tipico despues de una perturbacion.
Haciendo un breve analisis de ambas y como esta se ve reflejada en la ecuacion tenemos que:
Cuando una serie temporal tiene una raíz unitaria, los efectos de los choques no se desvanecen con el tiempo, sino que generan cambios permanentes en el comportamiento de la variable. Tal como destacan Durlauf y Blume, si variables macroeconómicas como el PIB real contienen una raíz unitaria, entonces cualquier shock que las afecte tendrá consecuencias duraderas. En cambio, en los enfoques tradicionales del ciclo económico, se suele asumir que esos efectos sólo son transitorios.
Sintaxis de implementación en R, explicando cada uno de los argumentos.
Para explicar instalaremos la libreria “urca”
# ur.df(y, tipo = c("ninguno", "deriva", "tendencia"), rezagos = 1, selectlags = c("Fijo", "AIC", "BIC"))En sintesis, cada una se desglosa en: y: la serie temporañ que se quiere analizar.
type: estima que tipo de es, ya sea constante o tendencia. lags: cuántos rezagos de la diferencia de la serie se incluyen.
selectlags: Especifica como se selecciona el numero de rezagos.
Se cuenta también con otra función llamada “uniroot” pero esta función es solo para raices con una sola dimensión, no aplica como tal a la prueba Dickey Fuller.
Estadisticos de prueba
En los resultados de la prueba ADF, el valor del estadístico se refleja como p-value. Es importante tener presente que la hipótesis nula plantea que la serie posee una raíz unitaria, es decir, que no es estacionaria. Por lo tanto, si el p-value es inferior a 0.05, se rechaza la hipótesis nula y se concluye que la serie sí es estacionaria, con un nivel de confianza del 95%.
Criterio de decisión (haga referencia en la salida que genera R)
Como se mencionó antes, cuando el p-value es menor que el nivel de significancia de 0.05, no podemos aceptar la hipótesis nula. También es posible evaluar la estacionariedad mediante el coeficiente asociado al término rezagado (alfa), aunque este valor no se muestra de manera tan directa en los resultados de la función ur.df.
En este sentido, si el coeficiente α es igual a cero, esto indica que la serie se comporta como un paseo aleatorio, lo que significa que no es estacionaria. Por el contrario, si α toma un valor diferente de cero y además es negativo, entonces la dinámica de la serie muestra tendencia a volver a su media, lo cual es evidencia de estacionariedad.
Interpretación del rechazo, o no rechazo de la Hipótesis Nula de la prueba.
\[ H_0:\ \gamma = 0 \quad \text{(la serie tiene raíz unitaria)} \]
\[ H_1:\ \gamma < 0 \quad \text{(la serie es estacionaria)} \]
Ejemplo
## Warning: package 'urca' was built under R version 4.4.3
##
## ###############################################
## # Augmented Dickey-Fuller Test Unit Root Test #
## ###############################################
##
## Test regression trend
##
##
## Call:
## lm(formula = z.diff ~ z.lag.1 + 1 + tt + z.diff.lag)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.044714 -0.006525 0.000129 0.006225 0.045353
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.7976591 0.3547775 2.248 0.0270 *
## z.lag.1 -0.0758706 0.0338880 -2.239 0.0277 *
## tt 0.0004915 0.0002159 2.277 0.0252 *
## z.diff.lag1 -0.1063957 0.1006744 -1.057 0.2934
## z.diff.lag2 0.2011373 0.1012373 1.987 0.0500 .
## z.diff.lag3 0.2998586 0.1020548 2.938 0.0042 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.01307 on 89 degrees of freedom
## Multiple R-squared: 0.1472, Adjusted R-squared: 0.09924
## F-statistic: 3.071 on 5 and 89 DF, p-value: 0.01325
##
##
## Value of test-statistic is: -2.2389 3.7382 2.5972
##
## Critical values for test statistics:
## 1pct 5pct 10pct
## tau3 -4.04 -3.45 -3.15
## phi2 6.50 4.88 4.16
## phi3 8.73 6.49 5.47
\ La serie analizada muestra evidencia de poseer una raíz unitaria. En este caso, no es posible rechazar la hipótesis nula \(H_0: \gamma = 0\), dado que el es menor a 0.05. Esto indica que los efectos de los shocks permanecen en el tiempo, por lo que la variable no presenta estacionariedad y mantiene un comportamiento persistente dentro del sistema.
Cointegración en el enfoque de Soren Johansen.
Propósito de la prueba, es decir ¿Para qué se usa?
Primero es necesario conocer que la cointegracion en el enfoque de Soren Johansen. Basicamente es para determinar si un conjunto de variables no estacionarias, estan unidas una o mas relacion de largo plazo, para poder verificar si existe una combinacion lineal de ellos cuyos residuos sean estacionarios, de forma que el error no crezca y las variables se muevan a un mismo ritmo, y sus movimientos se mantengan estables.
El metodo basado en modelos VAR, un modelo autoregresivo vectorial general es similar al modelo, excepto que la cantidad tiene un valor vectorial y se utilizan matrices con coeficientes. La formula sin derivar es :
\[ X_t = \mu + A_1 X_{t-1} + \dots + A_p X_{t-p} + W_t \]
\[ X_t = \mu + A_1 X_{t-1} + \dots + A_p X_{t-p} + W_t \]
donde \(\mu\) es el vector de medias, \(A_1, \dots, A_p\) son las matrices de coeficientes para cada rezago y \(W_t\) es un término de ruido gaussiano multivariado con media cero.
\[ \Delta X_t = \mu + A X_{t-1} + L_1 \Delta X_{t-1} + \dots + L_p \Delta X_{t-p} + W_t \]
Aquí, \(\Delta X_t\) representa el operador diferencia, \(A\) es la matriz asociada al primer rezago en niveles y \(L_1, \dots, L_p\) son las matrices para los rezagos diferenciados. La condición \(A = 0\) implica ausencia de cointegración.
Contrasta \(r\) vectores de cointegración frente a \(r+1\).
Estadístico:
\[ - T \ln(1 - \hat{\lambda}_{r+1}) \]
Contrasta \(r\) vectores de cointegración frente a que el rango sea \(n\).
Estadístico: \[ - T \sum_{i=r+1}^{n} \ln(1 - \hat{\lambda}_i) \]
Dentro del enfoque de Johansen es fundamental verificar primero si las series presentan raíz unitaria. Las variables que resulten ser I(1) se agrupan en un modelo autorregresivo de vectores (VAR). A partir de este sistema es posible evaluar si existe una o varias combinaciones lineales estacionarias, conocidas como vectores de cointegración, que representan relaciones de equilibrio de largo plazo entre las variables (Cuéllar, 2021).
Ventajas del procedimiento:
No requiere definir una variable dependiente de forma explícita.
Permite identificar más de un vector de cointegración.
Considera todas las variables como endógenas dentro del sistema (Wassell y Saunders, 2008).
Hipotesis de la prueba
Las series temporales que componen \(X_t\) están cointegradas si existe algún vector \(a'\) tal que la combinación lineal \(a'X_t\) sea una variable aleatoria integrada de orden cero, es decir, \(I(0)\).
Si \(X_t\) no está cointegrada, entonces para cualquier vector \(a \neq 0\), la combinación \(a'X_t\) será una serie \(I(1)\). Por ello, las pruebas de cointegración determinan si \(a'X_t\) es \(I(0)\) o \(I(1)\).
\[ H_0: r = 0 \] No existe cointegración; el rango de la matriz es cero. En este caso, el modelo autorregresivo asociado a \(a'X_t\) contiene una raíz unitaria y, por tanto, no es estable.
\[ H_1: r > 0 \] Existe al menos una relación de cointegración; el rango es mayor que cero. Esto implica que una combinación lineal de las series es estacionaria y, porconsiguiente, el modelo autorregresivo para \(a'X_t\) es estable.
Esta formulación coincide con el planteamiento de Durlauf y Blume (2010), quienes enfatizan que la cointegración surge cuando variables no estacionarias mantienen una relación estructural que estabiliza su combinación lineal.
Sintaxis de implementacion en R, explicando cada uno de los argumentos.
Las variables que usaron son:
data.frame: Corresponde al conjunto de datos que se utilizará en el análisis. Es la base que contiene todas las series temporales que se incluirán en la prueba.
type: Define qué estadístico se empleará en la prueba de Johansen. Puede ser la opción “trace” (prueba de traza) o “eigen” (máximo eigenvalor), según el criterio de cointegración que se desee evaluar.
ecdet: Permite seleccionar la forma determinística del modelo, es decir, si se incorporará una constante, tendencia o algún componente determinístico adicional dentro del VECM.
spect: Este argumento se utiliza para indicar si el interés está en estimar componentes del modelo de corrección de errores vinculados al equilibrio de largo plazo (“longrun”) o a los ajustes transitorios (“transitory”).
Estadistico de prueba
De acuerdo con los resultados producidos por R, la decisión se basa en el , el cual indica el nivel mínimo de significación requerido para rechazar la hipótesis nula. Usualmente se considera un nivel de significancia \(\alpha = 0.05\), aunque este puede ajustarse según el criterio del investigador.
Las reglas de decisión son:
\[ \text{Rechazar } H_0 \quad \text{si } p < \alpha \]
\[ \text{No rechazar } H_0 \quad \text{si } p > \alpha \]
En estadística es común adoptar \(\alpha = 0.05\) como nivel estándar de significación (Cuéllar, 2021).
Además, pueden emplearse los estadísticos de Johansen:
\[ \ell^{*}_{r+1} - \ell^{*}_r = -T \ln(1 - \hat{\lambda}_{r+1}) \]
\[ \ell^{*}_A - \ell^{*}_0 = - T \sum_{i=r+1}^{n} \ln(1 - \hat{\lambda}_i) \]
Criterios
\[ p < 0.10 \quad \text{No significativo} \]
\[ 0.05 < p < 0.10 \quad \text{Marginalmente significativo} \]
\[ 0.01 < p < 0.05 \quad \text{Significativo} \]
\[ 0.001 < p < 0.01 \quad \text{Altamente significativo} \]
\[ p < 0.001 \quad \text{Fuertemente significativo} \]
Interpretacion del rechazo, o no rechazo de la hipotesis nula de la prueba.
Recahzar hipótesis nula implica: Se deben utilizar modelos que permitan resultados en los cuales trabajar los errores, como: ECM o ARDL VECM
No rechazar hipótesis nula: Se recomienda estimar el modelo en primeras diferencias
Ejemplo.
library(urca)
data(denmark)
sjd <- denmark[, c("LRM", "LRY", "IBO", "IDE")]
sjd.vecm <- ca.jo(sjd, ecdet = "const", type="eigen", K=2, spec="longrun",
season=4)
summary(sjd.vecm)##
## ######################
## # Johansen-Procedure #
## ######################
##
## Test type: maximal eigenvalue statistic (lambda max) , without linear trend and constant in cointegration
##
## Eigenvalues (lambda):
## [1] 4.331654e-01 1.775836e-01 1.127905e-01 4.341130e-02 6.853773e-16
##
## Values of teststatistic and critical values of test:
##
## test 10pct 5pct 1pct
## r <= 3 | 2.35 7.52 9.24 12.97
## r <= 2 | 6.34 13.75 15.67 20.20
## r <= 1 | 10.36 19.77 22.00 26.81
## r = 0 | 30.09 25.56 28.14 33.24
##
## Eigenvectors, normalised to first column:
## (These are the cointegration relations)
##
## LRM.l2 LRY.l2 IBO.l2 IDE.l2 constant
## LRM.l2 1.000000 1.0000000 1.0000000 1.000000 1.0000000
## LRY.l2 -1.032949 -1.3681031 -3.2266580 -1.883625 -0.6336946
## IBO.l2 5.206919 0.2429825 0.5382847 24.399487 1.6965828
## IDE.l2 -4.215879 6.8411103 -5.6473903 -14.298037 -1.8951589
## constant -6.059932 -4.2708474 7.8963696 -2.263224 -8.0330127
##
## Weights W:
## (This is the loading matrix)
##
## LRM.l2 LRY.l2 IBO.l2 IDE.l2 constant
## LRM.d -0.21295494 -0.00481498 0.035011128 2.028908e-03 2.437019e-13
## LRY.d 0.11502204 0.01975028 0.049938460 1.108654e-03 -1.738409e-13
## IBO.d 0.02317724 -0.01059605 0.003480357 -1.573742e-03 -2.139321e-14
## IDE.d 0.02941109 -0.03022917 -0.002811506 -4.767627e-05 -1.148246e-14
Causalidad en el sentido de Granger.
Propósito de la prueba, es decir ¿Para qué se usa?
El objetivo fundamental de la prueba de causalidad en el sentido de Granger es identificar si existe una relación predictiva entre dos series temporales. En términos simples, se busca determinar si los valores pasados de una variable contienen información útil para anticipar el comportamiento futuro de otra. Según el discurso del Premio Nobel de Clive Granger (2003), esta noción de causalidad se basa en dos principios:
La causa debe ocurrir antes que el efecto.
La causa debe aportar información adicional que no esté contenida en otras variables.
Cuando dos series temporales están vinculadas o muestran algún grado de dependencia, se dice que una de ellas puede “causar” a la otra en el sentido predictivo de Granger (Pañeda, 2009). Por ello, la presencia de causalidad se evalúa verificando si conocer los valores pasados de una serie mejora la capacidad de predicción de otra.
En economía, esta prueba tiene aplicaciones muy amplias. Por ejemplo, Gómez Aguirre y Rodríguez (2016) demostraron que los precios del productor pueden anticipar movimientos futuros en los precios al consumidor, mostrando una relación causal en sentido Granger donde los primeros ayudan a explicar la formación de la inflación.
Hipotesis de prueba
De acuerdo con López (2022), la prueba establece:
\[ H_0: \text{La serie } X_t \text{ no causa a } Y_t \text{ en el sentido de Granger.} \] Esto implica que los rezagos de \(X_t\) no aportan información estadísticamente relevante para predecir los valores futuros de \(Y_t\).
\[ H_1: \text{La serie } X_t \text{ sí causa a } Y_t \text{ en el sentido de Granger,} \] lo cual indica que los valores pasados de \(X_t\) contienen información significativa para explicar el comportamiento futuro de \(Y_t\).
\[ H_0: \beta_i = 0 \quad (i = 1, \dots, k) \]
\[ H_1: \beta_i \neq 0 \quad \text{para al menos un } i \]
Si todos los coeficientes asociados a los rezagos de \(X_t\) son iguales a cero, no existe
causalidad en el sentido de Granger.
Si al menos uno de ellos es distinto de cero, entonces sí existe
causalidad.
Sintasis de implementacion de R, explicando cada uno de los argumentos.
Argumentos:
X: serie candidata a ser explicada.
Y: serie que se evalúa como posible causa.
order: número de rezagos incluidos.
test: estadístico a utilizar (F por defecto).
Estadistico de prueba
La prueba de causalidad en el sentido de Granger se basa en comparar dos modelos: uno completo (no restringido) y uno restringido, con el fin de verificar si los rezagos de la serie \(X_t\) mejoran la capacidad de predicción sobre \(Y_t\).
\[ Y_t = \sum_{i=1}^{n} \alpha_i X_{t-i} + \sum_{j=1}^{n} \beta_j Y_{t-j} + \varepsilon_{1t} \]
X_t \[ Y_t = \sum_{j=1}^{n} \beta_j Y_{t-j} + \varepsilon_{2t} \]
El contraste se realiza comparando:
\[ F = \frac{(SCR - SCR_{nr})/m} {SCR_{nr}/(n - k)} \]
donde:Un valor elevado del estadístico \(F\), o un \(p\text{-value} < \alpha\), indica evidencia suficiente para rechazar la hipótesis nula de no causalidad.
Criterio de decision
\[ \text{Rechazar } H_0 \quad \text{cuando } p < \alpha \quad \Rightarrow \quad \text{Existe causalidad en el sentido de Granger.} \]
\[ \text{No rechazar } H_0 \quad \text{cuando } p \ge \alpha \quad \Rightarrow \quad \text{No hay evidencia de causalidad.} \]
También puede evaluarse la decisión comparando el valor del estadístico \(F\) con su respectivo valor crítico.
Replicando la salida del ejemplo planteado por Finnstats (2021) R, el valor p-value se encuentra denotado por Pr(>F).
## Warning: package 'lmtest' was built under R version 4.4.3
## Cargando paquete requerido: zoo
## Warning: package 'zoo' was built under R version 4.4.3
##
## Adjuntando el paquete: 'zoo'
## The following objects are masked from 'package:base':
##
## as.Date, as.Date.numeric
## Granger causality test
##
## Model 1: DAX ~ Lags(DAX, 1:3) + Lags(SMI, 1:3)
## Model 2: DAX ~ Lags(DAX, 1:3)
## Res.Df Df F Pr(>F)
## 1 1850
## 2 1853 -3 8.4968 1.322e-05 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Interpretación del rechazo, o no r
rechazo de la Hipótesis Nula de la prueba.
El rechazo de la hipótesis nula implica que la serie temporal \(X_t\) causa a \(Y_t\) en el sentido de Granger, dado que los coeficientes asociados a los rezagos de \(X_t\) resultan ser significativamente distintos de cero. Esto proporciona evidencia suficiente para concluir que la información pasada de \(X_t\) mejora la predicción de \(Y_t\).
En términos de varianza, se cumple que: \[ \sigma^{2}(Y_{t+1} \mid I_t) < \sigma^{2}(Y_{t+1} \mid I_t - X_t) \]
Es decir, la varianza del pronóstico de \(Y_{t+1}\) condicionada al conjunto de información \(I_t\), que incluye a \(X_t\), es menor que la varianza obtenida cuando el pronóstico se realiza sin considerar la información de \(X_t\). En línea con lo planteado por Granger, esto se debe a que la causa aporta información única y relevante. Por tanto, al rechazar la hipótesis nula, la reducción en la varianza del término de error confirma una mejora en la capacidad predictiva del modelo.
Por el contrario, si no se rechaza \(H_0\), significa que los valores pasados de \(X_t\) no contribuyen con información adicional significativa para predecir \(Y_t\), más allá de la contenida en los propios rezagos de \(Y_t\). En este caso, no existe evidencia suficiente para afirmar una relación de causalidad en el sentido de Granger entre las series \(X_t\) y \(Y_t\).
Ejemplo
A continuación se presenta el ejemplo extraido de (Benites, L. 2021) sobre el conjunto de datos ChickEgg que se encuentra en la libreria lmtest en ella se encuentra información sobre la cantidad de pollos y huevos que se ha producido en un periodo 53 años, es decir desde 1930 a 1983.
Se presentan dos series una denominada “chicken”, haciendo referencia al total de pollos en EE.UU. Mientras que “Egg” representa a la otra serie e indica la producción total de huevos en millones de docenas anuales.
## chicken egg
## [1,] 468491 3581
## [2,] 449743 3532
## [3,] 436815 3327
## [4,] 444523 3255
## [5,] 433937 3156
## [6,] 389958 3081
## Granger causality test
##
## Model 1: chicken ~ Lags(chicken, 1:8) + Lags(egg, 1:8)
## Model 2: chicken ~ Lags(chicken, 1:8)
## Res.Df Df F Pr(>F)
## 1 29
## 2 37 -8 3.1539 0.01078 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Interpretación: Apartir de la salida anterior, se puede evidenciar el valor P-value denotado por “Pr(>F)” que es de 0.010<0.05 lo que indica ser un valor menor al nivel de significancia. Por lo tanto,existe suficiente evidencia estadistica para rechazar la Hipótesis Nula.
En primera instancia, se evidencia que la serie huevos es causa granger de la serie pollo, esto a partir de la información historica del conjunto de información, en este caso el test se ha desarrollado con 8 rezagos en vez de los 3 que plantea (Benites, L. 2021), en ambos casos se rechaza la H0 lo cual es un buen indicador y lo que asegura que la segunda serie si aporta significativaente valor y por lo tanto la varianza es menor al modelo estimado con un solo conjunto de información. Sin embargo, es necesario realizar la prueba inversa de la siguiente forma:
Test de granger Inverso (Cambia el orden de las series) Premisa: La cantidad de pollos predice la cantidad futura de huevos
## Granger causality test
##
## Model 1: egg ~ Lags(egg, 1:8) + Lags(chicken, 1:8)
## Model 2: egg ~ Lags(egg, 1:8)
## Res.Df Df F Pr(>F)
## 1 29
## 2 37 -8 0.6101 0.7619
Interpretación: Se presenta el caso contrario al anterior, efectivamente el valor de P-value es mayor al nivel de significancia el 0.71 puntos, lo que indica que existe la suficiente evidencia estadistica para No rechazar la hipotesis nula y decir que no hay causalidad en este sentido contrario, en otras palabras, la cantidad de pollos no predice la cantidad de huevos y en terminos generales, pueden existir otros factores exogenos al modelo que afecten la cantidad futura.
Con datos aleatorios: El test tambien se puede utilizar con la creación de datos aleatorios a partir de un set de datos de 1,235.0 y tomando series de 5,000 cada una. #cargar datos
set.seed(12345)
ts1 <- ts(rnorm(n=5000))
ts2 <- ts(rnorm(n=5000))
library (lmtest)
grangertest(ts1, ts2, order=3, test="F")## Granger causality test
##
## Model 1: ts2 ~ Lags(ts2, 1:3) + Lags(ts1, 1:3)
## Model 2: ts2 ~ Lags(ts2, 1:3)
## Res.Df Df F Pr(>F)
## 1 4990
## 2 4993 -3 0.2882 0.834
Como resultado final, según el planteamiento de hipotesis de la prueba es evidente que existe suficiente evidencia estadistica para rechazar la hipótesis nula ya que el valor P-value es mayor al nivel de significancia, indicando de esta manera que la serie 2 no aporta valor de prección.
Bibliografia
Sandoval Pineda, W., Lemus Cruz, M. E., Sosa Rivas, K. A., Mejía López, L. M., Moreno Contreras, H. D., & Díaz Guevara, A. J. (2023). Prueba de cointegración bajo el enfoque de Johansen. Universidad Dr. Andrés Bello, Campus Chalatenango.
Johansen, S. (1988). Statistical analysis of cointegration vectors. Journal of Economic Dynamics and Control, 12(2–3), 231–254.
Granger, C. W. J. (1988). Some recent development in a concept of causality. Journal of Econometrics, 39(1–2), 199–211.