Vectores Autoregresivos(VAR) en Rstudio

Los Vectores Autoregresivos(VAR) 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.

De esta forma crearemos un sistema de ecuaciones para sacar los parámetros. En el tutorial de más abajo veremos estos modelos utilizando Rstudio. La idea de este video no es tanto coger unas cuantas series de datos y directamente realizar el modelo VAR. SI no lo que haremos será hacer simulaciones en base a un modelo dado y entender las ecuaciones teóricas sobre las que el modelo trabaja.

Bajo el vídeo tienes también el código en R .

CÓDIGO EN R 


#MODELOS VAR VIDEO SIM


#PASOS A SEGUIR


#1. Establecer el lag polinomial A(L)

#2.Fijamos la  matriz identidad

#3 Fijamos el termino constante

#4 creamos un modelo VAR 2 con ARMA y los datos anteriores

#5 simulanos "x" valores con el modelo

#6 Graficos y otras comprobaciones



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

#♠Paquetes necesarios

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

#1. Establecer el lag polinomial A(L)

Apoly <- array (c(1.0 , -0.5, 0.3 , 0, 0.2 , 0.1 , 0, -0.2,
                  0.7 , 1, 0.5 , -0.3),
                c (3 , 2, 2))
Apoly

#2.Fijamos la  matriz identidad

B <- diag(2)
B

#3 Fijamos el termino constante

const <- c(5,10)
const

#4 creamos un modelo VAR 2 con ARMA y los datos anteriores

var2 <- ARMA(A = Apoly , B = B, TREND = const)
var2

#5 simulanos "x" valores con el modelo

varsim <- simulate ( var2 , sampleT = 500, 
                     noise = list(w = matrix ( rnorm (1000) , 
                                               nrow = 500 , ncol = 2) ) , rng = list( seed = c (123456)))

varsim

### creacion var con las simulaciones

#6 Graficos y otras comprobaciones

#obtenemos las series generadas 

var2_datos<- matrix(varsim$output , nrow = 500 , ncol = 2) 

colnames(var2_datos)<-c("y1","y2")

# GRAFICO DE LAS SIMULACIONES 

plot.ts(var2_datos)



#Determinar un lag-order apropiado

infocrit <- VARselect(var2_datos,lag.max = 3,type= "const")
infocrit

#ESTIMAMOS EL MODELO

var2_prueba <- VAR(var2_datos,p=2,type="const",season=NULL,exogen=NULL)

var2_prueba


# estimacion del modelo estableciendo SC por ejemplo

varsimtest <- VAR(var2_datos,p=2,type="const",lag.max=3,ic="SC")


varsimtest

Deja un comentario

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

Scroll al inicio