Saltar a contenido

Tendencia y pronósticos

Medidas de tendencia

La inflación anual compara con hace doce meses, así que tarda en mostrar los cambios de dirección. Lecturas complementarias:

import banxicolab as sie

indices = sie.descargar(["inpc", "inpc_subyacente"], "2005-01-01")

sie.variacion_anual(indices)  # general y subyacente
sie.serie("media_truncada", "2005-01-01")  # calculada por Banxico
sie.impulso(indices["inpc_subyacente"], 3)  # 3m/3m anualizado
Medida Qué hace Limitación
Subyacente excluye agropecuarios, energéticos y tarifas lo excluido también es inflación
Media truncada descarta cada mes los genéricos con variaciones extremas no se puede reproducir sin los genéricos y sus ponderadores
Impulso promedio de los últimos k meses contra los k previos, desestacionalizado y anualizado ruidoso; depende del ajuste estacional

Persistencia

mensual = sie.variacion(sie.desestacionalizar(indices["inpc_subyacente"]))

sie.persistencia(mensual)  # un número para toda la muestra
sie.persistencia(mensual, ventana=120)  # cómo ha cambiado, en ventanas de 10 años

Es la suma de los coeficientes de un AR(12): cerca de 0 los choques se revierten pronto; cerca de 1 se quedan.

Inflación quincenal

El INPC quincenal sale unos quince días antes que el mensual:

quincenal = sie.serie("inpc_quincenal", "2020-01-01")
sie.variacion_anual(quincenal)  # detecta la frecuencia: compara contra 24 quincenas atrás

Pronóstico

inpc = sie.serie("inpc", "2000-01-01")

sie.pronosticar_inflacion(inpc, horizonte=12)

Devuelve una fila por mes futuro con indice, mensual, anual y el intervalo anual_inf–anual_sup.

metodo Qué supone
"sarima" (por omisión) SARIMA sobre el logaritmo del índice. La especificación por omisión, \((0,1,1)(0,1,1)_{12}\), es el «modelo de aerolíneas»
"ingenuo" la inflación anual se queda en su último valor

Otra especificación:

sie.pronosticar_inflacion(inpc, 12, orden=(1, 1, 0), orden_estacional=(1, 0, 0, 12), nivel=0.80)

El intervalo se obtiene simulando trayectorias, porque la inflación anual de un mes futuro depende de varios meses pronosticados a la vez. Con semilla fija (por omisión) el resultado es reproducible.

Qué no incluye el intervalo

Refleja solo los choques futuros bajo el modelo. No incluye la incertidumbre de los parámetros ni la de haber elegido mal el modelo, así que es más estrecho que la incertidumbre real. Además, el modelo de aerolíneas extrapola la tendencia reciente y no sabe que existe una meta de 3 %.

¿Qué tan bueno es? Evaluación fuera de muestra

sie.evaluar_pronosticos(inpc, horizontes=(1, 3, 6, 12), desde="2012-01-01", paso=3)

Para cada fecha de origen estima el modelo solo con los datos disponibles hasta entonces, pronostica y compara con lo ocurrido. El resultado es la raíz del error cuadrático medio, en puntos porcentuales de inflación anual. Con el INPC de 2000 a agosto de 2026:

Horizonte (meses) SARIMA Ingenuo Pronósticos
1 0.31 0.47 59
3 0.59 0.75 58
6 0.95 1.11 57
12 1.58 1.78 55

Dos lecturas:

  • El error crece rápido: a doce meses supera el ±1 del intervalo de variabilidad de Banxico.
  • La ventaja del SARIMA es clara a un mes (34 %) y se diluye a doce (11 %). Es el resultado clásico: a un año es difícil ganarle a «la inflación seguirá como está».

Los errores individuales quedan en tabla.attrs["errores"], para graficarlos o calcular otra métrica. paso=1 evalúa todos los meses; es más preciso y más lento, porque cada origen reestima el modelo.

Sobre la evaluación

Usa el INPC como está publicado hoy. El INPC no se revisa salvo en los cambios de base, así que la diferencia con una evaluación en tiempo real es pequeña, pero no es cero.