Modelos VAR (Vectores Autoregresivos) en R.

👍 Los Vectores Autoregresivos son un tipo de modelo econométrico muy conocido de carácter multivariante, que son una extensión de los modelos autoregresivos univariantes como los ARIMA.

👉 La particularidad que tenemos en este tipo de modelos es que lo que haremos es considerar las relaciones existentes entre las variables de manera que no tendremos una variable dependiente y otras independientes,sino que todas las consideraremos en igualdad de condiciones.

😁Estos modelos son usados mucho en pronósticos, y para ver los efectos que tienen los movimientos de unas variables sobre otras( Impulso- respuesta).

🖐️ En éste vídeo explico este tipo de modelos y hago un ejemplo en R studio usando el series financieras.

CÓDIGO EN R



# Video Vectores Autoregresivos


# Modelos VAR 


# Caracteristicas :


# Multivariados
# Diremos que son una extensión de los Modelos Autoregresivos Univariantes
# Particularidad = No hay variables endógenas y exógenas
# Sistemas de ecuaciones para obtener parámetros
# Base de JOHANSEN
# Uso para pronóstico e IMpulso-Respuesta



# VAR reducidos y Estructurales(SVAR)



#install.packages("quantmod")
library(quantmod)
#install.packages("tseries")
library(tseries)
#install.packages("fImport")
library(fImport)


#Modelos de cointegracion


#Cargar la libreria urca
library(urca)
library(car)

#install.packages("vars")
library("vars") 


#"DEXUSEU","DEXUSUK","DEXJPUS","DEXUSNZ","DEXCAUS"

getSymbols("EXUSEU",src="FRED")   #EURSUD mensual
getSymbols("EXUSUK",src="FRED")   #GBPUSD m
getSymbols("EXCAUS",src="FRED")   #USDCAD m



EURUSD=EXUSEU["2010-01::2019-12"]
GBPUSD=EXUSUK["2010-01::2019-12"]
USDCAD=EXCAUS["2010-01::2019-12"]



## 1. Comprobar estacionariedad


plot(EURUSD,type="l")
plot(GBPUSD,type="l")
plot(USDCAD,type="l")


## Siempre uso dickey fuller(video con otros métodos)

adf.test(EURUSD)    
adf.test(GBPUSD)
adf.test(USDCAD)


## Transformar series si no son estacionarias


rEURUSD<-na.omit(returns(EURUSD))
plot(rEURUSD,type="l")
adf.test(rEURUSD)


rGBPUSD<-na.omit(returns(GBPUSD))
plot(rGBPUSD,type="l")
rUSDCAD<- na.omit(returns(USDCAD))
plot(rUSDCAD,type="l")


forex<- data.frame(rEURUSD,rGBPUSD,rUSDCAD)
forex


### Aplicamos el VAR Reducido


#varF <- VAR(forex,ic="AIC")
#varF

#summary(varF)


VARselect(forex,type="none")



varF <- VAR(forex,p=1,type="none",ic="AIC")
varF
summary(varF)

?VAR

#varF <- VAR(forex,type="both",ic="AIC")
#varF
#summary(varF)



plot(varF)     # #Diagram of fit and residuals for each variables
coef(varF)     # coeficientes

residuals(varF) #residuos

fitted(varF)    #fitted values


varF$varresult$EXUSEU


### Fórmula para hacer Predicciones

predVAR<- predict(varF)
predVAR

plot(predVAR)


### IMPULSO RESPUESTA

## Para ver cómo se comportan las demás series despues de 
## un shock en la la ota serie


impul <- irf(varF)
impul
plot(impul)

summary(impul)




# Calculate impulse response acumulada

ir.ac <- irf(varF,n.ahead = 10,ortho = FALSE,
            cumulative = TRUE)

plot(ir.ac)



## VAR ESTRUCTURAL


# 1 Fijamos la matriz

matriz <- diag(3)

matriz[2,1] <- NA
matriz[2,3] <- NA
matriz[3,1] <- NA

matriz

# erusud no tiene efecto contemporáneo en gbpusd
  
VARst <- SVAR(varF,estmethod= "direct",Amat = matriz) 
VARst
summary(VARst)
?SVAR

irf.VARst <- irf(VARst)
plot(irf.VARst)

predVARst<- predict(VARst)
predVARst

fevd(VARst)
?fevd



3 comentarios en “Modelos VAR (Vectores Autoregresivos) en R.”

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Scroll al inicio