Skip to main content
Formación financieraGestión monetaria

Las claves de un buen backtesting

By 8 junio, 2017enero 10th, 2018No Comments

Una vez que tienes un sistema definido en términos de cuáles son los criterios para entrar en el mercado, cuántas acciones debes comprar o vender en corto y cuándo debes liquidar tu posición, lo que necesitas saber es cómo de bueno es ese sistema en condiciones reales; para esto existe el mecanismo del backtesting. A veces una idea que parece tener todo el sentido del mundo no funciona bien en el mercado debido a pequeños detalles de la operativa diaria que no se contemplan a priori, por eso este análisis objetivo es tan necesario.

A la hora de llevar a cabo el backtesting hay que establecer una metodología clara. Aunque todos conocemos el tan citado lema de que «resultados pasados no aseguran resultados futuros», la forma más aproximada de validar un sistema con un nivel de confianza razonable es realizar el análisis con datos históricos reales de cotización. En este análisis será interesante estudiar variables como el porcentaje de acierto del modelo, la ganancia media, la perdida media, la mayor racha de operaciones ganadoras, de operaciones perdedoras, etc.

 

¿Cuántos datos necesito?

Para que el backtesting sea significativo deberás tomar una cantidad suficiente de datos de mercado, y aquí el término suficiente va absolutamente ligado a los detalles de tu sistema. Si tienes un sistema que opera en intradiario con operaciones que en media duran 5 minutos, con dos o tres meses de datos intradiarios puede ser suficiente. Sin embargo, si tu sistema lanza una o dos operaciones al año esta ventana de backtesting es totalmente insuficiente. Como regla del pulgar, lo recomendable es que cojas un horizonte temporal en el que se testen en torno a unas 400 operaciones, cuanto más te aproximes a esta cifra más estarás aumentando tu confianza estadística. También es ideal que se cubran distintos momentos de mercado, en especial momentos alcistas, bajistas y laterales; pero también momentos de bajo volumen como el verano o periodos de incertidumbre geopolítica.

 

¿Cómo debo probar el modelo?

Si vas a utilizar el backtesting para ajustar algún parámetro de tu modelo a los datos históricos, es recomendable que no hagas una, sino dos muestras. La primera muestra será aquella con la que desarrolles el modelo y la optimización de parámetros para buscar el mayor beneficio y ajuste fino de tus variables. En la segunda muestra se realizará el testeo del modelo optimizado y se analizarán los resultados. Esta recomendación se justifica por el hecho de que muchas veces, al optimizar parámetros, se produce el llamado sobreajuste, de tal forma que el modelo se adapta en exceso a los datos con los que estás trabajando, pero luego funciona mal con cualquier otro set de datos. Por esto se deberá comprobar que la performance de las variables clave objeto del backtesting sea similar en las dos muestras, ya que en caso contrario es muy probable que se esté incurriendo en un problema de sobreajuste. El modelo se deberá probar de tal forma que teniendo delante los datos históricos se simule qué hubiera hecho el sistema en esa situación.

 

¿Cuándo sé que un modelo es bueno?

Una vez que tenemos datos sobre los resultados de nuestro modelo, necesitamos un criterio para valorarlos y saber si debemos llevarlo a la práctica o no. Un enfoque puede ser adoptar cualquier método que genere esperanza de beneficios positiva, diversificando nuestras formas de aproximarnos al mercado. Igual que se puede diversificar una cartera de inversión adquiriendo activos de distintos sectores y países, se puede diversificar mediante distintos algoritmos y sistemas de trading y así estabilizar la rentabilidad agregada.Este es un enfoque poco restrictivo que no deja fuera ninguna posible fuente de beneficios.

En caso de que por algún motivo se quiera adoptar un enfoque restrictivo sobre el número de sistemas que se llevan a la práctica, una buena aproximación sería enfrentar nuestro sistema a un «comparable ingenuo» (naive benchmark). Un comparable ingenuo es un ejemplo de sistema poco sofisticado que utilizamos para asegurarnos de que nuestro sistema aporta alguna mejora frente a otro que a simple vista parece inguenuo o excesivamente simple. En este caso, a título ilustrativo, podemos citar como comparable ingenuo contra el que enfrentar nuestro modelo un sistema que opere los cruces de medias o uno que compre cuando el RSI cruza al alza el nivel de sobreventa y que venda cuando se cruza a la baja el nivel de sobrecompra. Si los resultados de nuestro modelo son mejores en términos de rentabilidad total y de estabilidad de los resultados sabremos que es un buen sistema y que merece la pena tenerlo en cartera. Si no, podemos buscar la forma de implementarle mejoras o bien directamente trabajar sobre el comparable ingenuo a fin de hacerlo más sofisticado y rentable.

 

Una vez hemos llevado a cabo todas estas fases del backtesting, ya sabemos que nuestro sistema probablemente lo hará bien en el mercado y tendremos la confianza necesaria para mantener la disciplina de trading incluso en rachas de pérdidas.

 

Rubén Castillo Sánchez

Author Rubén Castillo Sánchez

More posts by Rubén Castillo Sánchez