Cómo hacer el backtest de una estrategia de trading, paso a paso
Para hacer el backtest de una estrategia de trading, define con precisión las reglas de entrada, salida y tamaño de posición, consigue datos históricos limpios, simula las operaciones usando solo la información disponible en cada vela, incluye comisiones y deslizamiento, y valida fuera de muestra. Reserva el último 20–30% como conjunto de prueba apartado y compara con comprar y mantener.
Hacer correctamente el backtest de una estrategia es más difícil de lo que parece. No se trata solo de pasar unos datos históricos por un script: exige prestar mucha atención a la calidad de los datos, al realismo de la ejecución y a la validación estadística. Esta guía recorre todo el proceso, desde definir las reglas hasta interpretar los resultados.
Paso 1: Define las reglas de la estrategia con precisión
Antes de tocar ningún dato, escribe las reglas de la estrategia en términos inequívocos. Reglas vagas como “comprar cuando la acción parezca sobrevendida” no se pueden testear. Necesitas:
- Condición de entrada: Qué valores de indicadores, relaciones de precio o eventos exactamente activan una señal de compra o de venta en corto
- Condición de salida: Qué cierra la posición: una señal contraria, un objetivo de beneficio fijo, un stop-loss o un límite de tiempo
- Tamaño de posición: Cuánto capital asignar a cada operación (porcentaje del capital, importe fijo en dólares, criterio de Kelly)
- Universo: A qué activo o activos se aplica la estrategia
- Momento de ejecución: Apertura del mercado, cierre u orden limitada a un precio concreto
Cuanto más precisas sean las reglas, menos margen queda para ambigüedades que podrían introducir sesgos durante la implementación.
Paso 2: Consigue y limpia los datos
La calidad de los datos históricos es la base de un backtest fiable. Problemas habituales:
- Operaciones corporativas: Los splits y los pagos de dividendos distorsionan las series de precios sin ajustar. Usa siempre precios de cierre ajustados para calcular los rendimientos. Pero ten cuidado: los precios ajustados se recalculan de forma retroactiva, lo que puede introducir un sutil sesgo de anticipación (look-ahead bias) si no se manejan correctamente.
- Sesgo de supervivencia: Las fuentes de datos gratuitas suelen incluir solo las acciones que cotizan actualmente. Las empresas que fueron deslistadas, se fusionaron o quebraron quedan excluidas, lo que hace que el pasado parezca artificialmente bueno. Evítalo usando conjuntos de datos que incluyan los componentes históricos con los datos de deslistado.
- Huecos en los datos y valores atípicos: Busca velas que falten, días con volumen cero y picos de precio extremos que probablemente sean errores de datos. Un solo dato corrupto puede producir una operación espuria que domine los resultados.
Paso 3: Implementa la estrategia sin sesgo de anticipación
El sesgo de anticipación (usar información futura para tomar decisiones pasadas) es el error más común y más dañino del backtesting. La regla de oro: en la vela t, tu estrategia solo puede usar información disponible en la vela t o antes.
Comprobación práctica: si calculas una SMA de 20 días en la vela t, debería usar las velas de t-19 a t, y ninguna posterior a t. Si entras al cierre de la vela t tras una señal, puedes usar el precio de cierre de la vela t, pero solo si de verdad puedes ejecutar a ese precio exacto. En la práctica, es más seguro entrar en la apertura de la vela t+1.
Paso 4: Modela los costes de transacción de forma realista
Las estrategias que parecen rentables antes de costes a menudo dejan de serlo después. Incluye:
- Comisión: Incluso las plataformas “sin comisiones” tienen costes; usa un 0.01–0.05% por lado como referencia para acciones líquidas de EE. UU.
- Diferencial bid-ask: Compras al precio ask y vendes al bid; el diferencial es un coste garantizado en cada operación de ida y vuelta
- Deslizamiento: El mercado se mueve en tu contra entre la generación de la señal y la ejecución; modélalo como un 0.05–0.20% por operación según la liquidez del activo
- Costes de préstamo en posiciones cortas: Vender en corto exige tomar prestadas acciones, lo que tiene un coste anualizado (las acciones difíciles de conseguir en préstamo pueden costar un 10–50% anual)
Paso 5: Valida fuera de muestra
Nunca optimices parámetros y evalúes el rendimiento con los mismos datos. El enfoque estándar: divide los datos históricos en dos periodos. Usa el primer 70–80% para el desarrollo y la optimización de parámetros. Reserva el último 20–30% como conjunto de prueba estrictamente apartado (hold-out): no lo toques hasta haber cerrado la estrategia. El rendimiento fuera de muestra es tu estimación honesta de los resultados reales.
Para una validación más robusta, usa el análisis walk-forward: desplaza la ventana de optimización a lo largo del tiempo, generando resultados fuera de muestra para cada periodo. Así compruebas si el propio proceso de optimización es consistente, y no solo si un conjunto de parámetros afortunado funcionó por casualidad.
Paso 6: Interpreta correctamente los resultados
Una vez que tengas los resultados del backtest, evalúalos con espíritu crítico:
- Compara con comprar y mantener: Una estrategia que rinde un 10% anual es pobre si el activo subyacente rindió un 15%
- Revisa el rendimiento año a año: Un Sharpe global sólido puede ocultar una estrategia que solo funcionó durante un periodo concreto
- Examina el peor periodo de drawdown: ¿Habrías sido capaz de aguantarlo psicológicamente?
- Prueba la robustez de los parámetros: ¿Funciona la estrategia con parámetros similares (±10%), o el rendimiento es extremadamente sensible a los valores exactos?
Herramientas para hacer backtesting
Las herramientas de backtesting importan. Python con pandas, backtrader o vectorbt es la opción más flexible y te da control total, pero requiere saber programar. Pine Script de TradingView ofrece una interfaz visual con un probador de estrategias integrado. QuantConnect proporciona una infraestructura de nivel institucional con abundantes datos.
Para prototipar rápido sin código, QuantPrompt te permite describir una estrategia en lenguaje natural y recibir al instante un informe de backtest completo. Esto es especialmente útil en las primeras fases del desarrollo de una estrategia, cuando quieres probar muchas ideas rápidamente antes de invertir tiempo en una implementación completa.
Preguntas frecuentes
Fuentes
- Harvey, C. R. & Liu, Y. (2015). Backtesting. The Journal of Portfolio Management.
- Bailey, D. H., Borwein, J. M., López de Prado, M. & Zhu, Q. J. (2017). The Probability of Backtest Overfitting. The Journal of Computational Finance.
- TradingView. Pine Script v6 User Manual: Strategies.
- Backtrader. Broker - Slippage.