Backtesting de estrategias de trading: qué es, cómo se hace y por qué es obligatorio antes de operar en real
Qué es el backtesting
El backtesting es el proceso de probar una estrategia de trading contra datos históricos del mercado para ver cómo se habría comportado en el pasado, antes de arriesgar dinero real con ella. Se simulan las entradas, salidas y gestión de riesgo de la estrategia sobre precios reales de años anteriores y se mide el resultado: rentabilidad, drawdown máximo, ratio de aciertos, factor de beneficio.
La idea es simple: si una estrategia no ha funcionado ni siquiera sobre datos pasados, no hay ningún motivo para pensar que va a funcionar en el futuro.
Por qué es obligatorio, no opcional
Operar una estrategia sin backtesting previo es apostar con una hipótesis no verificada. Los problemas más comunes que el backtesting saca a la luz:
- La estrategia pierde dinero de forma sistemática en ciertas condiciones de mercado (lateral, alta volatilidad, tendencia fuerte) que no se habían tenido en cuenta.
- El drawdown real es mucho mayor de lo que "se sentía" al diseñar la estrategia sobre el papel.
- La frecuencia de operaciones no es suficiente (o es excesiva) para que las comisiones no se coman el beneficio.
Los dos errores que invalidan un backtest
1. Overfitting (sobreoptimización)
Ajustar tantos parámetros que la estrategia encaja perfectamente con los datos históricos usados, pero pierde toda capacidad de generalizar a datos nuevos. Es la causa número uno de estrategias que funcionan "de maravilla" en backtest y pierden dinero en real.
Cómo evitarlo:
- Usa out-of-sample testing: divide los datos en un periodo de entrenamiento y otro de validación que la estrategia no ha visto durante el ajuste.
- Desconfía de estrategias con más de 4-5 parámetros ajustables.
- Si cambiar ligeramente un parámetro destruye la rentabilidad, la estrategia está sobreajustada.
2. Look-ahead bias (sesgo de anticipación)
Ocurre cuando el backtest usa, sin darte cuenta, información que no estaría disponible en el momento real de la operación (por ejemplo, el precio de cierre de una vela antes de que esa vela haya cerrado). Es un fallo técnico habitual en scripts caseros mal programados.
Qué mirar en los resultados de un backtest
| Métrica | Qué indica | Qué buscar |
|---|---|---|
| Rentabilidad neta | Ganancia total tras comisiones | Positiva y consistente por periodos |
| Drawdown máximo | Mayor caída desde un pico de capital | Cuanto menor, mejor gestión de riesgo |
| Ratio de Sharpe | Rentabilidad ajustada al riesgo | > 1 se considera aceptable |
| Factor de beneficio | Beneficio bruto / pérdida bruta | > 1,5 es una señal saludable |
| Nº de operaciones | Tamaño de la muestra estadística | Cuantas más, más fiable el resultado |
| Racha de pérdidas | Peor secuencia de operaciones perdedoras | Debe ser psicológicamente asumible |
Herramientas para hacer backtesting
- MetaTrader 5 (Strategy Tester): integrado, gratuito, permite probar Expert Advisors (EA) escritos en MQL5 con datos tick a tick.
- NinjaTrader: motor de backtesting orientado a futuros y forex, con optimización de parámetros incorporada.
- Python (backtrader, vectorbt, zipline): máxima flexibilidad para estrategias complejas y análisis estadístico propio, requiere programación.
- TradingView (Pine Script): rápido para prototipar y validar una idea antes de llevarla a un motor más serio.
Preguntas frecuentes
¿Un buen backtest garantiza beneficios en real? No. Garantiza que la estrategia tiene una base estadística razonable, pero el mercado futuro nunca es idéntico al pasado. El backtesting reduce el riesgo de operar una idea rota, no lo elimina.
¿Cuántos años de datos hace falta probar? Como mínimo, un ciclo de mercado completo (alcista, bajista y lateral) — normalmente entre 3 y 10 años según el timeframe de la estrategia.
¿Qué es el forward testing y por qué no basta con el backtest? Es probar la estrategia en tiempo real con una cuenta demo (o real con capital mínimo) tras el backtest, para confirmar que el comportamiento se mantiene con datos que la estrategia nunca ha visto ni en entrenamiento ni en validación.
¿Quieres que programemos o optimicemos tu estrategia? Hacemos backtesting riguroso, optimización de parámetros sin sobreajuste y programación de bots para MT5, NinjaTrader y Python: ver la vertical de trading algorítmico.
Sigue leyendo
¿Quieres backtesting o un bot a medida?
Probamos tu estrategia contra datos históricos antes de arriesgar un euro en real.
Ver la vertical de trading