¿Qué Es el Test Walk Forward?
El test walk forward es una metodología para evaluar si una estrategia de trading es robusta y tiene el potencial para darte beneficios en el futuro. Es una forma de backtesting avanzada que te proporciona unos resultados más representativos.
Además, te permite comparar distintas configuraciones en un mismo sistema para encontrar la que te da los mejores resultados de acuerdo a tus objetivos. Es muy utilizada por los traders algorítmicos, pero los operadores manuales también pueden beneficiarse de ella si son capaces de definir su estrategia de forma objetiva.
¿En qué Consiste la Metodología Walk Forward?
Un test walk forward se divide en dos partes:
- Fase de optimización: se realizan varios backtests sobre el mismo período histórico probando diferentes configuraciones en los parámetros de tu estrategia
- Fase de análisis: se toma la mejor configuración y se aplica a otro período inmediatamente posterior para ver si sus resultados son similares
Los datos históricos que se utilizan durante la fase de análisis son diferentes a los utilizados durante la de optimización y no se incluyeron en esta. Así, se imita lo que ocurriría al usar la estrategia en condiciones desconocidas, tal y como ocurrirá cuando empieces a operar en el mercado real. En cierto modo, el test walk forward es una manera de simular el futuro.
El ciclo se repite en diferentes ventanas temporales para acumular la mayor cantidad de información posible sobre cómo se comporta la estrategia.
Top Brokers de Forex en línea
Ventajas de la Optimización Walk Forward Frente a un Backtest Convencional
Los motivos por los que los expertos en trading algorítmico utilizan el análisis y optimización por walk forward en lugar de utilizar un backtest convencional son:
- Reduce el riesgo de sobreoptimización (u overfitting)
- Permite encontrar la configuración de una estrategia que te ofrece el mejor rendimiento
- Puedes ejecutar un test a ciegas sobre datos históricos que no se utilizaron al diseñarlo
- Aprovecha mejor el conjunto de datos históricos al hacer un test a ciegas
- Sirve para detectar de forma temprana si un robot ha dejado de ser potencialmente rentable
- Te permite hacer un ajuste continuo para adaptar tus estrategias a los cambios que tienen lugar en el mercado
Cómo Ejecutar un Test Walk Forward Paso a Paso
A continuación, te explicamos cómo hacer un test walk forward paso a paso para descubrir si tu estrategia de trading es rentable o no.
1. Define la Función Objetivo
Al final de la fase de optimización en cada ventana temporal tienes que elegir los parámetros que dan los mejores resultados dependiendo de tus objetivos.
Entonces, el primer paso para ejecutar tu test walk forward será tener claro qué quieres potenciar en tu estrategia y seleccionar una métrica relacionada. Esta será la función objetivo de tu optimización. En la mayoría de casos suele ser alguna de las siguientes:
- Ganancias obtenidas
- Profit factor o factor de beneficios
- Drawdown máximo
- Ratio entre el beneficio neto y el drawdown máximo
- Ratio de sharpe
Elegir una u otra depende de tus objetivos y de tu tolerancia al riesgo. Los inversores conservadores pueden dar prioridad a sistemas con drawdowns lo más bajos posible, aunque rindan menos. En cambio, otros traders más ambiciosos y con poco capital pueden estar dispuestos a tolerar drawdowns más violentos para conseguir un profit factor mayor.
2. Divide los Datos Históricos
Antes de empezar, necesitas asegurarte de que cuentas con datos históricos suficientes del mercado en el que vas a testear tu estrategia. En este artículo sobre el backtesting, te explicamos cómo puedes conseguirlos.
El paso siguiente es determinar ventanas para cada una de las fases de optimización y análisis que vas a ejecutar. Si tienes un histórico de 10 años (2013 a 2023), podrías hacerlo de la siguiente manera:
Ventana | Fase de optimización | Fase de análisis |
---|---|---|
1 | 2013 a 2016 | 2017 |
2 | 2014 a 2017 | 2018 |
3 | 2015 a 2018 | 2019 |
4 | 2016 a 2019 | 2020 |
5 | 2017 a 2020 | 2021 |
6 | 2018 a 2021 | 2022 |
7 | 2019 a 2022 | 2023 |
3. Fase de Optimización (Test “In-Sample” o IS)
La fase de optimización o “in-sample” consiste en encontrar la configuración que habría dado los mejores resultados en cada una de las franjas temporales:
- Determina los parámetros que son variables y su posibles configuraciones: si estás evaluando un sistema que cruza dos medias móviles, puedes determinar que el número de períodos de la rápida esté entre 15 y 25 y el de la lenta entre 45 y 55
- Haz un backtest dentro de cada ventana para cada configuración: siguiendo con el ejemplo anterior, serían 100 ejecuciones por cada período
Puedes hacer este proceso ejecutando los backtests uno por uno o activando la casilla “Optimizar” en el probador de estrategias de MetaTrader. De esta manera, se irán ejecutando automáticamente todas las configuraciones para la fecha elegida y se te mostrarán los resultados al final.
Durante esta fase, ya puedes empezar a hacerte una idea sobre la robustez de la estrategia. Si las distintas configuraciones arrojan resultados muy diferentes (hasta el punto de que unas son perdedoras y otras son excelentes) es señal de que no se trata de un sistema consistente.
4. Fase de Análisis (Test “Out-of-Sample” u OOS)
La fase de análisis o “out-of-sample” es un test a ciegas para determinar si la mejor configuración del período temporal anterior sigue teniendo la capacidad de dar resultados positivos:
- Haz un único backtest en cada ventana
- Une los resultados de todos los tests “out-of-sample”
Al término del test, contarás con resultados sobre el rendimiento de tu estrategia a lo largo de 7 años. Si son positivos, puedes confiar en que se trata de un sistema robusto. Ha sido capaz de adaptarse a un período temporal desconocido con la configuración establecida en el previo.
Estudio de los Resultados
Si juntas los resultados de todos los test out-of-sample, podrás ver las métricas que ha arrojado la estrategia durante el análisis, su curva de resultados y analizar si ofrece el rendimiento que buscas.
Por otra parte, descubrirás información todavía más valiosa: si es posible o no predecir el comportamiento futuro de tu estrategia en base a los resultados del walk forward. Para dar el test por exitoso, es necesario encontrar coherencia entre cada fase de optimización y su posterior análisis:
- Los valores de la función objetivo son similares en ambas (si utilizas los beneficios o cualquier otro importe monetario fijo, recuerda hacer un cálculo anualizado)
- Un resultado positivo durante la optimización te trae un resultado positivo durante el análisis y viceversa
Si los resultados entre la optimización y el análisis están totalmente desconectados, tu estrategia no es robusta y es recomendable que la descartes.
Tipos de Tests Walk Forward
Hay dos tipos de test walk forward, dependiendo de la forma en que dividas los datos históricos para la fase “in-sample”:
- Flotante (unanchored): todas las ventanas son del mismo tamaño y cada una tiene el punto de inicio un poco más adelante que la anterior. Es adecuado para encontrar configuraciones que están alineadas con el estado del mercado en el pasado más reciente
- Anclado (anchored): cada nueva ventana empieza en el mismo punto que la anterior, por lo que contiene toda la información de esta más el nuevo período. Es adecuado para estrategias a medio y largo plazo
La tabla que has visto más arriba te muestra la división para un test de tipo flotante. Las ventanas para una fase de optimización con el sistema anclado serían como sigue:
Ventana | Fase de optimización | Fase de análisis |
---|---|---|
1 | 2013 a 2016 | 2017 |
2 | 2013 a 2017 | 2018 |
3 | 2013 a 2018 | 2019 |
4 | 2013 a 2019 | 2020 |
5 | 2013 a 2020 | 2021 |
6 | 2013 a 2021 | 2022 |
7 | 2013 a 2022 | 2023 |
Muestras Estadísticamente Relevantes: Número de Trades Necesarios
Recuerda que el walk forward es una forma de validar sistemas de trading a través de la estadística. Por ello, para que sus resultados sean representativos, es imprescindible que las muestras de datos que seleccionas para cada ventana sean lo suficientemente amplias.
- Fase “in-sample”: algunos traders recomiendan que tenga, como mínimo 100 trades. Otros, son más minuciosos y amplían la muestra en función del número de parámetros variables de la estrategia. Para ellos, el tamaño de la muestra debe ser de 50 operaciones más 50 por cada parámetro que se optimiza. Esto se aplica para cada ventana de forma independiente
- Fase “out-of-sample”: cuantos más trades contenga, mejor. Aunque partir de 50 ya se considera un tamaño aceptable. Este número se refiere al total combinado de todas las ventanas
Trades no Correlacionados
A la hora de determinar el número de trades que incluyes en cada ventana, es importante que se trate de operaciones totalmente independientes. Por ejemplo, si una misma señal de entrada o un set up dan lugar a 4 trades, sólo deberías contabilizarlos como 1. De lo contrario, tu muestra de datos no contará con la relevancia estadística necesaria.
Algunos ejemplos de situaciones que generan trades correlacionados son:
- Estrategias con entradas y/o salidas fraccionadas
- Una misma señal da lugar a varias entradas en distintos marcos temporales
- Ejecuciones simultáneas en varios activos
Robustez a lo Largo del Tiempo
Si estás testeando un sistema intradiario, es posible que consigas los 100 trades para tu fase de optimización en sólo 12 meses. Mientras que si se trata de una estrategia de swing trading, puedes necesitar varios años.
Algunos traders, ejecutan muchas rondas de tests “in-sample” hasta obtener un perfil “out-of-sample” con los resultados de los últimos 10 años. De esta manera ven si el sistema es lo suficientemente robusto como para adaptarse a distintos contextos macroeconómicos.
Otros, prefieren ser más prácticos y no les importa la robustez a lo largo del tiempo. Se conforman con saber que el test walk forward les da una estimación de lo que podría pasar en el futuro cercano. Cuando el sistema deja de funcionar, lo descartan y pasan a utilizar otro más apropiado para el nuevo estado del mercado.
La Importancia del Equilibrio entre la Fase “In Sample” y la “Out Of Sample” en el Walk Forward
Si la relevancia estadística de la muestra utilizada para la fase “in-sample” no está compensada respecto a la utilizada en la fase “out-of-sample”, puedes encontrarte con los siguientes problemas:
- Los resultados al utilizar la estrategia en el mercado no se corresponderán con lo mostrado en el test (ocurre cuando la muestra usada durante la optimización es insuficiente)
- No tendrás ninguna garantía de que la estrategia es potencialmente rentable (ocurre si la muestra utilizada en la fase de análisis tiene una relevancia estadística baja)
Lo que hacen algunos traders para evitar estas situaciones, es ejecutar varios ciclos de tests walk forward estructurados de manera diferente. Para cada uno, cambian el número de ventanas y la proporción entre la fase “in-sample” y la “out-of sample”.
De acuerdo a los resultados finales obtenidos en cada test, pueden determinar cuál es el equilibrio óptimo entre el tamaño de ambas muestras de datos y el número de ejecuciones necesarias. La desventaja está en que se multiplica el número de pasos y el tiempo necesario para completar el test.
Cómo Adaptar tu Robot de Trading a los Cambios del Mercado con el Test Walk Forward
La metodología walk forward no sólo te sirve para determinar la robustez de tus estrategias antes de lanzarlas al mercado real. Si lo ejecutas de manera periódica sobre los sistemas que ya tienes activos, podrás ajustar su configuración a medida que cambia el comportamiento del mercado.
Al mismo tiempo, también te permitirá detectar de manera temprana si tu estrategia ha dejado de ser rentable.
Walk Forward Optimization en MetaTrader4
Si quieres ejecutar un test walk forward en MetaTrader4, tendrás que hacer casi todo el proceso manualmente, porque esta plataforma no incorpora herramientas para este tipo de análisis. Para cada fase de optimización, debes ejecutar un backtest en el probador de estrategias:
- Activa la casilla “Optimizar”
- En “Parámetros del experto”, marca los que quieres optimizar. Elige el valor de inicio, el de fin y los incrementos
- Especifica la fecha del test “in-sample”, elige un activo y pulsa “Iniciar”
Cuando el test finalice, abre la pestaña “Resultados de la optimización” y copia los detalles de la configuración que mostró los valores más interesantes. Repite el proceso para todas las ventanas de la fase de optimización.
A continuación, ejecuta los backtests “out-of-sample” con la configuración de su ventana correspondiente. Copia los resultados de cada uno en una hoja de cálculo para conocer cuál ha sido el rendimiento de la estrategia.
Utilizando MT5 para Hacer un Test Walk Forward
MetaTrader5 te pone las cosas más fáciles, porque sí dispone de una función para hacer el test walk forward. Sólo tienes que activar la casilla correspondiente en el probador de estrategias y especificar las fechas para el período de optimización y para el de análisis.
Conclusión
A través del test walk forward podrás descubrir si tus estrategias de trading son robustas. No sólo antes de empezar a operar con ellas, sino también a medida que pasa el tiempo y ocurren cambios en los mercados.
El test se compone de dos partes: la fase “in-sample” en donde pruebas distintas configuraciones para una estrategia y la fase “out-of-sample”, en la que aplicas la mejor de ellas en una muestra de datos históricos diferente. El objetivo es conseguir unos resultados similares en ambas.
Preguntas Frecuentes
¿Qué Es “In Sample” o IS en Walk Forward?
En la metodología walk forward, el test in-sample es una optimización que se ejecuta sobre datos históricos. Se hacen varios backtests probando diferentes configuraciones de un sistema hasta encontrar aquella que da los mejores resultados.
¿Qué Es “Out of Sample” u OOS en la Optimización Walk Forward?
En la optimización walk forward, se denomina out of sample a un test que se ejecuta sobre datos históricos, utilizando una estrategia que se probó y ajustó utilizando datos históricos más antiguos.
¿Cómo Funciona la Validación Walk Forward?
La validación walk forward funciona efectuando dos tests sobre dos grupos de datos históricos separados. En el primero, se ajusta la estrategia hasta encontrar la configuración que resulta más eficiente. En el segundo se comprueba si esa configuración también da buenos resultados en el otro conjunto de datos.
¿Cómo se Usa la Optimización Walk Forward?
La optimización walk forward consta de dos fases: test “in-sample” y test “out-of-sample”. En la primera, se busca la mejor configuración para una estrategia y en la segunda se valida sobre datos históricos no utilizados durante la fase anterior.
¿Por qué Es Útil el Test Walk Forward?
El test walk forward es útil porque te permite ajustar un sistema con un menor riesgo de sobreoptimizarlo. Después, lo pruebas exponiéndolo a un histórico de datos que no se utilizaron durante la optimización, simulando una situación similar a la que se dará cuando lo pongas en el mercado.