Modelos Financieros en la Práctica · Parte 16 de 16

Modelos de Pronóstico de Series Temporales: ARIMA y Holt-Winters para Analistas Financieros

Maciej Poniewierski 7 min de lectura

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

  1. Descomponer una serie temporal en componentes de tendencia, estacionalidad y residuo
  2. Entender la intuición detrás de las medias móviles y el suavizado exponencial
  3. Construir un modelo Holt-Winters para una serie temporal estacional (Excel o cualquier herramienta)
  4. Entender qué es ARIMA y cuándo usarlo
  5. Evaluar la precisión del pronóstico usando MAE, RMSE y MAPE
  6. 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:
    1. Tendencia (T): la dirección a largo plazo (ascendente, descendente o plana)
    2. Estacionalidad (S): un patrón regular y repetitivo vinculado al calendario (mensual, trimestral, anual)
    3. Ciclicidad (C): patrones irregulares más largos no vinculados al calendario (ciclos económicos)
    4. 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:

  1. Verificar la estacionariedad: prueba ADF (from statsmodels.tsa.stattools import adfuller)
  2. Si es no estacionaria: aplicar diferenciación (d = 1 generalmente suficiente para series financieras)
  3. Inspeccionar los gráficos ACF y PACF para elegir p y q
  4. Ajustar el modelo: from statsmodels.tsa.arima.model import ARIMA
  5. 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ónModelo recomendado
Tendencia clara + estacionalidad regularHolt-Winters
Sin estacionalidad clara, autocorreladoARIMA
Estacional + autocorrelación complejaSARIMA o Facebook Prophet
Cuantificación de incertidumbre importanteCualquier 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

pronóstico de series temporales ARIMA Holt-Winters Excel pronóstico estadístico modelado financiero