Cómo hacer un backtest de una estrategia con honestidad
Sobreajuste, sesgo de anticipación, modelado de comisiones y slippage: por qué la mayoría de los backtests mienten y cómo hacer que el tuyo sea honesto.
Los backtests mienten a tu favor por defecto; tu trabajo es encontrar y revertir cada sesgo optimista, no admirar la curva de capital.
En esta guía
El backtesting consiste en ejecutar una estrategia de trading con datos históricos de precios para ver cómo habría funcionado. Hecho con honestidad, es la forma más barata de matar una mala idea antes de que te cueste dinero. Hecho con descuido —que es lo habitual—, produce hermosas curvas de capital que se evaporan en cuanto toca el dinero real, porque la prueba asumió en silencio un conocimiento, unas ejecuciones y unos costes que ningún trader en vivo obtiene jamás.
Por qué la mayoría de los backtests te halagan
Un backtest es una simulación, y cada simplificación de esa simulación tiende a equivocarse a tu favor. Las velas históricas no muestran el spread que habrías tenido que cruzar. La estrategia que estás probando suele ser la superviviente de decenas de variantes descartadas, así que sus resultados ya están seleccionados por suerte. Y las monedas que elegiste probar suelen ser las que lo hicieron lo bastante bien como para seguir en tu radar.
Nada de esto requiere deshonestidad. Ocurre a través de una serie de decisiones razonables por separado: «solo voy a ajustar este umbral», «probaré con BTC porque tiene más datos», «ignoraré las comisiones por ahora y las añadiré después». Cada decisión inyecta un pequeño sesgo optimista, y los sesgos se acumulan. Una estrategia que muestra un +80 % en dos años en un backtest ingenuo puede quedar fácilmente plana o en negativo una vez que tienes en cuenta los cuatro problemas siguientes. El objetivo del backtesting honesto no es eliminar todos los sesgos —eso es imposible—, sino saber en qué dirección empuja cada uno y conseguir que todos empujen en tu contra y no a tu favor.
Sobreajuste: ajustar hasta que el pasado parezca perfecto
El sobreajuste (overfitting) es ajustar tu estrategia al ruido de un tramo concreto de la historia en lugar de a algo repetible. Es, con diferencia, la forma más común en que mienten los backtests.
El mecanismo es sencillo. Supón que pruebas un bot de reversión a la media con RSI y ensayas umbrales de compra de 20, 25, 30 y 35, con take-profits del 2 %, el 3 % y el 5 %, en tres marcos temporales. Son 36 combinaciones. Aunque la idea de fondo no tenga ninguna ventaja, una de esas 36 se verá estupenda en cualquier conjunto de datos solo por azar, y esa es la que te tentará conservar. No descubriste una ventaja; jugaste a una lotería y te quedaste con el boleto premiado.
Señales de advertencia de una estrategia sobreajustada:
- Parámetros sospechosamente específicos. Un RSI de 27,5 con un take-profit del 3,8 % rinde de maravilla, pero un RSI de 25 o de 30 pierde dinero. Una ventaja real se degrada gradualmente a medida que mueves los parámetros; una falsa se desploma de golpe.
- Muchas reglas, pocas operaciones. Una estrategia con seis condiciones de entrada que se activó 40 veces en dos años tiene aproximadamente una regla por cada siete operaciones. Eso es memorización, no una estrategia.
- Rendimiento concentrado en un puñado de operaciones. Si al quitar las tres mejores operaciones la curva de capital queda plana, has hecho un backtest de unos pocos eventos afortunados.
Las defensas son igual de sencillas, aunque incómodas: prefiere menos parámetros, comprueba si los valores vecinos de los parámetros también funcionan (una meseta de resultados decentes vale más que un único pico espectacular) y exige una muestra de al menos unos cientos de operaciones antes de fiarte de cualquier estadística.
Sesgo de anticipación y sus parientes
El sesgo de anticipación (look-ahead bias) significa que tu simulación usa información que no estaba disponible en el momento de la operación simulada. A menudo es invisible en el código y siempre fatal para la validez.
Formas comunes:
- Operar sobre una vela sin cerrar. Un indicador calculado sobre el cierre de una vela no se conoce hasta que esa vela cierra; a menudo es el error más común de los backtests caseros. Si tu prueba compra al precio de cierre de esa misma vela en el instante en que se forma la señal, bien; si compra en la apertura o en el mínimo de esa vela, has viajado en el tiempo.
- Indicadores que se repintan. Algunos indicadores (ciertas señales de zig-zag, fractales o suavizadas) recalculan valores pasados al llegar nuevos datos. Probados en un backtest con los valores históricos finales, parecen proféticos; en vivo, la señal sobre la que actuaste se redibuja sola.
- Sesgo de supervivencia. Probar solo con las 20 principales monedas de hoy es probar solo con activos que, por definición, no se desplomaron. La cartera de la época de 2021, que incluía monedas que después cayeron un 95 % o fueron retiradas de cotización, se veía muy distinta de lo que muestra hoy un filtro de las 20 principales.
- Data snooping entre intentos. Cada vez que echas un vistazo a los resultados de todo el historial y luego ajustas la estrategia, el historial completo deja de ser una prueba justa. Has convertido todos tus datos en datos de entrenamiento.
La solución estructural son las pruebas fuera de muestra (out-of-sample): reserva una parte del historial —por ejemplo, el 30 % más reciente— antes de empezar a ajustar. Ajusta solo con la parte más antigua y luego ejecuta la estrategia terminada una sola vez con los datos reservados. Si el rendimiento se desploma fuera de muestra, la estrategia memorizaba, no generalizaba. Las pruebas walk-forward lo amplían: ajustas repetidamente sobre una ventana, pruebas en el tramo siguiente y avanzas, de modo que cada periodo probado fuera realmente desconocido en el momento del ajuste.
Comisiones, slippage y el coste de operar a menudo
El modelado de costes es donde los backtests honestos y los deshonestos más divergen en cifras brutas, porque los costes escalan con la frecuencia de operaciones y los pequeños lastres por operación se acumulan de forma brutal.
Veamos un ejemplo. Un bot hace de media tres operaciones completas de ida y vuelta al día. Las comisiones taker del 0,10 % por lado cuestan un 0,20 % por ida y vuelta. Añade un 0,05 % realista por lado de spread y slippage en un par líquido —más en los poco líquidos— y cada ida y vuelta cuesta aproximadamente un 0,30 %. Con tres operaciones al día, eso es alrededor de un 0,9 % del capital negociado al día en fricción. Una estrategia cuya ida y vuelta ganadora media deja un 0,5 % antes de costes no es marginal: es una máquina de donaciones, por muy suave que parezca su curva de capital sin comisiones.
Por tanto, un backtest honesto:
- Cobra la comisión taker salvo que la estrategia realmente deje órdenes límite en reposo, y modela el riesgo real de que las órdenes en reposo no se ejecuten cuando el precio se escapa.
- Añade un slippage que escale con el tamaño de la orden y las condiciones del mercado: las ejecuciones durante una ruptura volátil son peores de lo que sugiere la vela, y las órdenes stop de mercado en un desplome pueden ejecutarse muy por debajo del nivel del stop.
- Usa los niveles de comisiones que realmente tendrías, no el nivel VIP de la página de marketing de un exchange.
- Repite la prueba con los costes aumentados un 50 % como prueba de estrés. Una ventaja real sobrevive; un espejismo sensible a los costes, no.
Juzgar los resultados como un escéptico
Incluso un backtest limpio necesita una lectura escéptica. La rentabilidad total es la cifra menos informativa del informe.
Fíjate en cambio en el drawdown máximo (¿de verdad habrías mantenido el bot funcionando durante una caída del 40 % en el primer año?), el número de operaciones (menos de ~100 significa amplios márgenes de error en todo) y cómo se distribuyen los rendimientos en el tiempo y entre activos. Compara con una referencia tonta: si simplemente mantener el mismo activo durante el mismo periodo habría rendido más con menos complejidad, la estrategia aportó valor negativo. Comprueba la dependencia del régimen de mercado dividiendo los resultados en periodos alcistas, bajistas y laterales: muchas estrategias cripto son solo «largo durante un mercado alcista» con un disfraz de indicador.
Por último, trata el rendimiento del backtest como un techo, no como una estimación. Los resultados en vivo casi siempre son peores: los mercados cambian, la ejecución decepciona y el optimismo residual que no pudiste purgar pasa factura. Una regla de sentido común habitual es exigir que una estrategia se vea claramente buena —no marginal— tras todos los costes y las pruebas fuera de muestra, empezar luego en vivo con un tamaño pequeño, comparar durante unas semanas las ejecuciones reales con las simuladas (ayuda empezar con paper trading) y aumentar solo si la realidad sigue a la simulación.
Conclusiones clave
- Los backtests mienten a tu favor por defecto; tu trabajo es encontrar y revertir cada sesgo optimista, no admirar la curva de capital.
- El sobreajuste es el principal asesino: prefiere pocos parámetros, exige cientos de operaciones y confía más en las mesetas de parámetros que en los picos.
- El sesgo de anticipación —velas sin cerrar, indicadores que se repintan, listas de monedas filtradas por supervivencia— invalida una prueba por completo; reserva datos recientes con los que nunca ajustes.
- Modela comisiones taker, spread y slippage por cada operación de ida y vuelta; las estrategias de alta frecuencia a menudo mueren por un coste realista de ~0,2-0,4 % por operación.
- Trata los resultados del backtest como un techo: compáralos con comprar y mantener, somete los costes a una prueba de estrés y pasa a operar en vivo con poco antes de creer nada.
Contenido educativo, no asesoramiento financiero. Lee el aviso legal completo.
Términos del glosario en esta guía