Índice de Precios Agropecuarios (IPAP)
De la identificación estructural econométrica (SVAR/VECM) a la resiliencia algorítmica en tiempo real. Análisis estocástico sobre 667 observaciones semanales de precios agropecuarios en Colombia (DANE/SIPSA).
Ver la síntesis del estudio →1. Diagnóstico de raíz unitaria y heterogeneidad de escalas
Las series agropecuarias presentan asimetrías severas y diferencias de escala extremas. El análisis revela que el índice IPAP y sus regresores exógenos son procesos no estacionarios integrados de primer orden I(1), lo que exige transformaciones en logaritmos y primeras diferencias (Δ).
Dispersión de precios: mediana vs mín/máx
escala originalInterpretación: productos como Flores (máx 684,13) y Plátano (máx 426,57) muestran picos atípicos frente al IPAP (media 132,77), mientras que el Cacao exhibe distorsiones en su mínimo (0,1728).
Pruebas de estacionariedad: niveles vs 1ª dif
p-valores ADF y KPSSConclusión I(1): en niveles, el IPAP no rechaza raíz unitaria (ADF p=0,7988) y sí rechaza estacionariedad (KPSS p=0,0100). En primeras diferencias pasa a ser estacionario (ADF p=0,0100; KPSS p=0,0735).
2. Competencia de modelos: del ARIMA univariado a la integración exógena
Evaluación sobre el periodo de prueba 2021–2023 (134 observaciones). Mientras el ARIMA univariado colapsa fuera de muestra por incapacidad de capturar choques de oferta, la inclusión de regresores exógenos y la reconstrucción acumulada estabilizan el error.
Errores fuera de muestra (RMSE y MAE en prueba)
escala logarítmicaVector de cointegración (β)
R² = 0,9905Ponderación de largo plazo sobre el IPAP por producto agropecuario.
Coeficiente βECT:
-0,1178 (p < 0,001).
El sistema retoma el equilibrio corrigiendo un 11,78 % del desequilibrio por semana.
3. Identificación SVAR, test de Johansen y fallas de convergencia
La prueba de traza de Johansen ratificó 3 vectores de cointegración (r=3) en el subsistema pecuario. Sin embargo, el SVAR(4) recursivo enfrentó límites severos de optimización numérica que impiden su uso operativo directo.
Descomposición de varianza del error (FEVD)
horizonte h=1 a h=20Dominancia propia: el IPAP explica el 100 % de su varianza en h=1 y cae al 95,42 % en h=20. La Leche (lechem) es la única variable con respuesta marginal relevante, alcanzando 4,39 % a las 20 semanas.
Auditoría teórica del modelo SVAR
inestableAgotó el límite de 1000 iteraciones sin alcanzar convergencia numérica.
χ² = −6864 (df=5, p=1,0). Valor negativo indicativo de matriz de covarianza inestable.
Más de 50 advertencias de cálculo en 1000 réplicas, degradando las bandas de confianza.
Rechazo de homocedasticidad (ARCH p<0,001) y normalidad (Jarque-Bera χ²=2923,7).
Efecto en diseño: estas fallas motivaron el paso hacia la arquitectura en producción con validación por origen rodante.
4. Arquitectura del sistema predictivo en producción
Para superar las rigideces del modelo estático, se diseñó un pipeline automatizado, idempotente y protegido contra fugas de información (data leakage), desplegado en Cloudflare Workers y backend Python.
Flujo operativo de datos · 4 fases
ingest.pyIngesta y empalme
- Consumo API SOAP SIPSA
- Empalme por encadenamiento
- Filtro de salto ≤ 25 %
- Control hash SHA256
audit.pyAuditoría y grilla
- Proyección dominical ISO
- Preservación NaNs
- Log ADF / KPSS / PP
- Función snap_to_weekly
backtest.pyBacktest rodante
- Origen rodante (+4 sem)
- Evaluador de baselines
- Naive Last / Drift / Damped
- Seasonal Naive 52
models.pySelección y ensamble
- Regla dura anti-fuga
- Win-rate ≥ 60 % vs Naive
- Cuantiles empíricos
- Fallback a Naive Last
Matriz de diferenciación: estudio econométrico vs sistema en producción
| Dimensión | Estudio econométrico (Castro Reyes) | Sistema predictivo en producción (pipeline Python) |
|---|---|---|
| Esquema de validación | Partición estática única 80/20 (corte marzo 2021) | Backtest con origen rodante (ventana expandible, paso 4 semanas) |
| Regla de selección | Elección manual fundada en AIC / RMSE | Regla dura: MAE < Naive en h=1,4,13 y win-rate ≥ 60 % simultáneamente |
| Intervalos de confianza | Supuesto gaussiano teórico (±1,96 · RMSE) | Intervalos empíricos no paramétricos (cuantiles 2,5 % y 97,5 % de residuos) |
| Control de fuga de información | División estática de la matriz de datos | Barrera estricta: entrenamiento i ≤ origen − h; rezagos exógenos k ≥ 1 |
| Gestión de obsolescencia | No aplica (análisis estático histórico) | Estado STALE automático si fecha > 14 días (exit_code: 1) |