6. Heterocedasticidad condicional y modelos ARCH(p)
Nivel 9: Series Temporales - ARIMA y GARCH
Llegamos a la parte que de verdad importa en finanzas. Todo lo anterior modela la media condicional de la serie. Ahora vamos a modelar su varianza condicional.
Un conjunto de variables aleatorias es heterocedástico si existen subgrupos dentro del conjunto con una varianza distinta de la del resto. La motivación principal para estudiar la heterocedasticidad condicional en finanzas es la volatilidad de los retornos de los activos.
El mecanismo económico que describe el profesor es concreto: en renta variable, un incremento de la varianza puede estar correlacionado con un incremento posterior de la varianza. En un día en el que la bolsa cae con fuerza se disparan órdenes automáticas de gestión de riesgo en carteras que solo están largas; esas ventas provocan nuevas caidas de precio en esas mismas carteras, generando una volatilidad bajista significativa.
Estos periodos de liquidación producen una heterocedasticidad que está correlacionada en serie y por tanto condicionada a periodos de varianza elevada. A eso lo llamamos series condicionalmente heterocedásticas.
Y aquí está el aspecto más traicionero: la ACF de una serie con volatilidad cambiante puede parecer perfectamente la de un ruido blanco estacionario, a pesar de que su varianza condicional cambia de forma sistemática en el tiempo: la serie puede seguir siendo estacionaria en sentido débil, con varianza incondicional constante, y presentar aun así heterocedasticidad condicional. Si solo miras la ACF de los retornos, no ves nada. La solución es mirar la ACF de los retornos al cuadrado.
Para incorporar la heterocedasticidad condicional creamos un modelo que aplica un proceso autorregresivo a la varianza misma, usando valores pasados de la varianza. Esa es la base del modelo autorregresivo con heterocedasticidad condicional, o ARCH.
Un ARCH(p) puede entenderse como un AR(p) aplicado a la varianza de una serie temporal:
# ARCH(p), en palabras y como codigo:
#
# varianza en t = alpha_0 + alpha_1*(e[t-1]**2) + ... + alpha_p*(e[t-p]**2)
#
# y la serie observada es:
# e[t] = w[t] * sqrt(alpha_0 + alpha_1*e[t-1]**2 + ... + alpha_p*e[t-p]**2)
#
# Para ARCH(1):
# e[t] = w[t] * sqrt(alpha_0 + alpha_1*e[t-1]**2)Simulación de un ARCH(1):
np.random.seed(13)
a0 = 2
a1 = 0.5
y = w = np.random.normal(size=1000)
for t in range(len(y)):
y[t] = w[t] * np.sqrt(a0 + a1 * y[t-1]**2)
tsplot(y, lags=30) # parece ruido blanco puro
tsplot(y**2, lags=30) # la ACF y la PACF del cuadrado son significativas en el retardo 1Esta es la lección visual central del módulo: la serie parece ruido blanco, pero al graficar su cuadrado, la ACF y la PACF muestran significación en el retardo 1, lo que indica que un AR(1) sobre la varianza puede ser apropiado.
¿Cuándo aplicar un ARCH(p)? Igual que decidíamos el orden de un AR mirando el decaimiento de la ACF de la serie, aplicamos la misma lógica al cuadrado de los residuos. Si podemos ajustar un AR(p) a esos residuos al cuadrado, tenemos indicio de que un proceso ARCH(p) es apropiado.
Tres condiciones que no son opcionales:
- El ARCH(p) solo debe aplicarse a una serie a la que ya se le ha ajustado un modelo adecuado, suficiente para que los residuos parezcan ruido blanco discreto.
- Como el diagnóstico consiste en elevar al cuadrado los residuos y examinar su ACF, hay que asegurarse de que la media de los residuos sea cero.
- El ARCH solo debe aplicarse a series sin tendencias ni efectos estacionales, es decir, sin correlación serial evidente. ARIMA se aplica a menudo primero, y en ese punto el ARCH puede encajar bien.
Ese orden (primero la media con ARIMA, luego la varianza con ARCH o GARCH) es el esqueleto de la estrategia del último módulo.
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