El backtesting permite examinar cómo habría funcionado una regla con datos históricos, pero no demuestra que vaya a funcionar en el futuro. La IA puede ayudar a escribir y explicar código; el diseño de la prueba determina si el resultado es útil o engañoso.
Contenido educativo, no asesoramiento financiero personalizado ni recomendación de comprar o vender activos. Comprueba las cifras en la documentación original y valora los riesgos por tu cuenta.
- Qué es y qué no es un backtest
- Tres errores que inflan el resultado
- Diseña una prueba más honesta
Qué es y qué no es un backtest
Un backtest aplica unas reglas definidas a datos históricos para examinar qué habría ocurrido bajo determinados supuestos. No prueba que la estrategia funcione en el futuro; sus resultados dependen de la calidad de los datos y de las hipótesis de ejecución.
La IA puede ayudar a escribir un prototipo, explicar el código y resumir resultados, pero debe quedar claro qué reglas exactas se ejecutan. Una estrategia en lenguaje natural puede ser ambigua hasta que se convierte en condiciones reproducibles.
Tres errores que inflan el resultado
El sesgo de anticipación aparece cuando se utiliza información que no estaba disponible en el momento simulado. El sesgo de supervivencia ignora activos que desaparecieron o dejaron de cotizar. El sobreajuste ocurre cuando se ajustan parámetros repetidamente para que encajen con el pasado.
Añade costes de transacción, horquillas, deslizamiento, financiación y restricciones reales cuando sean relevantes. Un resultado bruto sin costes puede parecer muy distinto al resultado neto. Las reglas también deben respetar horarios y liquidez plausibles.
Diseña una prueba más honesta
Define hipótesis antes de ver los resultados, separa un conjunto para desarrollar la idea de otro para validarla y reserva un periodo fuera de muestra. Compara con una referencia sencilla y reporta no solo rentabilidad, sino también caída máxima, volatilidad, número de operaciones y costes asumidos.
Registra todas las variantes probadas. Elegir solo la mejor entre cientos de parámetros hace probable que parte del resultado sea azar. No cambies las reglas sin documentarlo.
Cómo usar la IA con código
Pide código legible, pruebas unitarias y comentarios sobre supuestos. Verifica manualmente los precios, dividendos, splits, timestamps y monedas. Ejecuta el código en un entorno controlado y no permitas que una herramienta gestione credenciales de cuenta.
Si publicas los resultados, describe la metodología completa, el periodo, el activo, la frecuencia de datos y las limitaciones. No uses un backtest como promesa de rendimiento ni como señal suficiente para invertir.
Ejemplo aplicado: separar desarrollo y evaluación
Imagina que pruebas decenas de variantes de una regla hasta encontrar una con la mayor rentabilidad histórica. Aunque no haya fraude, elegir la mejor entre muchas pruebas puede crear una ilusión de rendimiento: la estrategia se ha ajustado al ruido del conjunto de datos. Separa un periodo para desarrollo y otro que no se utilice para seleccionar parámetros, y documenta todas las variantes que probaste.
Añade comisiones, diferencial entre compra y venta, deslizamiento, liquidez y reglas de ejecución realistas. Verifica que la señal calculada en el día t no usa información que solo se publicó después. Compara con una referencia sencilla, revisa caídas máximas y rotación y muestra los resultados negativos o inestables. Un gráfico de rentabilidad sin esos supuestos no permite valorar la calidad del experimento.
Pruebas mínimas de un backtest honesto
- Prevención de look-ahead bias y sesgo de supervivencia.
- Costes de transacción, deslizamiento y ejecución razonables.
- Separación entre muestra de entrenamiento y periodo no visto.
- Comparación con benchmark y métricas de riesgo, no solo retorno final.
- Registro de variantes probadas y de las reglas exactas.
Plantilla de prompt reutilizable
“Revisa el código y los supuestos de este backtest, no optimices el resultado. Busca uso accidental de datos futuros, sesgo de supervivencia, errores de alineación temporal y costes omitidos. Explica cómo reproducir la prueba y qué resultados cambiarían si se excluye el periodo de ajuste. No presentes rendimiento pasado como garantía futura.”
Auditoría mínima de backtest: seis preguntas antes de fiarte de una curva
Una curva histórica atractiva puede aparecer por un error metodológico en vez de una ventaja real. Antes de interpretar un backtest, responde: (1) ¿las señales se calculan solo con datos disponibles en esa fecha? (2) ¿se incluyen los activos que dejaron de cotizar? (3) ¿se descuentan comisiones, spread y deslizamiento? (4) ¿se eligieron parámetros después de mirar todo el periodo? (5) ¿hay una muestra final no utilizada durante el diseño? (6) ¿se compara con un benchmark apropiado para el riesgo y el universo?
Ejemplo didáctico: un sistema parece generar 12 % bruto, pero al modelar 1,5 puntos porcentuales de coste de negociación y 1 punto de deslizamiento/impacto, la diferencia desaparece en ese escenario. Esas cifras son supuestos ilustrativos, no una estimación de costes para un mercado concreto. En activos poco líquidos, el coste real puede variar según tamaño, hora y condiciones.
La IA puede revisar el código, sugerir pruebas y explicar métricas, pero no puede certificar el backtest con solo leer una gráfica. Conserva una tabla de cada ejecución: conjunto de datos, periodo, parámetros, benchmark, costes, semilla si corresponde, código o versión, y si la muestra fue de entrenamiento, validación o prueba final. No vuelvas a ajustar el sistema sobre la muestra final después de ver que falla y sigas llamándola «fuera de muestra».
Un resultado histórico es una propiedad del experimento descrito, no una promesa futura. Si has probado cientos de variantes y solo publicas la mejor, informa del proceso de selección: de lo contrario el lector no puede valorar el sesgo de selección.
La validación temporal debe respetar el orden cronológico. La literatura sobre backtest overfitting explica por qué una curva histórica atractiva puede ser fruto de probar demasiadas variantes. Fuentes de referencia: scikit-learn · validación cruzada para series temporales · Bailey et al. · Probability of Backtest Overfitting (artículo académico).
Ejemplo didáctico de backtest: cómo evitar una ilusión de rendimiento
Un backtest puede mostrar una curva atractiva incluso cuando el diseño contiene errores que no existirán en la operativa real. Antes de interpretar rentabilidad, registra qué información conocía la estrategia en cada fecha y qué costes se han modelado.
| Riesgo metodológico | Prueba de control | Señal de alerta |
|---|---|---|
| Sesgo de anticipación (look-ahead) | Verificar timestamps de señales e informes | Se utiliza el cierre del día para operar a ese mismo cierre sin justificar ejecución |
| Sesgo de supervivencia | Incluir activos retirados del mercado si la estrategia podría haberlos elegido | Solo aparecen compañías que existen hoy |
| Sobreajuste | Separar entrenamiento, validación y prueba temporal | Se elige el mejor parámetro tras mirar la muestra final |
| Costes ausentes | Simular comisión, spread, deslizamiento y rotación | La estrategia opera mucho, pero no paga costes |
| Benchmark inadecuado | Comparar con una referencia de riesgo y universo coherentes | Se compara una estrategia concentrada con una referencia distinta sin explicación |
Una partición temporal (por ejemplo, desarrollo, validación y periodo final) debe fijarse antes de elegir parámetros. Las proporciones concretas dependen del tamaño y naturaleza de los datos; no existe una división universal que arregle por sí sola un experimento mal planteado.
La IA puede ayudar a escribir pruebas, explicar errores del código o documentar hipótesis, pero no debe inventar datos históricos ni afirmar que un test se ha ejecutado si no hay un registro de ejecución. Conserva el dataset, el código, las versiones, los supuestos y los resultados brutos para permitir una réplica independiente.
Preguntas frecuentes
¿Qué es el sesgo de supervivencia?
Ocurre cuando el análisis incluye solo activos que sobreviven hasta el final del periodo y deja fuera los que desaparecieron, lo que puede mejorar artificialmente los resultados históricos.
¿Por qué importa el orden temporal de los datos?
Una prueba válida no debe entrenarse con información futura respecto del periodo que simula evaluar. Usa separación cronológica y documenta el punto de corte.
¿Qué costes debe contemplar un backtest?
Comisiones, spread, deslizamiento, impuestos cuando procedan, liquidez, cambios corporativos y disponibilidad histórica real de los datos. Si no puedes modelarlos, declara la limitación.
Fuentes y lecturas oficiales
Método de la guía: proteger el orden temporal, registrar todos los experimentos y reservar un periodo final que no se use para elegir parámetros.
- scikit-learn · validación cruzada para series temporales
- Bailey et al. · Probability of Backtest Overfitting (artículo académico)
- CNMV · Documento de Trabajo n.º 96 (2026): IA y predicción bursátil
- NIST · AI Risk Management Framework
- ESMA · Advertencia sobre el uso de IA para invertir
- Google Search Central · Uso de IA generativa