- 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
Dentro de la Econometría de Series de Tiempo podemos estudiar el concepto de series de Paseo Aleatorio(Random Walk). La característica principal de estas series es que son NO ESTACIONARIAS. Eso sí podemos transformarlas en ESTACIONARIAS mediante la diferenciación,lo que producirá una serie estacionaria, es decir, una serie de ruido blanco medio cero.
Por ejemplo, los precios de las acciones siguen un modelo de paseo aleatorio, y la serie de retornos (diferenciación de series de precios) seguirá el modelo de ruido blanco. Lo que significa que El precio de hoy de las acciones es igual al precio de ayer más un choque aleatorio. En el siguiente tutorial vamos a explicar los diferentes tipos de Paseos Aleatorios y luego haremos un ejemplo de simulación en R.
MÁS ABAJO PUEDES COPIAR EL CÓDIGO R DEL VIDEO
CÓDIGO R DEL TUTORIAL
# PASEO ALEATORIO
#install.packages("quantmod")
library(quantmod)
#install.packages("tseries")
library(tseries)
#install.packages("forecast")
library(forecast)
#install.packages("TSA")
library(TSA)
#install.packages("Quandl")
library(Quandl)
#1. Descargamos las variables que vamos a usar
getSymbols("INDPRO",src="FRED") #Industrial Production Index
getSymbols("UMCSENT",src="FRED") #University of Michigan: Consumer Sentiment
getSymbols("FEDFUNDS",src="FRED") #tasa interes fondos federales
getSymbols("CCRETT01USM661N",src="FRED") #Tipo de cambio efectivo IPC
getSymbols("M2NS",src="FRED") #Stock de dinero M2
getSymbols("PAYEMS",src="FRED") # Des trabajadores no rurales
getSymbols("BOPGSTB",src="FRED") #Balance cuenta, Diferencia entre exp e imp
getSymbols("EXUSUK",src="FRED") #GBP mensual
plot(EXUSUK,type="l")
plot(M2NS,type="l")
GBP_diff <- na.omit(diff(EXUSUK))
plot(GBP_diff,type="l",main ="Serie EXUSUK Diferenciada")
# SIMULACIÓN PASEO ALETATORIO sin deriva
Pas_Aleatorio <- arima.sim(model= list(order = c(0, 1, 0)), n=200)
plot.ts(Pas_Aleatorio,main="Paseo Aleatorio", col=4)
# PRIMERAS DIFERENCIAS
Pas_Aleatorio_diff <- diff(Pas_Aleatorio)
plot(Pas_Aleatorio_diff,type="l")
mean(Pas_Aleatorio_diff)
sd(Pas_Aleatorio_diff)
# PASEO ALEATORIO CON DERIVA(DRIFT)
Pas_Aleatorio_deriva <- arima.sim(model= list(order = c(0, 1, 0)), n=200, mean=1,sd=5)
plot.ts(Pas_Aleatorio_deriva, main="PASEO ALEATORIO CON DERIVA")
# ESTIMACION DE UN MODELO DE PASEO ALEATORIO
#Para ajustar un modelo de paseo aleatorio con deriva a una serie temporal,
#seguiremos los siguientes pasos
#1.Tome la diferencia de primer orden de los datos.
#2.Ajuste el modelo de ruido blanco a los datos diferenciados usando la función arima() con orden de c(0,0,0).
#3.Trazar la trama de la serie de tiempo original.
#4.Agregue la tendencia estimada usando la función abline() proporcionando la intersección que obtuvimos al ajustar el modelo de Ruido Blanco como la pendiente.
#1.Diferencia de primer orden
Pas_Aleatorio_deriva_diff <-diff(Pas_Aleatorio_deriva)
plot.ts(Pas_Aleatorio_deriva_diff, col=4, main="DIFERENCIA PRIMER ORDEN")
#2.Ajuste el modelo de ruido blanco a los datos diferenciados
ruido_blanco <- arima(Pas_Aleatorio_deriva_diff, order = c(0, 0, 0))
ruido_blanco
#3. Grafico Paseo Aleatorio Original
plot.ts(Pas_Aleatorio_deriva,col=4, main="PASEO ALEATORIO CON DERIVA")
#4.Añadimos la tendencia estimada
abline(0, ruido_blanco$coef,col=2)
ruido_blanco$coef