DESARROLLO DEL TALLER 8 DE ECONOMETRÍA 2

A continuación se muestran los códigos necesarios para la estimación de las pruebas del taller.

Código del Desarrollo del Punto 4

library(tseries)
library(lmtest)
library(uroot)
library(urca)
library(broom)
library(aTSA)
library(egcm)
library(readxl)
library(stargazer)

#|----------------------------------------------------------------------------|#

#| Directorio
setwd("C:/Programacion en R/5. ECONOMETRIA 2/ECO-EJ9")

#| Datos como CT
DATA <- read_excel("Punto4.xlsx")
View(DATA)

#| Conversión a ST
X <- ts(DATA[,2], start = c(1960,1), frequency = 4)
Y <- ts(DATA[,3], start = c(1960,1), frequency = 4)
X
#| Graficas de las ST
par(mfrow=c(1,1))
ts.plot(Y,main="Gráfica de las Series de Tiempo", col = "red",lwd=2)
ts.plot(X,main="Gráfica de las Series de Tiempo", col = "red",lwd=2)
#|---------------------------------------------------------------------------|#

#| PRUEBAS DE INTEGRACIÓN

#| En Niveles
PDF1 <- ur.df(Y, type="drift", selectlags = 'AIC')
summary(PDF1) #| ADF>VC => Tiene RU

PDF2 <- ur.df(X, type="drift", selectlags = 'AIC')
summary(PDF2) #| ADF>VC => Tiene RU

#| En Diferencias
PDF1 <- ur.df(diff(Y), type="none", selectlags = 'AIC')
summary(PDF1) #| ADF<VC => No Tiene RU

PDF2 <- ur.df(diff(X), type="none", selectlags = 'AIC')
summary(PDF2) #| ADF<VC => No Tiene RU

#| Ya que X e Y son I(1) 
#| Se requiere probar si X e Y estan cointegradas
#| Siempre se debe probar la integración de orden 1

#|-------------------->>| PRUEBA DE ENGLE-GRANGER - EG |<<--------------------|#

#| Prueba EG Manual

#| Paso 1. Estimar la Relación de Interés
OLS <- lm(Y~X)
summary(OLS)
coeftest(OLS)

stargazer(OLS,title="Resultados de la Regresión", 
          dep.var.labels=c("INDPROD"), 
          covariate.labels=c("M1NSA"), 
          single.row=TRUE, 
          type = "text",out="ResultsPunto4.doc")

ERR <- OLS$residuals

#| Paso 2. Prueba ADF caso 1
PC_ADF <- ur.df(ERR,type="none",lags = 0)
PC_ADF <- ur.df(ERR,type="none",selectlags = "AIC")
summary(PC_ADF)

Código del Desarrollo del Punto 5

library(writexl)
library(WriteXLS)
library(xts)
library(ecm)
library(stargazer)
library(dynlm)
library(tseries)
library(uroot)
library(urca)
library(cointReg)
library(readxl)

#|----------------------------------------------------------------------------|#

#| Directorio
setwd("C:/Programacion en R/5. ECONOMETRIA 2/ECO-EJ9")
dir()
#| Datos como CT
DATA <- read_excel("Rendimientos.xlsx")
View(DATA)

#| Datos como ST
X_r3 <- ts(DATA[,2], start = c(1), frequency = 4)
Y_r6 <- ts(DATA[,3], start = c(1), frequency = 4)

par(mfrow=c(1,1))
ts.plot(X_r3, main="Gráfica de las Series de Tiempo", col = "red",lwd=2)
lines(Y_r6,lwd=2)
#|----------------------------------------------------------------------------|#

#| PRUEBAS DE RAÍZ UNITARIA

#| En Niveles
ADFX1 <- ur.df(X_r3, type="drift", selectlags = "AIC")
summary(ADFX1)  #| No se Rechaza Ho => Tiene RU
#| En Diferencias
ADFX2 <- ur.df(diff(X_r3), type="none", selectlags = "AIC")
summary(ADFX2) #| Si se Rechaza Ho => No Tiene RU

#| En Niveles
ADFY1 <- ur.df(Y_r6, type="drift", selectlags = "AIC")
summary(ADFY1 )  #| No se Rechaza Ho => Tiene RU
#| En Diferencias
ADFY2  <- ur.df(diff(Y_r6), type="none", selectlags = "AIC")
summary(ADFY2) #| Si se Rechaza Ho => No Tiene RU

#| Es decir que ambas series de tiempo son I(1)

#|----------------------------------------------------------------------------|#

#| PRUEBAS DE COINTEGRACIÓN

#|----------------------------------------------------------------------------|#

#| PRUEBA EG (Engle y Granger)

#| Paso 1. Estimar la relación de interés y obtener los errores
MODEL <- lm(Y_r6~X_r3)
summary(MODEL)
ERR_EG <- MODEL$residuals

#| Paso 2. Prueba de RU sobre los errores
EG <- ur.df(ERR_EG,type="none",lags = 0)
summary(EG)


#|----------------------------------------------------------------------------|#

#| Pruepa PO (Phillips y Ouliaris)

#| Paso 1. Estimar la relación de interés y obtener los errores
MODEL <- lm(Y_r6~X_r3)
summary(MODEL)
ERR_EG <- MODEL$residuals


#| Paso 2. Prueba PP caso 1

PO_zt <- ur.pp(ERR_EG, type="Z-tau")
summary(PO_zt)

PO_za <- ur.pp(ERR_EG, type="Z-alpha")
summary(PO_za)

data <- ts(cbind(Y_r6,X_r3))

PO_pu <- ca.po(data, demean = "constant", type = "Pu")
summary(PO_pu) 

PO_pz <- ca.po(data, demean = "constant", type = "Pz")
summary(PO_pz)

#|----------------------------------------------------------------------------|#

#| ESTIMACIÓN DE LA ECUACIÓN DE COINTEGRACIÓN

#| 1. OLS
OLS <- lm(Y_r6~X_r3)
summary(OLS)

#| 2. FM-OLS
deter <- rep(1, times = 124)
FM_OLS <- cointReg("FM", X_r3,Y_r6, deter, kernel = "ba", bandwidth = "and")
print(FM_OLS)

#| 3. DOLS (ACA SE CORRIGE PORBLEMAS DE AC Y ENDOGENEIDAD)
D_OLS <- cointReg("D", X_r3,Y_r6, deter, kernel = "ba", bandwidth = "and", n.lead = NULL, n.lag = NULL, info.crit = "AIC")
print(D_OLS)


#|----------------------------------------------------------------------------|#

#| RELACIÓN DE LARGO PLAZO

#| Residuales de MCO
OLS_E<- ts(OLS$residuals, start = c(1), frequency = 4)
#| Residuales de FMOLS
FMOLS_E <- ts(FM_OLS$residuals, start = c(1), frequency = 4)
#| Residuales de DOLS
DOLS_E <- ts(D_OLS$residuals, start = c(1), frequency = 4)

par(mfrow=c(1,1))
plot(OLS_E, main = "Relacion de Equilibrio de Largo Plazo", col="purple")
lines(FMOLS_E, col="blue")
lines(DOLS_E, col="red")
abline(h = 0, col = "black")  #| Linea Horizontal- Equilibrio de LP

RESULTS5 <- as.data.frame(FMOLS_E)
write_xlsx(RESULTS5,"ResultsPunto5.xlsx")
#|----------------------------------------------------------------------------|#

#| MODELO DE CORRECCIÓN DE ERRORES

MCE <- dynlm(diff(Y_r6)~diff(X_r3)+L(OLS_E,1))
summary(MCE)


stargazer(MCE,title="Modelo de Corrección de Errores (MCE) - MCO", 
          dep.var.labels=c("r6"), 
          covariate.labels=c("r3"), 
          single.row=TRUE, 
          type = "text",out="ResultsPunto5.doc")
#|----------------------------------------------------------------------------|#