1. Optimizar sin engañarse: qué es de verdad un backtest
Nivel 12: Backtesting y Métricas de Riesgo Reales
Un backtest es, dicho sin adornos, el proceso de probar una hipótesis de trading sobre periodos de tiempo anteriores. En lugar de aplicar la estrategia hacia adelante y esperar años para juzgar su comportamiento, el trader simula sus reglas sobre datos pasados relevantes y obtiene una respuesta en segundos. Es la herramienta más potente que tienes, y también la más fácil de usar mal.
Junto al backtest aparece siempre su hermana peligrosa: la optimización. Optimizar permite mejorar los resultados de una estrategia afinando los parámetros y las fórmulas que la gobiernan. Se puede afinar un solo parámetro o un conjunto de ellos para alcanzar un objetivo concreto. Un objetivo de optimización puede ser maximizar los beneficios totales generados. Otro objetivo puede ser minimizar los drawdowns, es decir, las caídas desde máximos.
Dicho el propósito de la optimización, conviene ser consciente de que es un arma de doble filo. Si se aplican muchas reglas sobre los datos de entrenamiento hasta conseguir la curva de capital deseada, el resultado es un sobreajuste de los datos: el modelo probablemente perderá su capacidad predictiva sobre los datos de test y sobre el futuro. Dicho de otro modo, cuando torturas los datos lo suficiente, acaban confesando lo que tú quieres oír. Y el mercado no está obligado a repetir esa confesión mañana.
Hay una intuición que ayuda a no perderse: cada parámetro que añades y cada combinación que pruebas consume grados de libertad. Si evalúas treinta mil combinaciones de parámetros sobre el mismo tramo de historia, la mejor de todas tendrá un resultado espectacular aunque tu señal no valga nada, simplemente porque has ido a buscar el máximo del ruido. Ese máximo no se repite fuera de muestra.
Tipos de sistemas de backtesting
Existen a grandes rasgos dos formas de sistema de backtesting para poner a prueba una hipótesis.
- Research backtesters (backtesters de investigación). Estas herramientas no simulan por completo todos los aspectos de la interacción con el mercado, sino que hacen aproximaciones para dar una determinación rápida del rendimiento potencial de la estrategia. Aunque se usan con frecuencia tanto para backtesting como para ejecución, no son adecuadas para estrategias que se acercan al intradía de alta frecuencia. Se emplean ampliamente en la industria profesional del trading cuantitativo para obtener el primer borrador de cualquier idea antes de pasarla por un backtest riguroso en un entorno más realista.
- Backtesters dirigidos por eventos (event-driven). Aquí la estrategia automatizada se conecta a un flujo de mercado en tiempo real y a un bróker, de forma que el sistema recibe información nueva que se envía a un componente que dispara un evento para generar una nueva señal de trading. Estos sistemas corren en un bucle continuo y pueden tener subcomponentes como un gestor de datos históricos y un simulador de bróker, lo que permite un backtesting muy parecido a la ejecución en vivo. El único inconveniente es que su diseño es complicado y son más propensos a errores de programación.
Backtrader, la librería que vas a usar en este nivel, es un motor dirigido por eventos: procesa las barras una a una y solo te deja ver lo que ya ha ocurrido.
Para ampliar esta lección
- Backtesten el glosario