DESARROLLO DEL TALLER FINAL DE ECONOMETRÍA 2

A continuación se muestra el código necesario para la realización del taller.

library(tseries)
library(uroot)
library(urca)
library(vars)
library(readxl)

setwd("C:/Programacion en R/5. ECONOMETRIA 2/ECO-EJ10")

DATA <- read_excel("MONEY.xlsx")
View(DATA)

PY <- ts(DATA[,2], start = c(1959), frequency = 4)
M2 <- ts(DATA[,3], start = c(1959), frequency = 4)
Y  <- ts(DATA[,4], start = c(1959), frequency = 4)
TB <- ts(DATA[,5], start = c(1959), frequency = 4)

P <- PY/Y
M2P <- M2/P

LY   <- log(Y)
LM2P <- log(M2P)
LTB  <- log(TB)

GLY <- diff(LY)
GLM2 <- diff(LM2P)
GLTB <- diff(LTB)

data <- ts(cbind(GLM2,GLY,GLTB))

lagselect <- VARselect(data, lag.max = 12, type = "const")
lagselect
lagselect$selection

var <- VAR(data, type = "const", p=12)
summary(var)

serial.test(var, lags.pt = 16, lags.bg = 5, type = c("PT.asymptotic", "PT.adjusted", "BG", "ES"))

acf(residuals(var), lwd=1.5, col="red") 

normality.test(var, multivariate.only = TRUE) 

normality.test(var, multivariate.only = FALSE) 

PG_GLM2 <- causality(var, cause = "GLM2")
PG_GLM2

PG_GLY <- causality(var, cause = "GLY")
PG_GLY

PG_GLTB <- causality(var, cause = "GLTB")
PG_GLTB

forecast <- predict(var, n.ahead = 7, ci = 0.95)
fanchart(forecast, names = "GLM2", main = "Fanchart for GLM2", xlab = "Horizon", ylab = "GLM2")
fanchart(forecast, names = "GLY", main = "Fanchart for GLY", xlab = "Horizon", ylab = "GLY")
fanchart(forecast, names = "GLTB", main = "Fanchart for GLTB", xlab = "Horizon", ylab = "GLTB")

forecast

ir.GLM2_1 <- irf(var, impulse = "GLM2", response = "GLM2", n.ahead = 12)
plot(ir.GLM2_1, main = "IRF de GLM2 ante un shock en GLM2",lwd=2)

ir.GLM2_2 <- irf(var, impulse = "GLY", response = "GLM2", n.ahead = 12)
plot(ir.GLM2_2, main = "IRF de GLM2 ante un shock en GLY",lwd=2)

ir.GLM2_3<- irf(var, impulse = "GLTB", response = "GLM2", n.ahead = 12)
plot(ir.GLM2_3, main = "IRF de GLM2 ante un shock en GLTB",lwd=2)

ir.GLY_1 <- irf(var, impulse = "GLY", response = "GLY", n.ahead = 12)
plot(ir.GLY_1, main = "IRF de GLY ante un shock en GLY",lwd=2)

ir.GLY_2 <- irf(var, impulse = "GLM2", response = "GLY", n.ahead = 12)
plot(ir.GLY_2, main = "IRF de GLY ante un shock en GLM2",lwd=2)

ir.GLY_3<- irf(var, impulse = "GLTB", response = "GLY", n.ahead = 12)
plot(ir.GLY_3, main = "IRF de GLY ante un shock en GLTB",lwd=2)

ir.GLTB_1 <- irf(var, impulse = "GLTB", response = "GLTB", n.ahead = 12)
plot(ir.GLTB_1, main = "IRF de GLTB ante un shock en GLTB",lwd=2)

ir.GLTB_2 <- irf(var, impulse = "GLM2", response = "GLTB", n.ahead = 12)
plot(ir.GLTB_2, main = "IRF de GLTB ante un shock en GLM2",lwd=2)

ir.GLTB_3<- irf(var, impulse = "GLY", response = "GLTB", n.ahead = 12)
plot(ir.GLTB_3, main = "IRF de GLTB ante un shock en GLY",lwd=2)

var_des <- fevd(var, n.ahead = 12)
var_des
plot(var_des)