El Curve-Fitting en el Trading Algorítmico

En el trading como en cualquier otro tipo de negocios existen modas y tendencias. Con el desarrollo de las plataformas tanto de brókers como las independientes se han implementado con la posibilidad de programar estrategias automatizadas, es decir, trading algorítmico. Claro que hay que tener en cuenta que si el operador no tiene buenos conocimientos, método, sistema y estrategia para negociar en manual por muy buen programador que sea no conseguirá que mejore o sea rentable.

Pero vamos a partir de la base que seguimos un método para operar y que él deriva un sistema con una estrategia bien definida con sus reglas y que se programa en un lenguaje. Una vez finalizada la tarea la exponemos al mercado con datos históricos, lo que se denomina backtesting con un período suficientemente amplio para que nos arroje unos resultados que ofrezcan una buena fiabilidad.

Es Necesario Hacer un Correcto Walk-Forward

Definamos primeramente “optimización”. Es un proceso donde se busca los mejores parámetros que den una buena rentabilidad, que haga a una estrategia ganadora de forma consistente. Se escoge un período histórico y se prueba en backtest la estrategia programada. Nos dará unos resultados. A partir de ahí mediante un programa para ir variando los parámetros y comprobando los resultados que suele estar alojado en la misma plataforma donde hemos programado se irá obteniendo resultados de lo que nos hubiese proporcionado si configurada de esa manera la hubiésemos puesto a trabajar en tiempo real. El siguiente paso sería comprobar esa configuración que hemos elegido en otro período histórico posterior al del backtest de optimización para comprobar si su comportamiento es igual o parecido al mostrado anteriormente. A ello se le denomina análisis “walk-forward”.

Aquí es donde las cosas normalmente se tuercen y aparecen los primeros síntomas de que algo no va bien. Puede deberse a situaciones no prevista en el momento de formu-lar los algoritmos, errores en la programación pero sobre todo dejan en evidencia al sistema de trading que se pretende usar porque no es rentable. Y es esto último lo que hace que elijamos parámetros de configuración que provocan lo que se llama “curve-fitting” o sobre-optimización. Es proponer configuraciones que muchas veces si se analizan fríamente son absurdas que dan resultados irreales o ficticios que nunca se darán en la realidad.

La sobre-optimización es el peor enemigo de un sistema algorítmico. Este hecho ocurre cuando un programador busca que la estrategia funcione con el máximo de ganancias sin fijarse en otros parámetros. Pero en el momento que la hace la ejecuta a tiempo real en un producto financiero el resultado que se obtiene suele ser pérdidas más o menos abultadas. Mencionamos antes la etapa walk-forward y de su importancia para evaluar y aprobar el sistema automático. He conocido a muchos y no exagero que desprecian o quitan importancia a esta tarea de evaluación. Incluso suelen hacerse “trampas” escogiendo períodos cortos muy cercanos a cuando hicieron el baktest de optimización o yendo a buscar otros momentos más lejanos donde el escenario del activo financiero es muy parecido al de backtest. Lo que quiere decir que el sistema no funciona con garantías en cualquier momento de mercado, es decir, según tendencia y volúmenes negociados.

Los Peligros para un Sistema Algorítmico

El mayor peligro para un sistema somos nosotros mismos. Sobre todo cuando se empieza sólo se mira los resultados que den grandes beneficios, incluso cuando se lleva tiempo operando. Un sistema no se evalúa sólo escogiendo los mejores resultados sino aquellos que en diferentes momentos de mercado consiguen no perder en exceso. Hacer uso de sistemas de optimización mirando exclusivamente la columna de los importes no es la manera.

Pongamos un ejemplo de estrategia típica de cruces de medias con un oscilador RSI. He visto configuraciones “extrañas” que en realidad tienen a ser ridículas como una media simple de período 13 con otra media exponencial de 87 períodos y el uso de RSI para buscar la salida del mercado con sobrecompra de 104 y sobreventa de 31. Lo único que se ha hecho es forzar tanto la búsqueda de altos beneficios que ni se fijan en que no tienen ninguna lógica los parámetros. El mercado reacciona por suerte o por desgracia a determinados valores “estándar” o aceptados por todos. Todos somos capaces de ver cómo cuando el precio llega en un gráfico diario a una media simple de 200 períodos “reacciona”. Lo mismo con otras cifras tanto en medias como en osciladores. Pero pensar que hemos descubierto el Santo Grial con un sistema cuyo set-up utiliza esos coeficientes es mucho pensar.

El esfuerzo por hacer funcionar un sistema de trading que no es bueno nos hará perder, en el mejor de los casos, el tiempo y si somos arriesgados, el dinero. Para no caer en la trampa del curve-fitting podríamos seguir algunos pasos como no hacer uso de demasiados parámetros en la optimización. Hay que utilizar aquellos que vemos esenciales en sus ajustes para “afinar” la estrategia al ruido del mercado, a caer en las trampas de períodos de bajo volumen negociado o sin tendencia (lateralidades). Fijarnos mejor en porcentajes de fiabilidad y rendimientos, mayor número de veces ganadoras y perdedores, cantidad de operaciones con ganancias o pérdidas, el drawdown mínimo (peor momento por el que pasa una operación que desde la entrada llegó a tener una pérdida sin haber sido cerrada). El drawdown nos indicará cuánto estamos dispuesto a estar en pérdidas en un “trade”, cuánto aguantará nuestra cuenta de trading sin que el bróker la cierre por falta de garantías suficientes y cómo situar los stop-loss para que no corte operaciones que pueden llegar a ser ganadoras o que deje aumentar las pérdidas en las que van a salir mal.

Manejando Herramientas Estadísticas

Al realizar la prueba estadística  Montecarlo se cambiará de forma aleatoria el orden de las operaciones de trading y nos dirá si el comportamiento que tuvo en un período histórico continuo será igual, parecido o diferirá en mucho. Al hacerlo de esta manera, las pérdidas consecutivas pueden coincidir en mayor cantidad y demostrará que el sistema puede hacer disminuir la cuenta en un porcentaje importante. Usar herramientas gráficas para ver los resultados en forma de curva como los obtenidos con la prueba de Montecarlo o con el incremento o decremento de nuestra cuenta es esencial.

Un Sistema Dependiente de Optimizaciones es un Mal Sistema

Pero a modo de conclusión diré que mi forma de pensar es que si un sistema automático necesita de ser optimizado de forma periódica porque se “desajusta” con los momentos de mercado es que es un mal sistema de trading.

Conclusión

Una operativa tiene que tener unas reglas lógicas y fiables que sigan siendo vigentes en el paso del tiempo. A mi modo de ver, todo sistema dependiente de optimizaciones, de búsquedas de parámetros que le hagan trabajar bien en el pasado con el objeto de que su comportamiento sea parecido en el futuro es porque se ha diseñado mal la estrategia, las reglas no están bien programadas o utiliza indicadores para la búsqueda de señales de entrada y salida que son ineficientes. En los años que llevo programando mis propios sistemas algorítmicos lo he ido aprendiendo hasta llegar a los actuales. Su utilización a diario me proporciona una rentabilidad económica sin necesidad de reajustes de parámetros, ni siquiera en su fase de final de diseño y pruebas.

Esteban Pérez es ingeniero de telecomunicaciones e inversor en Bolsa con una experiencia de más de 20 años. Actualmente es analista técnico independiente, trader intradiario a tiempo completo, programador de sus propios sistemas algorítmicos y formador en el trading especializado en Price Action y SoR calculados por lo que es muy conocido.

Artículo publicado en el número de marzo de 2019 de la revista TRADERS’. Regístrate en www.traders-mag.es de manera completamente gratuita para acceder a más artículos como este.

COMPARTIR EN: