Cómo Medir la Robustez de tu Sistema

Sabemos que hacer un correcto Back-Testing de nuestro sistema es muy importante. Tanto si optimizamos como si no lo hacemos. El Back-Testing nos dirá de manera aproximada si el sistema funciona o no, cuánto dinero podemos esperar ganar de él o no, etc. Pero… ¿esto es realmente así? ¿El Back-Testing de nuestro sistema es fiable respecto al futuro performance de nuestro sistema? Depende.

En la industria se usa mucho aquello de: “Rentabilidades pasadas no garantizan rentabilidades futuras” Que es cierta, también para los sistemas de trading.

Lo realmente importante de cualquier sistema es la Robustez, su capacidad para seguir ganando dinero en el futuro, tal y como indica el Back-Testing. Aquellos lectores veteranos se habrán encontrado alguna vez con un sistema que tiene un Back-Testing excelente y al ponerlo a operar en tiempo real no se comporta de la forma esperada.

Bien. Se puede aludir que hay formas y formas de hacer un Back-Testing. Es cierto. Del mismo modo que hay formas de fomentar la Robustez, tanto en el diseño como en la evaluación u optimización de nuestro sistema. Cierto también. Y aún más, un buen análisis Walk-Forward o de prueba externa puede ayudarnos a valorar si nuestro sistema mantiene su comportamiento en datos no optimizados. Optimizamos un trozo del histórico y comprobamos los resultados en otro trozo no optimizado. Perfecto, cierto también.

Pero en realidad, la prueba externa tenemos que hacerla en diferentes periodos del histórico, de manera que podamos obtener varios resultados Out-of-Sample (OOS). Por ejemplo:

Está muy bien… pero tiene sus limitaciones y en todo caso, hacer este análisis bien hecho requiere de un tiempo y trabajo realmente precioso. Es un procedimiento muy complejo y laborioso que usualmente hemos hecho en Excel… Hasta ahora.

La tecnología avanza y ésta pone a nuestro alcance cada vez mejores herramientas.

El Walk Forward Optimizer (WFO) de TradeStation es la primera herramienta que nos permite objetivar la Robustez de nuestro sistema. El WFO es un proceso que realiza sucesivas optimizaciones en determinados periodos distintos del histórico, muestra In-Sample (INS) y aplicando los mejores parámetros a sucesivos periodos no optimizados que llamamos muestra Out-of-Sample (OOS).

Es una prueba de stress que pone a prueba a nuestro sistema con diversos tests realizados todos con datos fuera de muestra. En realidad WFO empieza donde el resto de métodos de Back-Testing terminan. Es lo más parecido que hay a probar nuestro sistema en datos “futuros” porque es capaz de construir incluso una Equity o un Performance Report completamente obtenido con datos OOS.

WFO responderá de manera realista a las siguientes preguntas:

  • ¿Seguirá ganando dinero nuestro sistema tras la optimización?
  • ¿Cómo afectarán los cambios de comportamiento del mercado en su rendimiento?
  • ¿Cada cuánto tiempo debemos re-optimizar nuestro sistema?

Veamos uno de los tests que pasó nuestro sistema ARTEMISA, un sistema diario que opera en real sobre el IBEX:

El software realiza la optimización con todas las combinaciones elegidas. Elije la mejor INS y la aplica OOS según la función objetivo elegida. Esto nos permite obtener un enorme número de segmentos INS y OOS, distintos entre sí, que pone a prueba la lógica que hay detrás del sistema.

Así, obtenemos una matriz de datos como está:

La matriz nos muestra si el sistema PASA las pruebas o no en cada clúster. WFO aplica 5 tests a los datos OOS de cada clúster y el sistema tiene que pasar los 5 para obtener el PASS. Los valores a superar por defecto son los siguientes, aunque son configurables:

  • Total Profit: Los datos OOS deben sumar más de 0, es decir, deben ganar dinero.
  • Walk-Forward Efficency>50: El beneficio anualizado OOS debe ser al menos el 50% del obtenido INS
  • Consistency of Profits: Al menos el 50% de los runs deben tener ganancias
  • Distribution of Profits: Ningún run puede contribuir con más del 50% del beneficio total obtenido OOS
  • Maximum DrawDown: Ningún run puede tener un DD mayor del 40%

La finalidad de WFO es obtener el mayor número de PASS posibles, reflejando en color verde la zona central de los datos. Un sistema Robusto debe pasarlo en la mayoría de Clústeres, pero son muchos que no lo consiguen ya que realmente estresamos mucho a la lógica de nuestro sistema. Debe ser capaz de adaptarse a numerosas combinaciones de segmentos OOS y número de runs ejecutados.

Pero no acaba ahí el potencial de WFO. La matriz es un resumen de las pruebas realizadas pero podemos ver el detalle de cada una de ellas así como ver los runs INS y OOS con sus principales ratios. Este es el análisis que corresponde al clúster 10% OOS y 5 runs:

Muchos datos a analizar en cada una de estas tablas, sobre todo en la OOS, que nos permiten analizar en detalle la Robustez de nuestro sistema.

Otra posibilidad que permite WFO es elegir los parámetros que “tocarían” para operar en tiempo real con nuestro sistema, es decir, sería el run 6 en el ejemplo mostrado. La finalidad es estresar la estrategia y verificar si el sistema PASA o no el test. Si lo pasa, se puede usar o no esta técnica para fijar los parámetros operativos, que incluso nos indica cuando debemos re-optimizar nuestro sistema de manera totalmente programada.

Y aún hay más… Podemos realizar pruebas de sensibilidad, MonteCarlo, ver la Equity de cualquier combinación, ver el performance de cualquier combinación y en cualquier rango de fechas…Como ejemplo muestro la Equity del Clúster mostrado en las tablas INS y OOS:

Una imagen vale más que mil palabras. Aquí podemos ver una buena parte de la Equity con datos OOS, es decir, lo más parecido a real que existe.

Que un sistema pase el WFO en verde no garantiza que el sistema ganará dinero en el futuro. Los mercados cambian y pueden comportarse de una manera tan distinta que el sistema no consiga adaptarse. No obstante, si elegimos correctamente la muestra de datos, sí nos garantiza que la pauta con la que opera el sistema es sólida y es capaz de adaptarse a distintos comportamientos del mercado.

Es objetivamente Robusto y por tanto, probablemente funcionará en el futuro.

La primera vez que vi esta aplicación pensé que estaría solo al alcance de los institucionales o que sería carísima. La realidad, no obstante, es muy distinta. WFO está incluido en la plataforma de TradeStation y es totalmente gratuita para sus clientes.

Para los que no conozcáis Tradestation, es una de las plataformas de software de trading más avanzada del mercado además de un eficiente y competitivo bróker, lo que la convierte en una solución completa para el trading. Encontraréis más información sobre ella en:  http://www.tradestation-international.com/. Asimismo, si tenéis cualquier duda sobre la plataforma y/o el bróker, o bien queréis obtener una demo gratuita de Tradestation, por favor poneos en contacto con nosotros.


Si te gusta el artículo, por favor, difúndelo. ¡Compartir es ganar!

Sergi Sánchez
Síguenos en Twitter: @sersansistemas
Nuestra web: www.sersansistemas.com
Nuestro email: [email protected]

COMPARTIR EN: