Seleccionar página

El método Walk Forward: la guía definitiva

por

Apreciado trader,

Como parte de la serie de artículos referentes a cómo hacer backtesting de calidad para estrategias de trading algorítmico, y como continuación a la explicación sobre la validación de backtest mediante los regímenes IS y OOS, estamos finalmente en disposición de tratar en profundidad la metodogía Walk Forward.

El motivo por el que quiero dedicarle un artículo propio, y no añadir el test Walk Forward al artículo anterior, es que me gustaría poder profundizar en esta metodología para que puedas conocerla en detalle y puedas decidir si te sería de utilidad para tu operativa y proceso de backtesting.

¡Vamos a ello!

¿Qué es el método Walk Forward?

El método Walk Forward fue originariamente creado por Robert Pardo y desarrollado en su libroThe Evaluation and Optimization of Trading Strategies”. Se basa en un proceso para la optimización de estrategias de trading, con el objetivo de mejorar la eficiencia del proceso de búsqueda de los parámetros más robustos para una estrategia. Veámoslo en profundidad a continuación.

Estructura de la metodología

La metodología Walk Forward se nutre también de la idea de separar el set de datos en periodos IS (datos in-sample) y OOS (datos out-of-sample) para poder evaluar una estrategia con datos que no había visto antes, tal y como explicamos en el artículo anterior.

El proceso de prueba se basa en encontrar los parámetros más óptimos durante un periodo de tiempo determinado, y probarlos en otro periodo de tiempo cuyos datos la estrategia aún no había visto.

Si ya has leído el artículo sobre la validación de un backtest con datos IS/OOS, este proceso de prueba no va a ser nuevo para ti.

Como siempre, para poder entender a la perfección este método vamos a recurrir a un ejemplo. Para llevar a cabo el proceso completo, imaginemos que tenemos 10 años de datos históricos desde la fecha actual.

Primero de todo, en lugar de separar el set de datos únicamente en dos regímenes como en la optimización tradicional, lo organizamos en múltiples ventanas de tiempo con el objetivo de poder utilizar los datos de una manera más eficiente. El objetivo es maximizar la cantidad de trades que se han dado en un periodo OOS y aumentar así la robustez final de los resultados obtenidos, reduciendo la probabilidad de overfitting.

Optimización Walk Forward.

Ciclos de optimización y ratios de datos

Antes de comenzar con el test Walk Forward, primero tendremos que decidir las tres variables principales:

  • En cuántas ventanas dividimos la prueba: es decir, cuántos ciclos de optimización y validación queremos realizar.
  • Qué ratio de datos IS/OOS usamos: es decir, de cada ventana temporal, qué cantidad de datos asignamos al periodo IS y al OOS.
  • Cuántos años (meses o días, dependiendo de los datos que tengas disponibles) representa cada etapa.

Para no complicarnos demasiado la vida, vamos a utilizar 6 ventanas temporales de 5 años y un ratio para la optimización de 80% datos IS y 20% datos OOS, lo que significan 4 años de datos IS (80% de 5) para cada año OOS (20% de 5).

Esto nos permitirá poder utilizar un 60% del total de los datos como periodo OOS. No te preocupes si no acabas de entender estos conceptos; con la imagen que encontrarás a continuación todo cobrará sentido.

Detalle de las ventanas de optimización y el ratio de datos.

Proceso de optimización Walk Forward paso a paso

Una vez sabemos cuántos periodos de optimización vamos a utilizar, el proceso es bastante simple.

1) Comenzamos con los datos IS de la primera etapa, ejecutamos la optimización y de allí sacamos los parámetros que mejor han funcionado, por ejemplo la media móvil de 25 periodos.

2) Realizamos la prueba OOS con dicha media de 25 y apuntamos los resultados.

3) Seguidamente, repetimos el proceso de optimización en la segunda etapa de datos IS, apuntamos los mejores parámetros (por ejemplo, ahora la media móvil de 30), los aplicamos al siguiente periodo OOS y apuntamos los resultados.

4) Repetimos los pasos del 1 al 3 sucesivamente hasta que hayamos completado el último periodo.

Aunque parezca que el método Walk Forward soluciona muchos de los problemas existentes en la optimización tradicional, también tiene sus propios puntos débiles. A continuación, vamos a estudiar con más profundidad las ventajas y desventajas de éste proceso para que puedas decidir con mayor criterio si es una herramienta útil para ti en el desarrollo y evaluación de tus propias estrategias.

Profundización en la metodología

Vamos a seguir profundizando en esta metodología de prueba de estrategias de trading, analizando ahora sus ventajas pero también sus desventajas. Esto va a ser esencial para que puedas hacerte una idea completa de todo el proceso y puedas conocer también cuáles son sus puntos débiles.

Ninguna metodología es perfecta ni va a resolver todos nuestros problemas. Por esta razón, conocer las ventajas y las desventajas nos ayudará a tener una visión más completa de todo el proceso.

Ventajas del test Walk Forward

Realizar un proceso de optimización con la metodología Walk Forward tiene varias ventajas, como ya habrás podido ir deduciendo a lo largo del artículo.

La primera y más obvia es que, con este método, conseguimos una mayor cantidad de trades en un periodo de datos OOS conjunto, lo que nos da más confianza en los resultados del experimento completo.

La segunda es que, al poder construir una curva de resultados OOS con más eventos, también nos permite reducir la probabilidad de que haya ocurrido overfitting.

La tercera se debe a que, al repetir el proceso de optimización múltiples veces con su respectiva validación OOS, también reducimos muchísimo la probabilidad de que los resultados hayan sido fruto de la suerte. La razón es que a medida que avanza la prueba, lo más habitual será que los parámetros obtenidos de cada proceso de optimización no sean idénticos a los anteriores, pudiendo así utilizar múltiples valores durante todo el proceso en datos OOS e incorporando una pequeña prueba de sensibilidad durante todo el periodo.

La cuarta es algo más subjetiva, ya que esta ventaja depende en gran medida de la opinión y experiencia del trader que esté desarrollando la estrategia. Al buscar los mejores parámetros en un periodo de tiempo más corto, esos parámetros estarán en “sintonía” con las condiciones más recientes de mercado. Esto significa que si el mercado ha estado en fuerte tendencia durante el periodo IS, los mejores parámetros serán los que se benefician de esa condición de mercado concreta, con la esperanza de que el mercado siga en ese estado. Esto no es de extrañar, debido a que una de las premisas principales de éste método es precisamente la adaptabilidad a las cambiantes situaciones del mercado.

Aunque existe persistencia en los mercados, nada garantiza que esas condiciones se mantengan, con lo que corremos el riesgo de ajustar demasiado la estrategia a unas condiciones demasiado concretas.

Por esta razón, si un trader es de la opinión que los “mejores” parámetros son los más “generalistas” que se ajustan a una mayor cantidad de mercados, ésta última ventaja no tendrá mucho sentido para él.

Si por el contrario, su opinión es que los “mejores” parámetros son los que capturan más eficientemente el estado más reciente del mercado, el método Walk Forward será muy atractivo. En cualquier caso, volveremos a este tema más adelante con las metodologías Anchored y Unanchored para poder satisfacer el estilo de todos los traders.

Desventajas del test Walk Forward

Pasamos ahora a la otra cara de la moneda y vamos a hablar de las desventajas que tiene este método. 

La primera y más obvia: es un método más complicado que requiere de más tiempo de procesado, al existir múltiples optimizaciones durante cada etapa para encontrar los parámetros más robustos. A su vez, necesitas de software específico para poder ejecutar la prueba con fiabilidad, ya que si se hace manualmente, hay más probabilidades de error debido a su mayor complejidad.

Otra desventaja surge al tener que dividir el set de datos en múltiples etapas y, debido a ello, la cantidad de datos de cada periodo IS es inferior al que tendría en una optimización tradicional. Esto se traduce en una menor significancia estadística en cada etapa, ya que, lógicamente, un periodo menor de datos se traduce en una cantidad menor de trades ejecutados en dicho espacio temporal.

Detalle de una optimización tradicional con 70% datos IS y 30% datos OOS.

Menos datos en cada optimización también aumentan la probabilidad de que los parámetros escogidos sean los “mejores” gracias a un evento aislado y específico que ha existido en el mercado y que, por suerte, haya podido generar una gran ganancia. También al contrario; si ese evento ha producido una gran pérdida, puede que los parámetros que realmente mejor capturaban el comportamiento general no se escojan debido a que ese shock los haya afectado más que a otros parámetros. Dicha desventaja es una causa directa de la menor significancia estadística de cada etapa que te comentaba en el párrafo anterior.

A su vez, un set de datos IS más pequeño significa menos condiciones de mercado recogidas durante dicho periodo, lo que nos dará unos parámetros que se ajustan a las condiciones concretas que hubo, pero que son menos generale. Si te fijas, esta desventaja es el argumento inverso de la última ventaja. De nuevo, dependiendo de la opinión del trader, este punto será relevante o no.

Una última desventaja es que los periodos de validación OOS son cortos, con lo que puede ser difícil validar una estrategia de trading lenta cuyos trades tienen una elevada duración. El problema que esto presenta es que si la duración del periodo OOS es demasiado corta, podrías dar por mala una estrategia si justamente coincide ese periodo con un drawdown que estaría dentro de los parámetros “normales”, ya que no tendrías manera de saber si dicho drawdown es simplemente “otro más”, o si realmente es que la estrategia está sobreoptimizada y no captura ningún comportamiento.

Sobre esta última desventaja, si bien es cierto que los periodos OOS individuales son cortos, se pretende suplir dicho problema con el poder juntar todos los periodos individuales para construir una curva de resultados final cuyo rango OOS sea mayor a lo que sería con la optimización tradicional.

Optimización tradicional y Walk Forward donde se puede apreciar como el periodo OOS del WF es mayor.

Variaciones del método Walk Forward

Como te había comentado antes, el método Walk Forward puede también adecuarse a la visión que tiene cada trader respecto a cuántos datos son necesarios para poder llevar a cabo la optimización IS. Para hacerlo, voy a presentarte las variaciones anchored y unanchored, que básicamente difieren en si el inicio de cada ventana de optimización se mantiene en el tiempo o no. Con las imágenes de las secciones inferiores te quedará clarísimo.

Sistema Unanchored

Comenzaremos explicando la versión unanchored. Esta versión es la que te he presentado en las imágenes del inicio del artículo; es la más conocida y la que se suele utilizar cuando se habla de esta metodología. 

Se caracteriza por un desplazamiento fijo del inicio en cada ventana de tiempo. Esto significa que los distintos periodos de optimización IS tienen la misma duración, y se busca con ello esa adaptabilidad al mercado de la que hablábamos anteriormente.

Walk Forward Unanchored.

A modo de resumen, el proceso unanchored:

  • Está enfocado a estrategias más rápidas que necesitan estar adaptadas a las condiciones recientes de mercado.
  • Entiende que los datos más recientes son siempre los más relevantes.
  • Tiene ventanas de optimización siempre con la misma duración.
  • Dispone de la misma significancia estadística en cada periodo IS, y menos que con el método anchored.

Sistema Anchored

Pasamos ahora a explorar la versión anchored. Como podrás deducir por los nombres, en esta versión el inicio de cada periodo IS está anclado (anchored) a la misma fecha de inicio. Es decir, todas las ventanas temporales IS comienzan en el mismo momento.

Este proceso implica que cada optimización IS se hace sobre una cantidad de datos mayor a la anterior y que los datos “antiguos” se reutilizan, buscando cada vez los parámetros que mejor se adapten a grandes cantidades de situaciones de mercado. Esta es la versión que más similitud tiene con la optimización tradicional.

Walk Forward Anchored.

A modo de resumen, el proceso anchored:

  • Está enfocado a estrategias más lentas que necesitan parámetros más generales para múltiples condiciones de mercado.
  • Le da la misma importancia a los datos pasados que a los datos más recientes.
  • Tiene ventanas de optimización con una duración creciente en cada etapa.
  • Dispone de una mayor significancia estadística en cada periodo IS y que con el método unanchored.

Al final, escoger uno u otro método dependerá simplemente de las características de tu estrategia, de tu visión de los mercados y de cuantos datos creas que son necesarios para poder crear y validar tu modelo de trading.

Elección de la función objetivo adecuada

Hasta ahora, he mencionado en diversas ocasiones este concepto de escoger los “mejores” parámetros, los más robustos, los más estables, etcétera. Pero, ¿qué significa esto realmente, ya que el concepto de mejor es muy subjetivo?

Evidentemente, decir que un parámetro es “mejor” que otro necesita de contexto. Para ello, vamos a necesitar definir una función objetivo para poder discernir de una manera cuantificable si un resultado es mejor o peor que otro.

La función objetivo es el valor que vamos a querer maximizar o minimizar durante el proceso de optimización. Por ejemplo, si la función objetivo es el beneficio neto, la finalidad de la optimización será encontrar los parámetros que lo maximicen.

Dicho en otras palabras, la función objetivo es la métrica que utilizamos para medir el desempeño. De esta manera, ya no hay equivocación posible y queda claro cuándo un valor es mejor que otro.

Hay varios tipos de función objetivo que puedes escoger, pero básicamente son métricas de rendimiento, métricas de riesgo, o una combinación de ambas en forma de retorno ajustado al riesgo (que creo que es la opción más interesante).

Las más habituales son:

  • Beneficio neto
  • Drawdown máximo
  • Profit Factor
  • Ratio de Sharpe (retorno / riesgo)
  • Beneficio neto / Drawdown máximo
  • U otras combinaciones de estos conceptos

Conclusión

Como ves, el método Walk Forward nos brinda una nueva perspectiva a la hora de poder probar y evaluar nuestras estrategias de trading por medio de la reorganización de los periodos de datos IS y OOS.

Por otro lado, creo que hay otro aspecto aún más interesante fruto de este artículo: hemos podido demostrar que, aunque nuestro enfoque en particular sea lo más científico posible, sigue habiendo una cierta cantidad de “arte” en el proceso de diseño y prueba de las estrategias que depende del trader, su experiencia y su visión particular sobre los mercados.

Espero que esta guía sobre el método Walk Forward te haya sido de ayuda. Como siempre, si tienes cualquier duda, puedes ponerte en contaco conmigo a través de nuestra comunidad de Discord.

¡Hasta la próxima!

Gracias por tu lectura,

Martí

Escrito por Marti Castany

Martí Castany es Quant Researcher, Portfolio Manager y Co-Fundador de KomaLogic, una firma de trading algorítmico. Con más de una década de experiencia en el sector de la inversión sistemática, Martí se ha destacado en el desarrollo de modelos estadísticos, análisis y limpieza de datos y gestión cuantitativa del riesgo.

18 Abr, 2023

También puede interesarte…