Quant500 Academy

4. Gráficos de autocorrelación: ACF y PACF

Nivel 8: Series Temporales - Estacionariedad

Un gráfico de autocorrelación, también llamado correlograma o gráfico ACF, sirve para visualizar la correlación de una serie con sus propios retardos. Aplicado a una serie de precios en finanzas o en cualquier otro campo, aporta información sobre los siguientes aspectos:

1. Tendencia: si la serie de precios tiene una tendencia fuerte, las autocorrelaciones de los primeros retardos pueden ser significativamente positivas, porque en una serie con tendencia los valores consecutivos tienden a estar más cerca entre sí que los valores más alejados en el tiempo.

2. Estacionalidad: patrones regulares de subidas y bajadas en la función de autocorrelación pueden sugerir estacionalidad. Si hay un patrón consistente (por ejemplo, un pico cada 12 retardos), puede indicar un efecto estacional anual si los datos son mensuales.

3. Reversión a la media: en series de precios financieros, una autocorrelación negativa en el primer o segundo retardo podría sugerir un proceso con reversión a la media: los movimientos al alza suelen ir seguidos de movimientos a la baja y viceversa. Es especialmente relevante para estrategias como el pairs trading.

4. Paseo aleatorio: si la autocorrelación del primer retardo está cerca de cero y todas las demás también, sugiere que la serie podría ser un paseo aleatorio. En precios de acciones suele ser el caso, y la serie queda mejor descrita por sus retornos que por sus niveles.

5. Estacionariedad: una caída brusca de la autocorrelación tras unos pocos retardos sugiere que la serie puede ser estacionaria (o que se ha logrado estacionarizar mediante transformaciones). Los datos no estacionarios, en cambio, muestran un decaimiento lento de las autocorrelaciones.

6. Identificación del modelo: en el contexto de modelos autorregresivos (AR) y de media móvil (MA), el gráfico de autocorrelación ayuda a identificar el orden. Si la PACF de una serie se corta bruscamente tras p retardos pero la función de autocorrelación (ACF) decae gradualmente, la serie puede considerarse un proceso AR(p); el patrón inverso (ACF que se corta tras q retardos y PACF que decae) corresponde a un proceso MA(q).

Interpretar un correlograma exige cautela: las series de precios en finanzas a menudo no exhiben autocorrelación significativa en niveles por la hipótesis de mercados eficientes, pero sus retornos o cambios sí pueden mostrar patrones; una autocorrelación significativa en los primeros retardos de los retornos puede indicar momentum o reversión a la media; y en series no estacionarias la autocorrelación puede permanecer significativa durante muchos retardos, dando una falsa impresión de relación. Por eso, al trabajar con precios financieros, es habitual analizar la autocorrelación de los retornos en lugar de la de los precios.

autocorrelation_plot(df)
autocorrelation_plot(Re)

plt.figure(figsize=(10, 6))
pd.plotting.autocorrelation_plot(Re)
plt.xlim([0, 50])
plt.title('Autocorrelacion de Re en los primeros 50 retardos')
plt.show()

Al interpretar la ACF de retornos financieros hay varias claves. Paseo aleatorio y ruido blanco: la serie de precios en bruto suele seguir algo próximo a un paseo aleatorio, sin correlación entre valores consecutivos; al calcular retornos, la serie se parece más a ruido blanco, sin patrón predecible, y en un ruido blanco ideal todas las autocorrelaciones para retardos mayores que cero están cerca de cero. Nivel de significación: el gráfico incluye líneas horizontales que marcan el umbral de significación; si las autocorrelaciones caen dentro de esas bandas se consideran no significativas. Dependencias de corto plazo: en algunos retornos se observa autocorrelación significativa en los primeros retardos, debida al agrupamiento de volatilidad (los grandes cambios tienden a ir seguidos de grandes cambios y los pequeños de pequeños) o a reacciones del mercado con retraso ante noticias. Patrones de decaimiento: un decaimiento lento puede sugerir un proceso de memoria larga o un proceso MA. Efectos estacionales: picos repetidos a intervalos regulares indican estacionalidad, algo raro en retornos diarios pero posible en datos mensuales o trimestrales. No estacionariedad: si la ACF arranca muy alta y baja muy despacio, es señal de que la serie no es estacionaria y necesita diferenciarse o transformarse.

En resumen, para retornos financieros la ACF indica si son puramente aleatorios o si hay patrones potencialmente explotables. Conviene ser prudente: aunque se detecten patrones, pueden no mantenerse en el tiempo, y los costes de transacción pueden erosionar rápidamente cualquier ganancia derivada de ellos.

Statsmodels ofrece su propia versión como gráfico de línea, con los retardos en el eje horizontal y las correlaciones en el vertical:

plot_acf(df, lags=50); plt.show()
plot_acf(Re, lags=50); plt.show()

autocorrelation_plot(df[-100:])       # solo las últimas 100 observaciones
plot_acf(df[-100:], lags=50); plt.show()

La función de autocorrelación parcial (PACF) muestra la relación entre una observación y observaciones de instantes anteriores eliminando el efecto de las observaciones intermedias. El eje x es el retardo, el eje y la autocorrelación parcial entre -1 y 1, y las líneas horizontales marcan los intervalos de confianza (normalmente al 95%): los valores fuera de esas líneas son estadísticamente significativos y sirven como evidencia para incluir términos autorregresivos.

Cómo extraer conclusiones: si la PACF se corta bruscamente mientras la ACF decae más despacio, sugiere un modelo autorregresivo del orden que marca el último retardo significativo; si la PACF decae gradualmente y la ACF se corta en seco, sugiere un modelo de media móvil; si ambas decaen gradualmente, la serie puede encajar mejor en un modelo mixto ARMA. El gráfico PACF orienta sobre el orden autorregresivo, pero es solo una pieza: la selección del modelo debe considerar también el conocimiento del dominio, la ACF y la significación de los parámetros.

plot_pacf(df[-100:], lags=49)

El resto de Quant500

Lo que estás aprendiendo, aplicado al índice todos los días:

La cartera del modelo, cada semana en tu correo

Cada sábado, su semana en un minuto: cómo fue, lo mejor y lo peor, y qué directivos compraron con su dinero. Y el día que el modelo se rehace, qué entra y qué sale. Es una simulación, no un consejo. Como mucho un correo a la semana, sin publicidad y sin cuenta; te das de baja con un clic. Lo hace una persona: Pol Gracia.

Cartera modelo con resultados simulados, no una recomendación personalizada. Tu correo se usa solo para esto: privacidad.

Detrás de la Academia y del resto de Quant500 hay una sola persona: Pol Gracia Serrahima.