El objetivo de esta entrada es didáctico y educativo, y en ningún caso supone un consejo o asesoramiento de inversión. Los CFDs, opciones y futuros son productos apalancados clasificados como de alto riesgo por la CNMV, no aptos para el público minorista. El autor declina toda responsabilidad sobre pérdidas futuras derivadas de la especulación en mercados financieros.
¿Qué es el backtesting?
El backtesting es la técnica que consiste en simular el funcionamiento de un bot o estrategia automática de trading aplicando su lógica a datos históricos del mercado. El resultado es un informe con estadísticas reales: número de operaciones, beneficio neto, drawdown, tasa de aciertos, ratio de Sharpe… todo calculado sobre lo que habría ocurrido si la estrategia hubiera estado activa en ese período.
En esencia, el backtesting responde a una pregunta simple: ¿habría funcionado esta idea en el pasado? No garantiza que funcione en el futuro, pero es el punto de partida obligatorio para cualquier estrategia que pretenda operarse con capital real.
«El backtesting no es una garantía de éxito. Es una forma de aumentar las probabilidades de no fracasar por razones evitables.»
— inveXtromEl backtesting en el flujo de desarrollo de una estrategia
El backtesting no es el único paso del proceso, sino el primero. El pipeline completo de validación antes de operar en live pasa por varias fases:
Saltarse el backtesting implica no tener ninguna referencia histórica. Saltarse los pasos posteriores implica confiar en un backtest que puede estar distorsionado. Ambos errores tienen el mismo resultado: descubrir los fallos de la estrategia con dinero real.
Cómo hacer backtesting en NinjaTrader 8
NinjaTrader 8 integra el backtesting dentro del Strategy Analyzer, que permite ejecutar una estrategia sobre datos históricos y obtener un informe completo sin necesidad de herramientas externas. El proceso paso a paso:
Abrir el Strategy Analyzer
Desde la barra de control principal: New → Strategy Analyzer. Selecciona el instrumento (MNQ, NQ, ES…), el timeframe y el rango de fechas histórico que quieres usar.
Seleccionar la estrategia
En el desplegable de estrategias elige la tuya. Puede ser una estrategia creada con el Strategy Builder, una escrita en NinjaScript o cualquiera de las predefinidas de NT8. Si acaban de compilarse, es posible que tengas que reiniciar el Strategy Analyzer para que aparezcan.
Configurar los parámetros de la simulación
Aquí defines el capital inicial, el tamaño de la posición (contratos), el modelo de comisiones y el modelo de slippage. Usa las comisiones reales de tu broker — subestimar el coste por operación puede hacer que un backtest marginal parezca rentable.
Elegir el tipo de datos
NT8 puede usar datos de minuto interpolados (más rápido, menos preciso) o datos de tick reales descargados previamente (más lento, mucho más preciso). Para estrategias intradía que dependen de niveles exactos, los datos de tick son imprescindibles. Descárgalos desde Tools → Historical Data Manager.
Ejecutar y leer el informe
Pulsa Run. Al terminar, el Strategy Analyzer muestra el informe completo con estadísticas, la curva de equity y las operaciones individuales. Es el momento de leer los números con sentido crítico.
Si no tienes datos de tick descargados, NT8 simula los ticks interpolando entre los datos de minuto. Para estrategias que colocan stops y take profits en niveles precisos, esta interpolación puede producir resultados irreales — tanto en positivo como en negativo. Descarga siempre tick data antes de considerar válido un backtest serio.
Qué métricas leer en el informe de backtesting
El informe de NT8 devuelve decenas de estadísticas. Estas son las que realmente informan sobre la calidad de la estrategia:
La combinación más informativa para una estrategia intradía de futuros: Profit Factor > 1.5 + Max Drawdown controlado + Avg. Trade claramente superior al slippage esperado + mínimo 100 operaciones. Si las cuatro condiciones se cumplen, merece la pena seguir explorando.
Optimizar la estrategia con el Optimizer
Una vez que el backtesting inicial muestra que la lógica tiene potencial, el paso siguiente es optimizar los parámetros. El Optimizer de NinjaTrader prueba automáticamente todas las combinaciones posibles dentro de los rangos que defines y devuelve una tabla ordenada por la métrica que elijas.
Cómo usarlo
En el Strategy Analyzer, selecciona la estrategia y haz clic en Optimize. En la configuración de parámetros, marca los que quieres variar y define el rango y el paso. Por ejemplo, si tienes un período de EMA, puedes probar valores de 10 a 50 con incrementos de 5. Luego elige la métrica de optimización — beneficio neto, ratio de Sharpe, profit factor — y ejecuta.
El resultado es una tabla con todas las combinaciones y su valor para la métrica elegida, más una representación 3D de la superficie de respuesta que muestra visualmente cómo varía el rendimiento según los parámetros.
El Optimizer puede encontrar combinaciones que funcionan perfectamente en el histórico pero que no tienen ningún fundamento lógico — simplemente se han ajustado al ruido de esos datos específicos. Antes de dar por buenos los parámetros óptimos, valídalos con un walk forward analysis o reserva al menos un 20–30% del histórico como datos de validación que no participen en la optimización.
Ventajas del backtesting
Simulas miles de operaciones con datos históricos sin arriesgar un solo euro. Descubres los fallos antes de que el mercado lo haga por ti.
Puedes comparar múltiples estrategias o variaciones de la misma estrategia usando las mismas condiciones de mercado. La decisión deja de ser subjetiva.
El Optimizer permite explorar sistemáticamente el espacio de parámetros para encontrar configuraciones que mejoran las métricas clave.
Limitaciones que no puedes ignorar
El mercado cambia. Un régimen de baja volatilidad seguido de uno de alta puede hacer que una estrategia que funciona en el backtest fracase completamente en live.
El curve fitting es el peligro principal: una estrategia puede estar perfectamente ajustada a los datos históricos sin ninguna capacidad de generalización. El walk forward analysis es el antídoto.
La diferencia crucial: backtesting vs. playback
Una distinción que raramente se explica bien y que tiene implicaciones importantes para estrategias intradía:
| Aspecto | Backtesting | Playback con tick data |
|---|---|---|
| Velocidad | Muy rápido (segundos o minutos) | Tiempo real o acelerado manualmente |
| Precisión de ejecución | Simulada (interpolación si no hay tick data) | Tick a tick con datos reales descargados |
| Slippage y llenado | Modelo aproximado configurable | Reproduce el libro de órdenes real del momento |
| Detección de bugs visuales | ✗ Solo datos numéricos | ✓ Ves el gráfico ejecutarse en tiempo real |
| Cuándo usarlo | Primera validación, optimización de parámetros | Validación final antes de simulación en live |
El playback con datos de tick reales es el paso intermedio entre el backtesting y la simulación en tiempo real. Permite ver la estrategia ejecutarse operación por operación en un histórico verídico, lo que revela comportamientos que el backtesting oculta: stops que se ejecutan en el peor precio posible, entradas que no se llegan a completar por ausencia de liquidez, lógica que funciona en datos de minuto pero no en tick.
Para acceder al playback en NT8: Tools → Playback Connection. Descarga previamente los datos de tick del período que quieres reproducir desde el Historical Data Manager.
Errores frecuentes al interpretar un backtesting
Ignorar las comisiones y el slippage
Un backtest sin comisiones reales inflará los resultados de cualquier estrategia de alta frecuencia. En futuros como el MNQ, cada round-trip cuesta entre 1 y 3 ticks según el broker. Una estrategia con un avg. trade de 4 ticks puede volverse marginal o negativa al añadir los costes reales.
Usar datos de calidad insuficiente
El backtesting con datos de minuto interpolados produce curvas de equity que parecen perfectas pero que no replican el comportamiento real de la estrategia. Si el sistema coloca stops o take profits en niveles precisos, solo el tick data real da una imagen fiable.
Concluir con pocas operaciones
Un backtest de 20 operaciones no tiene significado estadístico. Puedes tener una racha de 15 ganadoras seguidas por puro azar y el backtest te dará un profit factor de 3. Necesitas cientos de operaciones para que las estadísticas sean robustas, especialmente si el win rate es bajo.
Aceptar los parámetros óptimos sin validación
El Optimizer siempre encuentra los parámetros que funcionaron mejor en el pasado. Eso no significa que sean los que funcionarán en el futuro. La validación con datos fuera de muestra — mediante walk forward analysis o reservando un período de holdout — es el único antídoto real contra el sobreajuste.
Backtesting inicial → Optimización → Walk Forward Analysis → Playback con tick data real → Simulación en tiempo real (mínimo 2–4 semanas) → Live con tamaño mínimo. Cada paso elimina una categoría diferente de riesgo. Saltarse cualquiera es asumir ese riesgo sin cuantificarlo.
Artículos relacionados
Conclusión
El backtesting es la primera prueba objetiva de una idea de trading. Sin él, cualquier decisión de poner en marcha una estrategia automática se basa únicamente en intuición. Con él, tienes datos — imperfectos, con limitaciones conocidas, pero datos — para decidir si merece la pena seguir desarrollando la estrategia o descartarla antes de que el mercado lo haga a tu costa.
Sus limitaciones son reales: no predice el futuro, puede inducir a sobreajuste y sus resultados dependen críticamente de la calidad de los datos y de la configuración de costes. Pero usado correctamente, como primera etapa de un proceso de validación más amplio, es una herramienta imprescindible en el desarrollo de cualquier estrategia automática seria.
«El backtesting no te dice si la estrategia va a funcionar. Te dice si tiene alguna razón objetiva para funcionar.»
— inveXtrom
Material de trading disponible en AliExpress → ver producto