El Trader Cuantitativo III

No se puede entender un backtest bien hecho sin su complemento ideal: las pruebas de walk forward, mediante las que podemos comprobar utilizando una parte de la muestra reservada para tal fin si los resultados obtenidos con la optimización de los parámetros en el backtest son robustos (esto es, se mantienen los resultados) o, por el contrario, hemos sido víctimas del acople a la curva de beneficios (lo que en inglés se denomina curve-fitting), es decir, hemos sobreajustado el sistema a los datos.


Funcionamiento de una prueba walk forward
Pero, ¿cómo funciona exactamente una prueba de walk forward? Debemos considerarla una secuencia dinámica en ls que, en cada fase, se realiza una optimización con una porción de la muestra para posteriormente aplicar los parámetros obtenidos a la siguiente porción de datos de la muestra.

Visualmente dicho proceso se entiende mucho mejor examinando el siguiente gráfico animado:


Supongamos que tenemos un histórico de 10 años que abarca el periodo comprendido entre 1999 y 2009. En el gráfico anterior, se realizan optimizaciones tomando muestras de 3 años (en azul) y aplicando los parámetros obtenidos al siguiente año (en rosa).  Por ejemplo iniciamos el proceso tomando el periodo 1999-2001 para optimizar los parámetros de nuestra estrategia y, una vez optimizados, aplicamos el resultado obtenido, sin realizar modificaciones, al año 2002, y así sucesivamente, corriendo un año la muestra.

Examinando el párrafo anterior se nos plantea un primer problema: ¿qué tamaño de datos debemos elegir para la muestra usada en la optimización y para la prueba fuera de muestra? Ciertamente no existe una regla definitiva, pero como ya vimos en el capítulo anterior la selección del tamaño muestral para realizar un backtest debe estar basada en la frecuencia de las operaciones del sistema, por lo que una porción de datos equivalente a un tercio de ese tamaño muestral es lo que debe reservarse. No obstante nunca debemos olvidar que en la selección del tamaño de las muestras siempre deberemos considerar que existe un trade off entre el tiempo de optimización y la validez estadística de nuestros resultados.

Una vez finalizado el proceso, debemos comparar los resultados obtenidos en la optimizaciones con los obtenidos en los datos fuera de la muestra. Si la comparación indica que los resultados son consistentes y robustos, podemos plantearnos probar el sistema en mercado real, recordando que deberemos realizar periódicamente el ajuste de los parámetros del sistema usando la misma metodología.

Una de las medidas más utilizadas en este campo para comparar resultados dentro y fuera de muestra es el ratio Walk Forward Efficiency (WFE), creado por Robert Pardo (posiblemente el inventor del análisis walk forward de sistemas de trading) y cuya fórmula es la siguiente:

WFE = Rendimiento Medio Anualizado Prueba Fuera de Muestra / Rendimiento Medio Anualizado Optimización Dentro de Muestra

Como mínimo este ratio debe estar por encima del 50%, siendo mejor cuánto más cerca esté de 100% para considerar que la estrategia es robusta. Por el contrario, valores muy por debajo del 50% son un síntoma evidente de que algo va mal; en particular, Pardo señala tres posibles causas:

  • La estrategia simplemente no funciona
  • Los tamaños de muestra elegidos no son apropiados.
  • El modelo está sobreoptimizado por lo que nuestros resultados han sido víctima del curve-fitting.



Valorando la robustez de las optimizaciones
Una de las tendencias más recientes entre los quants es el uso de superficies de optimización para valorar los resultados obtenidos en las fases de backtest. Dichas superficies permiten relacionar los diferentes parámetros del sistema con alguna de las métricas del sistema (beneficio, drawdown máximo, fiabilidad, etc). El objetivo de esta representación no es otro que tratar de encontrar regiones de parámetros cercanos que sean robustos.  Si de entrada no logramos superficies que muestren cierta robustez en los parámetros del sistema, parece que no tiene mucho sentido continuar con la prueba de walkforward ya que es muy probable que los resultados no son sean consistentes.

Para comprender mejor cómo utilizar este tipo de superficies, el ejemplo que propone Alexey de la Loma en este artículo resulta bastante ilustrativo. Observen las siguientes superficies de optimización en las que se relacionan dos parámetros de una estrategia con su beneficio neto:


La figura de la izquierda muestra el caso de una superficie que desciende suavemente desde un máximo, indicando estabilidad y por lo tanto fiabilidad de los valores que se presentan como óptimos. Debemos tener en cuenta que cualquier pico en la superficie nos estará alertando de cierta inestabilidad y, por ende, de que probablemente los resultados obtenidos sean pura casualidad.

En el caso de la figura central, vemos como  las zonas de mayor beneficio está comprendidas en un espacio pequeño. Ello puede ser un síntoma de que tanto los límites seleccionados para la optimización, como el salto entre valores para dicha optimización, son demasiado grandes.

Finalmente tenemos el caso de la figura de la derecha, en la que se observan pequeños picos en la superficie. En este caso ello puede ser debido a que el sistema muestra cierta inestabilidad ante los cambios de un parámetro y menos sensibilidad ante otros. Por lo tanto, si el rango de un parámetro permanece de forma plana durante un intervalo continuado de forma consistente frente al resto de parámetros, debemos seleccionar la escala más minuciosamente y prestar más atención en la evaluación del mapa.

En resumen: a la hora de analizar superficies de optimización en busca de zonas robustas debemos evitar aquellos sistemas que muestren saltos bruscos y/o pendientes muy inclinadas.


Software especializado en análisis Walk Forward
Si bien la mayor parte de herramientas que vimos en la entrega anterior cuenta con sus propios módulos de walk forward, ya sea de serie o a través de addons desarrollados por terceras partes, me gustaría destacar algunas soluciones muy recomendables por ser bastante completas:

  • Multicharts (http://www.multicharts.com/): hoy por hoy una de las mejores suites para trabajar y automatizar estrategias. Incorpora un completo módulo de análisis walk forward así como la posibilidad de optimizar con carteras de sistemas.
  • Trading Blox (http://www.tradingblox.com/): incluye detallados resultados estadísticos, ratios Sortino, MAR y CALMAR, así como la función de distribución de los múltiplos de R. También permite desarrollar estrategias sin necesidad de programar, utilizando simples diagramas similares a los de Visual Chart.
  • TradersStudio (http://www.tradersstudio.com/): desarrollado por Murray A. Ruggiero, en su momento hicimos una review de este software en este artículo. Una de las características que le diferencian es la posibilidad de crear funciones propias para evaluar los resultados.
  • Portfolio Maestro (http://www.portfoliomaestro.com/) desarrollado por Rina Systems, el cual ha sido recientemente ha sido adquirido por TradeStation, creando una solución muy cercana a MultiCharts.



Conclusión
Cualquier backtest y optimización de parámetros que realicemos de una estrategia estarán incompletos si no lo completamos con un análisis walk forward adecuado. De lo contrario, estaremos a merced de la sobreoptimización y el curve fitting, de tal forma que cuando pongamos a funcionar un sistema en el mercado, probablemente perdamos todo nuestro capital.

Saludos,
X-Trader

 



Si te ha gustado este articulo, ¡compártelo en redes!