El curve-fitting en el trading algorítmico

El curve-fitting en el trading algorítmico

El enemigo de un sistema automático

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 len-guaje. 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 configura-da 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 “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 formular los algoritmos, errores en la programación pero sobre todo dejan en evidencia al sis-tema 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 sobreoptimizació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 me-nos 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 R.S.I. 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 sobre-compra de 104 y sobre-venta 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 capa-ces 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 setup 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 es-tamos 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 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.

Conluyendo


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.

Este artículo ha sido escrito por  Esteban Pérez en la edición 2019/3 de TRADERS´Magazine para ver y descargar esta y todas las ediciones regístrese gratis ► Registrarme Gratis


Deja una respuesta