Modelos Financieros en la Práctica · Parte 16 de 16
Modelos de Pronóstico de Series Temporales: ARIMA y Holt-Winters para Analistas Financieros
Esquema Detallado — Listo para Redactar
Objetivo de palabras: 2.000–2.400 palabras Para quién es: Estudiantes con algo de experiencia en Python (o disposición para aprender) que quieren ir más allá de la predicción basada en Excel; analistas junior en FP&A, ciencia de datos para finanzas o roles cuasi-cuantitativos; estudiantes de Máster en Finanzas / Ciencia de Datos Financieros. Pregunta del mundo real que responde este artículo: “Tenemos 36 meses de datos de ingresos con una tendencia clara y un patrón estacional. En lugar de trazar una línea recta desde los datos reales del año pasado, ¿cómo construimos un pronóstico estadísticamente fundamentado que capture la tendencia, la estacionalidad y la incertidumbre?” Requisitos previos: Útil pero no indispensable: estadística básica (media, varianza, autocorrelación). Todos los ejemplos usan pseudocódigo y Excel.
Objetivos de Aprendizaje
- Descomponer una serie temporal en componentes de tendencia, estacionalidad y residuo
- Entender la intuición detrás de las medias móviles y el suavizado exponencial
- Construir un modelo Holt-Winters para una serie temporal estacional (Excel o cualquier herramienta)
- Entender qué es ARIMA y cuándo usarlo
- Evaluar la precisión del pronóstico usando MAE, RMSE y MAPE
- Visualizar el pronóstico con intervalos de confianza
Esquema del Artículo
Introducción (~200 palabras)
- Anzuelo: la mayoría de los pronósticos financieros se construyen tomando las cifras del año pasado y añadiendo un porcentaje de crecimiento. Esto funciona cuando las tendencias son estables y las condiciones de negocio son predecibles. Pero ¿qué pasa con un negocio minorista con una estacionalidad navideña clara? ¿Un negocio SaaS cuyos ingresos mensuales tienen una tendencia más ruido mensual? ¿Un negocio manufacturero cuyos costos están correlacionados con los ciclos de precios de materias primas?
- Los modelos estadísticos de series temporales están diseñados específicamente para estas situaciones. Leen el patrón histórico, lo descomponen en componentes estructurales y proyectan hacia adelante con límites explícitos de incertidumbre.
- Este artículo usa ForecastCo —un negocio de suscripción de comercio electrónico del Reino Unido— con 36 meses de datos de ingresos mensuales.
Sección 1: ¿Qué Es una Serie Temporal? (~200 palabras)
- Definición: una secuencia de observaciones ordenadas en el tiempo, típicamente a intervalos iguales
- Los cuatro componentes de una serie temporal:
- Tendencia (T): la dirección a largo plazo (ascendente, descendente o plana)
- Estacionalidad (S): un patrón regular y repetitivo vinculado al calendario (mensual, trimestral, anual)
- Ciclicidad (C): patrones irregulares más largos no vinculados al calendario (ciclos económicos)
- Residuo / Ruido (R): variación aleatoria no explicada por lo anterior
- Descomposición aditiva vs multiplicativa:
- Aditiva: Y = T + S + R (usar cuando la amplitud estacional es aproximadamente constante)
- Multiplicativa: Y = T × S × R (usar cuando la amplitud estacional crece con el nivel)
Sección 2: Descomposición de la Serie Temporal (~250 palabras)
Algoritmo de descomposición — modelo multiplicativo:
CARGAR datos de ingresos mensuales (columna de fecha como índice)
DESCOMPONER la serie de ingresos:
modelo = multiplicativo (usar cuando las oscilaciones estacionales crecen con el nivel)
periodo = 12 (datos mensuales → ciclo estacional anual)
EXTRAER componentes:
tendencia ← línea suavizada que muestra la dirección a largo plazo
estacional ← multiplicador mensual repetitivo (ej. Dic ≈ 1,6×, Ene ≈ 0,7×)
residuo ← ruido inexplicado restante
TRAZAR cuatro paneles apilados verticalmente:
Fila 1: Observado Fila 2: Tendencia
Fila 3: Estacional Fila 4: Residuo
Etiqueta eje Y en cada uno: "Ingresos (£000)"
Interpretación de la descomposición:
- Tendencia: ForecastCo está creciendo aproximadamente un 12% anualmente
- Estacional: pico de diciembre ~1,6× el promedio; mínimo de enero ~0,7× (descenso post-navideño)
- Residuo: principalmente ruido, sin patrón estructural obvio → bien
Sección 3: Holt-Winters (Suavizado Exponencial) (~400 palabras)
Por qué Holt-Winters antes que ARIMA:
- Intuitivo para explicar a partes interesadas no técnicas
- Funciona muy bien para datos con tendencia + estacionalidad
- No es necesario entender la selección de parámetros ARIMA
Los tres parámetros de suavizado:
- α (alfa): controla con qué rapidez el modelo responde a los cambios en el nivel (0 = lento; 1 = rápido)
- β (beta): controla la capacidad de respuesta del componente de tendencia
- γ (gamma): controla la capacidad de respuesta del componente estacional
Algoritmo Holt-Winters — paso a paso:
DIVIDIR datos:
entrenamiento ← primeros 30 meses
prueba ← últimos 6 meses (retención para evaluación honesta)
AJUSTAR modelo Holt-Winters en entrenamiento:
tendencia = aditiva
estacional = multiplicativa (la amplitud crece con el nivel)
periodos = 12
PRONOSTICAR 12 meses hacia adelante
EVALUAR modelo en retención:
MAE = promedio( |pronóstico − real| )
MAPE = promedio( |pronóstico − real| / real ) × 100
RMSE = raíz( promedio( (pronóstico − real)² ) )
TRAZAR:
─── Histórico (sólido)
- - Real de retención (discontinuo)
─── Pronóstico (rojo)
░░░ Banda de confianza aprox. 80% (±10% del pronóstico)
Evaluación del modelo en la retención:
- MAE (Error Absoluto Medio): error absoluto promedio en £
- MAPE (Error Porcentual Absoluto Medio): % de error — más fácil de comunicar a partes interesadas no técnicas
- RMSE: penaliza los errores grandes más que el MAE
Sección 4: ARIMA — Cuándo y Por Qué (~400 palabras)
ARIMA significa AutoRegresivo Integrado de Media Móvil. Es una familia flexible de modelos para series temporales estacionarias.
Tres parámetros: p (orden AR), d (diferenciación), q (orden MA)
- AR(p): el valor actual depende de los p valores anteriores
- I(d): diferenciar la serie d veces para lograr la estacionariedad
- MA(q): el valor actual depende de los q errores de pronóstico anteriores
Cuándo usar ARIMA en lugar de Holt-Winters:
- Series sin estacionalidad regular clara
- Series donde la estructura de autocorrelación es compleja
- Cuando quieres intervalos de confianza estadísticamente rigurosos
ARIMA paso a paso:
- Verificar la estacionariedad: prueba ADF (
from statsmodels.tsa.stattools import adfuller) - Si es no estacionaria: aplicar diferenciación (d = 1 generalmente suficiente para series financieras)
- Inspeccionar los gráficos ACF y PACF para elegir p y q
- Ajustar el modelo:
from statsmodels.tsa.arima.model import ARIMA - Selección automática de parámetros ARIMA usando un criterio de información:
SELECCIÓN AUTOMÁTICA de parámetros ARIMA:
estacional = verdadero
m = 12 (datos mensuales)
criterio = AIC (penaliza la complejidad innecesaria)
método = búsqueda escalonada
SALIDA:
Orden seleccionado: (p, d, q)(P, D, Q)[12]
resumen del modelo con puntuación AIC
pronóstico de 12 periodos con intervalos de confianza
Sección 5: Elección Entre Modelos y Presentación de Resultados (~200 palabras)
Guía de selección de modelos:
| Situación | Modelo recomendado |
|---|---|
| Tendencia clara + estacionalidad regular | Holt-Winters |
| Sin estacionalidad clara, autocorrelado | ARIMA |
| Estacional + autocorrelación compleja | SARIMA o Facebook Prophet |
| Cuantificación de incertidumbre importante | Cualquier modelo + Monte Carlo (ver artículo DCF Monte Carlo) |
Presentación de pronósticos a partes interesadas no técnicas:
- Muestra siempre los datos históricos junto al pronóstico (el contexto lo es todo)
- Muestra siempre un intervalo de confianza — un pronóstico de una sola línea implica falsa precisión
- Acompaña con una narrativa en lenguaje sencillo: “El modelo espera que los ingresos crezcan de £X a £Y durante los próximos 12 meses, con la principal incertidumbre impulsada por la amplitud estacional en el Q4”
Conclusiones Clave
- Descompón la serie primero: entender la tendencia y la estacionalidad antes de modelar no es opcional
- Holt-Winters es la opción predeterminada para series financieras con tendencia + estacionalidad — intuitivo y robusto
- ARIMA es más flexible y estadísticamente riguroso pero requiere una selección de parámetros más cuidadosa
- Evalúa siempre en una muestra de retención; nunca juzgues un modelo de pronóstico por su ajuste a los datos de entrenamiento
- Comunica la incertidumbre explícitamente — un pronóstico puntual sin intervalo de confianza no es un pronóstico
Sugerencia de Práctica
Descarga el conjunto de datos de ForecastCo (36 meses de ingresos mensuales). Ajusta tanto un modelo Holt-Winters como ARIMA usando los primeros 30 meses como datos de entrenamiento. Evalúa ambos en los últimos 6 meses (retención). ¿Qué modelo tiene el MAPE más bajo? Traza ambos pronósticos junto a los datos reales de retención.
Temas