Walk-forward Analysis es la evaluación cronológica de un procedimiento que selecciona o configura reglas con datos anteriores y las aplica a periodos de prueba posteriores. Las funciones de selección y prueba avanzan en el tiempo, sin que la decisión actual pueda conocer el resultado siguiente.
Walk-forward Analysis hace avanzar una simulación histórica en el tiempo: selecciona o configura una regla con los datos disponibles hasta entonces y después evalúa su uso en el tramo siguiente. QuantConnect describe la optimización periódica sobre una ventana reciente del pasado. Nuestra distinción editorial: evaluamos un procedimiento predefinido para actualizar parámetros, no solo un conjunto de parámetros invariable. La regla incluye también el momento de la siguiente selección, su objetivo y el conjunto de candidatos. Un mejor ajuste a datos recientes no demuestra por sí solo un mejor resultado futuro. [1]
QuantConnect advierte que el periodo usado para buscar los mejores parámetros pasa a formar parte de los datos de desarrollo. Aplicarle retrospectivamente el ganador seleccionado no evalúa con rigor una decisión tomada entonces. Por eso, nuestro protocolo cierra la selección antes de comenzar el siguiente tramo de prueba. Los datos de ese tramo no deben influir en el ganador actual. Una vez terminado, cuando su información esté realmente disponible, podrá incorporarse a selecciones posteriores según el procedimiento predefinido; eso no cambia las decisiones de prueba ya registradas. [2]
TimeSeriesSplit genera índices de entrenamiento y prueba ordenados cronológicamente; por defecto amplía progresivamente el conjunto de entrenamiento pasado y permite limitar su tamaño. Nuestra distinción: una ventana móvil mantiene una longitud histórica elegida, mientras que una expansiva conserva un inicio fijo. La longitud y la frecuencia de actualización forman parte del diseño, no son ajustes libres después de ver resultados. La documentación exige muestras equidistantes para comparar las métricas de los tramos; con datos irregulares hay que vigilar el intervalo real del calendario. [3]
El parámetro gap de TimeSeriesSplit excluye muestras del final del conjunto de entrenamiento antes de la prueba. Nuestro requisito metodológico es deducir la separación necesaria a partir de la disponibilidad de los datos de entrada y de cuándo se completan los resultados objetivo. Si el resultado de una observación de entrenamiento utiliza precios del periodo de prueba, ordenar las filas no elimina la filtración. Por tanto, la longitud de la separación no debe elegirse solo por una curva atractiva. Incluso una separación adecuada no demuestra independencia entre periodos vecinos ni elimina todas las formas de sesgo de selección. [3]
La documentación de scikit-learn advierte que la normalización, la imputación de valores ausentes o la selección de variables pueden introducir información de prueba en el modelo. Los parámetros de esas transformaciones deben aprenderse únicamente en la parte de entrenamiento y luego aplicarse a la de prueba. Nuestra comprobación repite esta separación con cada desplazamiento de ventana. Calcular previamente una media de todo el conjunto no se corrige dividiendo después la tabla ya preparada. También deben conservarse la versión de los datos y su disponibilidad temporal real. [4]
QuantConnect distingue un modelo que determina precio y cantidad de ejecución y puede incorporar spread y Slippage. Nuestro requisito para unir tramos de prueba es tratar coherentemente el capital, las posiciones abiertas y los costes de cambiar de regla. Los beneficios de entrenamiento no se suman al resultado de la prueba posterior y los periodos de prueba solapados no deben contabilizarse repetidamente sin explicación. Si se arrastra una posición, hay que describir la transición entre configuraciones. Nuestro modelo de abajo, en cambio, termina cada periodo sin posición. [5]
Bailey y sus coautores describen el creciente riesgo de falsos descubrimientos al buscar repetidamente sobre los mismos datos. Nuestra consecuencia para Walk-forward Analysis: si cambiamos la longitud de ventanas, el objetivo o los candidatos según la serie de prueba obtenida y repetimos todo el proceso, esa serie ya influye en el desarrollo. No basta con llamarla independiente. El informe debe enumerar todos los protocolos probados y distinguir una posible validación adicional todavía no utilizada. Avanzar en el tiempo no es por sí solo una estimación de la probabilidad de sobreajuste ni una garantía estadística automática. [6]
NFA destaca que los resultados hipotéticos no reflejan operaciones reales ni todo el efecto de la liquidez, el deslizamiento y el comportamiento ante pérdidas reales. Por eso, nuestro informe de Walk-forward Analysis conserva límites de ventanas, candidatos, puntuaciones de selección, configuraciones elegidas y resultados de tramos posteriores, incluidos los costes. El total necesita contexto de riesgo, cantidad de observaciones y comparación bajo condiciones idénticas. Un pequeño ejemplo negativo no demuestra que el método sea ineficaz en general, igual que un total positivo no demuestra una ventaja futura de negociación. [7]
Seleccionar con el pasado y evaluar solo el periodo siguiente
Para obtener la imagen más completa, lee esta entrada junto con Backtesting, Overfitting, Look-ahead Bias, Trading Plan, Trading Journal. También enlazan con esta entrada Backtesting, Overfitting, Look-ahead Bias, Survivorship Bias.
01¿Puede un periodo de prueba anterior incorporarse después al entrenamiento?+
Sí, si ya terminó, la información está disponible y el protocolo predefinido lo permite. Pero no puede cambiar retrospectivamente la selección ni el resultado registrado para ese periodo.
02¿Walk-forward Analysis elimina el sobreajuste?+
No automáticamente. Aún se pueden seleccionar repetidamente longitudes de ventana, candidatos o todo el procedimiento según los mismos resultados. Hay que revelar el historial de intentos, vigilar la filtración de información y mantener la distinción entre desarrollo y validación adicional.