Backtesting y Validación Walk-Forward
La validación cruzada aleatoria entrena calladamente con el futuro. Este módulo cubre las alternativas honestas — esquemas walk-forward, purging y embargos para etiquetas traslapadas, y la aritmética de pruebas múltiples que hace que la mayoría de los backtests sean demasiado buenos para ser verdad.
El error más caro en machine learning financiero no es un mal modelo — es una evaluación con buena pinta de un mal modelo. Un modelo que falla honestamente en validación te cuesta unas cuantas semanas. Un modelo que pasa una validación rota se va a producción, coloca créditos o toma posiciones durante un año, y falla con dinero de por medio. Este módulo trata de las formas específicas en que la validación financiera se rompe, y de los esquemas que la arreglan.
Por qué el método de libro de texto entrena con el futuro
La validación cruzada k-fold — revolver los datos, partirlos en folds, rotar el fold de prueba — es correcta cuando las observaciones son intercambiables: cuando nada en la fila 500 te dice que vino “después” de la fila 200. Los datos financieros son lo contrario de intercambiables. El orden temporal carga regímenes (el tema completo del Módulo 3), relaciones que van a la deriva y — en crédito — ventanas de resultado que se estiran meses hacia el futuro.
Revuelve eso, y cada fold entrena con el futuro de su propio conjunto de prueba. El modelo aprende los patrones de 2025 y luego lo examinan con 2024. Mira lo que los folds hacen en realidad:
Selecciona k-fold aleatorio y fíjate en el contador de violaciones — luego cambia a walk-forward expansivo y míralo caer a cero. Ese contador es el argumento completo de este módulo, hecho visual. En el caso del k-fold se mezclan dos pecados distintos, y vale la pena separarlos porque tienen arreglos diferentes:
- Fuga de régimen — entrenar con periodos posteriores cuyos patrones (entorno de tasas, condiciones competitivas, mezcla de acreditados) simplemente no existían en la fecha de prueba. El arreglo es cronología: esquemas walk-forward.
- Fuga por traslape de etiquetas — más sutil y más traicionera. Una etiqueta de crédito como “incumple dentro de 12 meses” (la ventana de desempeño del Módulo 2 de DS) significa que una observación fechada en enero contiene información hasta el enero siguiente. Una fila de entrenamiento de noviembre y una fila de prueba de diciembre comparten la mayor parte de una ventana de resultado — misma recesión, mismos eventos del portafolio. No son independientes, sin importar con cuánto cuidado las hayas ordenado. El arreglo es quirúrgico: purging (purga: eliminar las observaciones de entrenamiento cuyas ventanas de etiqueta se traslapan con el conjunto de prueba) más un embargo (un colchón adicional después del bloque de prueba, para la correlación serial que sobrevive a la ventana). Actívalo en el widget y mira aparecer el hueco gris — ese hueco es el precio de la honestidad, pagado en datos de entrenamiento.
La familia walk-forward
Todos los esquemas honestos comparten una propiedad — el entrenamiento siempre precede a la prueba — y difieren en una sola pregunta: ¿cuánto pasado conservas?
- Ventana expansiva: entrena con todo hasta el tiempo , prueba con el siguiente bloque, avanza. El máximo de datos, y el montaje que más se parece a producción (cuando despliegues, sí vas a usar toda la historia disponible). Su sesgo: los regímenes viejos nunca salen del conjunto de entrenamiento — la física de 2015 sigue votando sobre el modelo de 2026.
- Ventana móvil (rolling): entrena solo con una ventana reciente de ancho fijo. Se adapta al cambio de régimen y funciona además como prueba de estrés — si el desempeño se colapsa cuando la ventana suelta una crisis vieja, aprendiste que la señal de tu modelo era esa crisis. Su precio: permanentemente menos datos de entrenamiento, ajustes más ruidosos.
- Holdout out-of-time (OOT): el estándar de la industria del crédito, y lo primero que te va a exigir un validador. Ajusta con todo hasta el año , evalúa sin tocar el año . Es un solo paso de walk-forward — simple, contundente, y la simulación más cercana a “esto lo construimos el año pasado; ¿cómo va ahora?”. Los equipos serios reportan OOT y un walk-forward de varios pasos, porque una sola ventana OOT es una muestra de tamaño uno: te dice cómo le fue al modelo en ese año en particular.
¿Cuál elegir? Para scoring de crédito: OOT para el titular, walk-forward expansivo con purging para la selección de modelo, y una variante móvil como sonda de sensibilidad a regímenes. Para cualquier cosa que se parezca a una señal de trading: solo walk-forward, y sigue leyendo.
Sobreajuste de backtest: la máquina de pruebas múltiples
Hay una segunda forma, completamente aparte, de fabricar un backtest hermoso, y ningún esquema de partición la evita: intenta suficientes cosas. Prueba 100 estrategias aleatorias e inútiles contra los mismos datos históricos y la mejor se verá excelente — a un nivel de significancia del 5%, cinco de ellas libran la vara por construcción. Cada barrido de hiperparámetros, cada conjunto de features que probaste y descartaste, cada “nomás déjame checar una variante más” es un boleto de esta lotería, y el backtest final que reportas condiciona en silencio sobre haberla ganado.
Por eso el campo desarrolló una estadística oscura: la probabilidad de sobreajuste de backtest, los Sharpe ratios deflactados, y la regla de dedo de que un Sharpe de backtest debe partirse mentalmente a la mitad antes de creerlo. No necesitas toda la maquinaria para actuar sobre la idea:
- Cuenta tus intentos — honestamente, incluyendo los que abandonaste. Entre más buscaste, más alta la vara para el ganador. (El notebook lo hace visceral: la mejor de 200 estrategias de volados da un Sharpe arriba de 1.5 en backtest.)
- Reserva un periodo final, intacto — uno que evalúas una sola vez, después de congelar todas las decisiones. En el momento en que iteras contra él, ya se gastó — se convirtió en datos de entrenamiento para tu intuición.
- Prefiere pocas variantes motivadas por la teoría en lugar de búsquedas amplias. Un modelo que debe existir por una razón económica (la filosofía completa de la ruta de crédito) arranca con un mejor prior que el campeón de un barrido de 500 modelos.
- Reporta la distribución a través de los pasos del walk-forward, no solo la media. Una estrategia que hizo todo su dinero en una sola ventana es una historia sobre esa ventana.
Análisis de cosechas: el backtest nativo del crédito
El crédito tiene su propio formato de evaluación honesto con el tiempo, y vale la pena conocerlo por nombre. Una cosecha (vintage) es una cohorte de créditos colocados en el mismo periodo; el análisis de cosechas sigue la curva de incumplimiento (o pérdida) acumulada de cada cohorte por meses en libros, y luego compara las curvas entre cosechas. Responde las preguntas que las métricas walk-forward comprimen: ¿La cosecha 2025-Q3 va peor que la 2024-Q3 a la misma edad? ¿El scorecard nuevo de verdad mejoró las cosechas colocadas bajo él? ¿El deterioro viene de drift en la originación o del entorno macro (todas las cosechas doblándose juntas)? Un modelo puede sostener su Gini mientras las cosechas se deterioran — el ordenamiento sobrevive, la calibración muere (la distinción del Módulo 4, en versión de series de tiempo). Grafica ambas.
Dónde se conecta
- El purging existe por las ventanas de desempeño definidas en el Módulo 2; los regímenes que hacen que la cronología importe son el Módulo 3.
- Las métricas que se calculan dentro de cada paso del walk-forward son las del Módulo 4 — Gini para ordenamiento, confiabilidad para calibración, por paso y por cosecha.
- Lo que pasa después de la validación — monitorear el modelo desplegado mientras la realidad se aleja de la muestra de desarrollo — es el Módulo 6, el que sigue.
- La disciplina campeón/retador del Módulo 2 de crédito es validación walk-forward corriendo en vivo, con dinero real como conjunto de prueba.
Pruébalo tú mismo
El notebook de abajo cuantifica cada afirmación: un panel sintético de crédito con drift donde el k-fold aleatorio sobreestima el AUC frente al walk-forward con purging (la brecha es la fuga, medida); la implementación de purge/embargo desde cero con el contador de traslape de etiquetas; la lotería de pruebas múltiples — 200 estrategias de puro ruido, la gloria deflactada del ganador y la corrección honesta; y un constructor de curvas de cosecha que muestra a un modelo con Gini estable fallando en calibración cosecha tras cosecha. El ejercicio final te entrega un backtest roto al estilo de los publicados y te pide encontrar las cuatro cosas que tiene mal. (Son cinco.)
Recibe los nuevos posts por correo
Un correo por cada artículo nuevo. Sin spam, sin ventas, cancela cuando quieras.