1. De la tendencia lineal a los modelos autorregresivos AR(p)
Nivel 9: Series Temporales - ARIMA y GARCH
En el nivel anterior aprendiste a comprobar si una serie es estacionaria (gráfico, estadísticos móviles, test ADF) y a leer la ACF y la PACF. Damos por sabido todo eso: aquí empezamos a modelar y predecir.
El modelo más ingenuo es el modelo lineal, también llamado modelo de tendencia. Describe una serie que se puede dibujar con una línea recta: el valor en el instante t es un nivel inicial más una pendiente multiplicada por el tiempo, más ruido. Sin fórmulas matematicas, en Python plano:
import numpy as np
# x[t] = a0 + a1 * t + w[t]
# a0 -> nivel inicial, a1 -> incremento constante por paso, w[t] -> ruido blanco
np.random.seed(7)
w = np.random.randn(250)
x = np.empty_like(w)
a0 = 100.0 # la accion empieza en 100 dolares
a1 = 0.5 # y sube 50 centimos en cada paso temporal
for t in range(len(w)):
x[t] = a0 + a1 * t + w[t]Es el equivalente estadístico de una empresa cuyas ventas crecen exactamente la misma cantidad cada trimestre. Si diferenciamos la serie una vez, la tendencia desaparece:
dx = np.diff(x) # elimina la tendencia deterministicaAl inspeccionar los residuos de este modelo aparece el hallazgo importante del profesor: la distribución es aproximadamente normal, pero los residuos están correlacionados. En la PACF hay un valor significativo en el retardo 1. Antes de usar el modelo para predecir habría que absorber esa autocorrelación. Y el significado de una PACF significativa en el retardo 1 es concreto: un modelo autorregresivo puede ser apropiado.
Ahí está el salto conceptual del nivel. En finanzas, un modelo de tendencia determinística es casi siempre una mala idea: supone que el precio futuro está determinado por el calendario, no por lo que ha pasado. Extrapolar una recta ajustada sobre precios históricos produce predicciones que crecen sin límite y que no incorporan ninguna información nueva. Lo que sí tiene sentido es dejar que el propio pasado de la serie explique el futuro.
Eso es un modelo autorregresivo de orden p, o AR(p). Es una regresión lineal en la que las variables explicativas son los propios valores retardados de la serie:
# AR(p), escrito como codigo y no como formula:
# x[t] = alpha_1*x[t-1] + alpha_2*x[t-2] + ... + alpha_p*x[t-p] + w[t]
#
# p -> numero de terminos retardados que entran en el modelo
# alpha_i -> coeficiente del retardo i
# w[t] -> ruido blanco (media cero, varianza constante)El AR(p) es una extensión directa del paseo aleatorio. De hecho, un AR(1) con alpha_1 igual a 1 es exactamente un paseo aleatorio, y por tanto no es estacionario. Esta es una de las propiedades más importantes del modelo: el AR(p) no siempre es estacionario; su estacionariedad depende de los valores de los parámetros, no de la forma del modelo. Para un AR(1) la condición es que el valor absoluto de alpha_1 sea menor que 1. Si alpha_1 vale 0.98, la serie es técnicamente estacionaria pero revierte a la media tan despacio que en una muestra corta parecerá un paseo aleatorio.
En la práctica, esto significa que ajustar un AR sobre precios casi nunca funciona: obtendrás un alpha cercano a 1 que no aporta nada. Se ajusta sobre retornos logarítmicos, que ya son prácticamente estacionarios.
Para ampliar esta lección
- PER estimado (forward)en el glosario
- S&P 500en el glosario
- Qué es el PER y cómo compararlo con su sectorguía