Últimas entradas de Victor A.Rico (ver todo)
- Medidas Estadísticas de Dispersión Relativa - junio 11, 2024
- Modelos SARIMA(Arima Estacionales).¿Qué son y cómo usarlos para Predecir? - enero 4, 2024
- ¿Qué es el RUIDO BLANCO ? Econometría en R - junio 21, 2023
👍 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
Muy interesante
Muchas Gracias Faustino!!
Gracias amigo!!