ARTÍCULO SEMANAL 16-Jun-2017

Optimizando sistemas (I): El tamaño de la muestra por Alejandro Lucas

Inicio aquí una serie de artículos en los que hablaré sobre la optimización de sistemas. Como escoger un buen algoritmo de Money Management (de lo que hablábamos en el anterior artículo) a la hora de operarlo, realizar el proceso de optimización de un sistema de manera correcta es tan importante como el propio desarrollo del mismo.

En este primer artículo nos centraremos en la elección de la muestra de precios históricos, esto es ¿Sobre qué optimizamos nuestro sistema? Aquí, si nos centramos en el tamaño de la muestra, podemos observar 2 grandes tendencias entre los desarrolladores:

  • Unos escogen una muestra de muchos años de cotizaciones buscando dotar de relevancia a sus estadísticas al basarlas en un alto número de trades efectuados además en diferentes situaciones del mercado.
  • En el extremo opuesto se situarían quienes argumentan que los mercados actuales no se pueden comparar a los de años anteriores y observan sólo el comportamiento reciente del mercado, re-optimizando frecuentemente sus sistemas en periodos muy cortos, para “capturar” el timing que el mercado tiene en un momento dado.

No digo que la segunda metodología no pueda funcionar, pero prefiero optimizar sobre muestras históricas lo más amplias posible. Creo que sirve mejor a la consecución de los objetivos del proceso de optimización, que para mí son medir la fiabilidad de los resultados y evaluar el riesgo.

Sobre la fiabilidad de los resultados, veamos un ejemplo: Optimizamos un sistema sencillo (un simple cruce de medias) durante 15 días en el futuro del Bund a 30 minutos, y obtenemos el siguiente resultado:

Hay 3 combinaciones ganadoras (los cruces 5-20, 4-30 y 10-25) de las 56 posibles (aunque en el gráfico recortado se ven 44, había 56 opciones, ya que optimizábamos la media rápida entre 3 y 10 de 1 en 1 y la lenta entre 20 y 50 de 5 en 5). La mejor de ellas (el cruce 5-20) nos habría hecho ganar 630 euros.

La pregunta es: ¿Podemos extrapolar que en los próximos 15 días esta estrategia producirá un resultado similar (y por lo tanto hemos encontrado una pauta del mercado)? O por el contrario… ¿Debemos pensar que, como había 56 combinaciones, pudo dar la casualidad de que alguna fuese ganadora sin que por ello podamos deducir nada? Huelga decir que las pautas tienen mayor probabilidad de ocurrir en el futuro que las casualidades, por lo tanto, lo que debemos buscar los desarrolladores de sistemas son pautas del mercado.

A continuación, veamos el gráfico que nos calcula TradeStation con los resultados que hubiese dado operar esta estrategia y estos parámetros durante los últimos 10 años:

En este caso pues, el resultado que produjeron estos 15 días parece más fruto de la casualidad. Y la lógica me lleva a pensar que cuanto mayor sea el periodo en que optimicemos mayor será la probabilidad de que lo que encontremos sean pautas y no casualidades. Yo, desde luego, no pondría mi dinero en este sistema ni en ninguno cuya optimización se basase en un periodo tan corto de tiempo.

La segunda razón para escoger periodos históricos grandes es poder hacer una evaluación del riesgo lo más realista posible. En efecto, si probamos nuestra estrategia sobre un periodo suficientemente amplio y representativo como para contener mercados alcistas, bajistas, laterales, con volatilidades altas y bajas… encontraremos las rachas de pérdidas realmente duras que ésta hubiera producido. Estas rachas de pérdidas (llamadas drawdowns), lejos de ser algo negativo (pues no podemos pretender que nuestro sistema gane siempre), nos aportan una información muy valiosa: Permiten estimar el capital que necesitamos para operar el sistema sin arruinarnos, reduciendo el riesgo de perder con un buen sistema por no haber provisionado la cuenta con fondos suficientes que cubran sus lógicos drawdowns. A continuación, veamos un ejemplo:

Es un backtest del 2º set de Sersan-Apolo-Nasdaq-02 durante últimos 15 años. El sistema tiene resultados positivos, es muy bueno de hecho. Pero también ha tenido una racha de pérdidas de más de 15.000$: ¿Sería recomendable operarlo en una cuenta de 10.000$ por ejemplo? Si lo hiciésemos, podríamos sufrir pérdidas de las que ya no fuera posible recuperarse.

Conclusiones: Si no optimizamos un sistema correctamente, podemos llegar a creer que un sistema es bueno cuando no es así, debido a la casualidad. Como queremos ganar dinero en el futuro, no sólo en el backtest, buscamos pautas que se reproduzcan en el tiempo y no casualidades. Incluso con un buen sistema podemos perder, si no hemos provisionado nuestra cuenta con un nivel de fondos adecuado al riesgo, ya que todos los sistemas tienen rachas perdedoras. También saber qué riesgo correremos cuando las cosas no vayan bien. Para todo ello, en mi opinión, escoger un periodo de optimización tan amplio y diverso en cuanto a las características del mercado como sea posible es algo de suma importancia.

Alejandro Lucas