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)