PropScorer Logo
PropScorer
Backtesting Your Futures Strategy: From Hypothesis to Data
Fondeado
14 min de lectura

Backtesting Your Futures Strategy: From Hypothesis to Data

Por qué el backtesting es importante

El backtesting es el proceso de aplicar una estrategia de trading a datos históricos para ver cómo habría funcionado. Es el método científico aplicado al trading: formulas una hipótesis ("este setup es rentable"), la pruebas con datos (precios históricos de NQ o ES) y sacas conclusiones basadas en los resultados. Sin backtesting, operas basado en intuición, anécdotas y esperanza, ninguna de las cuales es una ventaja sostenible.

El backtesting responde a la pregunta más importante en el trading: "¿Realmente funciona esta estrategia?" No "¿se siente que funciona?" o "¿funcionó en las últimas 10 operaciones?". ¿Funciona en más de 200, 500, 1000+ operaciones a través de diferentes condiciones de mercado: tendencias, rangos, alta volatilidad, baja volatilidad? Si la respuesta es sí con confianza estadística, tienes una ventaja operable. Si no, te ahorras meses de pérdidas y frustración.

De la hipótesis a la prueba

Paso 1: Define una hipótesis clara

Cada backtest comienza con una hipótesis específica y testable. Ideas vagas como "comprar en caídas es rentable" no son testeables. Necesitas reglas precisas:

  • Entrada: Condiciones exactas para entrar a una operación (por ejemplo, "comprar NQ cuando el precio cierra por encima de la EMA de 20 períodos en el gráfico de 5 minutos Y el delta acumulativo se vuelve positivo")
  • Salida: Objetivo de ganancia y stop loss (por ejemplo, "objetivo de 40 puntos, stop de 20 puntos")
  • Filtros: Cuándo no operar (por ejemplo, "sin operaciones en los primeros 5 minutos después de la apertura, sin operaciones en días de FOMC")
  • Tamaño de posición: Cuántos contratos por operación
  • Marco temporal: En qué marco temporal de gráfico se ejecuta la estrategia
  • Sesión: Qué sesión de trading (solo horas regulares, incluyendo nocturna, etc.)

Cuanto más específicas sean tus reglas, más significativo será tu backtest. Si tus reglas tienen elementos subjetivos ("entrar cuando el gráfico parece fuerte"), no puedes hacer un backtest confiable porque diferentes personas interpretan "parece fuerte" de manera diferente en el mismo gráfico.

Paso 2: Recopila datos históricos

La calidad de tu backtest depende de la calidad de tus datos. Para el backtesting de futuros, necesitas:

  • Datos de contrato continuo: Contratos continuos ajustados por backtesting que manejen correctamente los rollovers trimestrales. Los datos no ajustados mostrarán brechas artificiales en cada rollover que distorsionan los resultados.
  • Resolución adecuada: Para estrategias de scalping, necesitas datos a nivel de tick o de 1 minuto. Para estrategias de swing, las barras diarias pueden ser suficientes. Los datos de mayor resolución son más caros pero producen resultados más precisos.
  • Historial suficiente: Como mínimo, 1-2 años de datos. Idealmente, 3-5 años para capturar diferentes regímenes de mercado (mercados alcistas, bajistas, alta volatilidad, baja volatilidad).
  • Datos de volumen: Si tu estrategia usa order flow o indicadores de volumen, necesitas datos de volumen precisos. Ten en cuenta que algunas fuentes de datos gratuitas tienen datos de volumen incompletos o retrasados.

Fuentes de datos para backtesting de futuros: NinjaTrader (datos históricos gratuitos con la plataforma), Sierra Chart (feeds de datos CQG/Denali), TradingView (profundidad histórica limitada en plan gratuito), Kinetick (servicio de datos de NinjaTrader) y dxFeed. Para datos de tick de grado profesional, considera los datos históricos de CQG o Rithmic.

Paso 3: Ejecuta el backtest

Hay dos enfoques para ejecutar un backtest:

Backtesting manual: Desplázate por los gráficos históricos barra por barra, identificando dónde ocurrió tu setup y registrando el resultado (ganancia/pérdida, precios de entrada/salida, múltiplo R). Esto es más lento pero te da una familiaridad íntima con cómo se comporta tu estrategia en diferentes condiciones de mercado. Usa la función de reproducción de barras de TradingView o Market Replay de NinjaTrader para backtesting manual.

Backtesting automatizado: Codifica tu estrategia como un algoritmo y ejecútalo contra datos históricos. El software identifica cada setup, ejecuta las operaciones y produce estadísticas completas automáticamente. Esto es más rápido y elimina el sesgo humano, pero requiere habilidades de programación o una herramienta de creación de estrategias.

Herramientas de backtesting para futuros

  • NinjaTrader Strategy Analyzer: Probador integrado con NinjaScript (programación basada en C#). Plataforma gratuita con datos históricos incorporados. La opción más accesible para backtesting específico de futuros. Bueno tanto para pruebas manuales (Market Replay) como automatizadas.
  • TradingView Pine Script: Escribe estrategias en Pine Script y haz backtesting en gráficos de TradingView. Excelente para backtesting visual y prototipado rápido. Limitado por la profundidad de datos en planes gratuitos y no puede acceder a datos a nivel de tick.
  • Sierra Chart: Backtesting potente con ACSIL (basado en C/C++) o estudios de hojas de cálculo. Excelente para estrategias basadas en order flow y volumen. Curva de aprendizaje empinada pero flexibilidad inigualable.
  • Python (backtrader, vectorbt): La opción más flexible. Importa datos históricos (de tu bróker, CQG o fuentes gratuitas), codifica tu estrategia en Python y produce cualquier estadística que desees. Requiere conocimientos de programación en Python.
  • MultiCharts: Plataforma profesional de backtesting con scripting EasyLanguage/PowerLanguage. Backtesting a nivel de cartera y optimización. Popular entre traders sistemáticos.
  • StrategyQuant X: Constructor de estrategias impulsado por IA que puede generar y probar miles de variaciones de estrategias automáticamente. Útil para generación de ideas pero ten cuidado con el sobreajuste.

Tamaño de muestra: ¿Cuántas operaciones necesitas?

La confiabilidad estadística requiere un número mínimo de operaciones. Aquí tienes una guía práctica:

  • 30 operaciones: Mínimo absoluto para una indicación aproximada. Muy pocas para tener confianza — la varianza es extremadamente alta.
  • 100 operaciones: Punto de partida razonable. Puedes evaluar métricas básicas (tasa de acierto, factor de ganancia) con confianza moderada.
  • 200 operaciones: Buena potencia estadística. Los resultados probablemente no sean pura suerte. Suficiente para la evaluación de la mayoría de las estrategias de trading.
  • 500+ operaciones: Alta confianza. La ley de los grandes números empieza a trabajar para ti. Si una estrategia es rentable en más de 500 operaciones a través de diferentes condiciones de mercado, la ventaja probablemente sea real.
  • 1,000+ operaciones: Muy alta confianza. Adecuado para estrategias sistemáticas/algorítmicas que necesitan justificar la asignación de capital.

Un error común: hacer backtesting de 50 operaciones, ver una tasa de acierto del 60% y concluir que la estrategia funciona. Con 50 operaciones, una tasa de acierto del 60% podría fácilmente ser el resultado de la casualidad — el intervalo de confianza del 95% para una estrategia verdadera del 50% sobre 50 operaciones varía de aproximadamente 36% a 64%. Necesitas más datos antes de sacar conclusiones. Rastrea tu rendimiento continuo en un diario de trading para seguir acumulando tamaño de muestra más allá del backtest inicial.

La trampa del sobreajuste

¿Qué es el sobreajuste?

El sobreajuste es el enemigo número 1 del backtesting. Ocurre cuando optimizas tu estrategia para que se ajuste perfectamente a los datos históricos — capturando ruido y aleatoriedad en lugar de patrones genuinos. Una estrategia sobreajustada parece increíble en el backtesting (tasa de acierto del 90%+, factor de ganancia enorme) pero falla miserablemente en el trading en vivo porque los patrones que capturó eran únicos del período histórico y no se repiten.

Piénsalo de esta manera: si añades suficientes reglas y filtros a una estrategia, puedes hacerla rentable en cualquier conjunto de datos históricos. "Solo operar NQ los martes entre las 10:15-10:30 AM cuando la EMA de 37 períodos está por encima de la EMA de 53 períodos y el volumen está entre 450-600 contratos." Esto podría tener un backtest hermoso — pero está memorizando la historia, no capturando una ventaja real.

Cómo evitar el sobreajuste

  • Manténlo simple: Cuantos menos parámetros (variables) tenga tu estrategia, menos probable es que esté sobreajustada. Una estrategia con 2-3 reglas es más robusta que una con más de 10 reglas. Cada regla adicional debe tener una lógica de mercado clara, no solo mejorar los resultados del backtest.
  • Usa pruebas fuera de muestra: Divide tus datos en dos períodos. Desarrolla y optimiza tu estrategia en el primer período (en muestra, por ejemplo, 2022-2024). Luego prueba la estrategia sin cambios en el segundo período (fuera de muestra, por ejemplo, 2025-2026). Si el rendimiento se degrada significativamente fuera de muestra, la estrategia probablemente esté sobreajustada.
  • Requiere lógica de mercado: Cada regla en tu estrategia debe tener una explicación lógica de por qué funciona. "Comprar retrocesos a la EMA de 20 en tendencias alcistas" tiene lógica clara (reversión a la media dentro de una tendencia). "Comprar cuando la EMA de 37 cruza la EMA de 53" es arbitrario — ¿por qué 37 y 53, no 35 y 55?
  • Prueba la sensibilidad de parámetros: Si tu estrategia funciona con una media móvil de 20 períodos pero falla con 18 o 22, es frágil y probablemente esté sobreajustada. Una estrategia robusta debería funcionar en un rango de valores de parámetros similares.
  • Prueba en diferentes mercados: Si tu estrategia de NQ también funciona en ES y YM (con parámetros ajustados para el valor del tick), el principio subyacente es más probable que sea genuino. Si solo funciona en NQ durante 2024, probablemente esté sobreajustada a esos datos específicos.

Pruebas de avance (Walk-Forward Testing)

El estándar de oro del backtesting

Las pruebas de avance son el método más riguroso para validar una estrategia de trading. Simulan cómo realmente desarrollarías y operarías una estrategia en tiempo real:

  • Paso 1: Optimiza la estrategia en un período de entrenamiento (por ejemplo, Ene-Jun 2023)
  • Paso 2: Prueba la estrategia optimizada en el siguiente período no visto (Jul-Sep 2023)
  • Paso 3: Reoptimiza en un período de entrenamiento ampliado (Ene-Sep 2023)
  • Paso 4: Prueba en el siguiente período no visto (Oct-Dic 2023)
  • Paso 5: Repite, avanzando a través de todo el conjunto de datos

Los resultados fuera de muestra de cada prueba de avance se compilan en un registro de rendimiento general. Dado que la estrategia siempre se probó en datos que no había visto, los resultados de avance son la aproximación más cercana al rendimiento de trading en vivo que puedes obtener de datos históricos.

Eficiencia de avance = ganancia fuera de muestra ÷ ganancia en muestra. Una relación por encima del 50% sugiere una estrategia robusta. Por debajo del 30% indica sobreajuste.

Significancia estadística

¿Es tu ventaja real o aleatoria?

Incluso una estrategia aleatoria mostrará resultados positivos en algún porcentaje del tiempo. Lanza una moneda 100 veces, y podrías obtener 55 caras — eso no significa que la moneda esté sesgada. De manera similar, una estrategia de trading aleatoria podría mostrar una tasa de acierto del 55% en 100 operaciones puramente por casualidad.

Las pruebas de significancia estadística responden a la pregunta: "¿Qué tan probable es que estos resultados hayan ocurrido por casualidad?" Las medidas más comunes:

  • Estadístico t: Mide si el resultado promedio de tus operaciones es significativamente diferente de cero. Un estadístico t por encima de 2.0 (que corresponde aproximadamente a un valor p por debajo de 0.05) sugiere que la ventaja es estadísticamente significativa con un nivel de confianza del 95%.
  • Valor p: La probabilidad de que tus resultados hayan ocurrido por casualidad. Un valor p por debajo de 0.05 significa que hay menos de un 5% de probabilidad de que los resultados sean aleatorios — generalmente considerado significativo.
  • Simulación de Monte Carlo: Baraja aleatoriamente los resultados de tus operaciones miles de veces para generar una distribución de resultados posibles. Esto muestra el rango de curvas de equidad que tu estrategia podría producir, incluyendo drawdowns del peor caso que aún no han ocurrido.

Calculando el estadístico t

t = (Múltiplo R promedio × √Número de operaciones) ÷ Desviación estándar de múltiplos R

Ejemplo: En 200 operaciones, tu múltiplo R promedio es +0.3R con una desviación estándar de 1.5R. t = (0.3 × √200) ÷ 1.5 = (0.3 × 14.14) ÷ 1.5 = 4.24 ÷ 1.5 = 2.83

Un estadístico t de 2.83 está muy por encima del umbral de 2.0 — esta ventaja es estadísticamente significativa. Puedes operarla con confianza de que los resultados no son pura suerte aleatoria.

Del backtest al trading en vivo

El puente: Trading en papel / Simulación

Un backtest exitoso no significa que debas operar en vivo con tamaño completo de inmediato. El siguiente paso es la prueba forward — operar la estrategia en tiempo real en un simulador durante 1-3 meses. Esto verifica que puedes ejecutar la estrategia bajo condiciones en vivo (decisiones en tiempo real, retrasos de ejecución, presión emocional) y que la estrategia se desempeña de manera similar al backtest.

Después de un trading en papel exitoso, pasa al trading en vivo con contratos Micro (MNQ, MES) para validar con dinero real a riesgo mínimo. Solo escala a contratos E-mini una vez que hayas confirmado que la estrategia funciona en condiciones en vivo.

Espera degradación

Los resultados de trading en vivo casi siempre serán peores que los resultados de backtest. Esto es normal y esperado. Las razones incluyen:

  • Slippage: Los backtests asumen ejecuciones a precios exactos. El trading en vivo involucra slippage, especialmente en órdenes de mercado y stop.
  • Comisiones: Si no se contabilizan en el backtest, las comisiones erosionan los resultados. A $4 ida y vuelta por contrato NQ en 200 operaciones, eso son $800 en costos.
  • Retrasos de ejecución: En el backtesting, las entradas ocurren instantáneamente. En el trading en vivo, hay un retraso entre la señal y la ejecución — especialmente para traders manuales.
  • Interferencia emocional: La psicología no existe en el backtesting. En el trading en vivo, el miedo, la codicia y la vacilación degradan la calidad de ejecución.
  • Cambio de régimen de mercado: Las condiciones de mercado durante tu período de backtest pueden diferir de las condiciones actuales. Una estrategia optimizada para el mercado en tendencia de 2023 podría tener un rendimiento inferior en el mercado errático de 2026.

Una expectativa razonable: el rendimiento en vivo será del 50-80% del rendimiento del backtest. Si tu backtest muestra +0.5R por operación, espera +0.25R a +0.4R en trading en vivo. Planifica tu dimensionamiento de posiciones y gestión de riesgo alrededor del extremo conservador de este rango, no los resultados optimistas del backtest.

Lista de verificación para backtesting

  • Las reglas de la estrategia están completamente definidas y son objetivas (sin subjetividad)
  • Usando datos de contrato continuo con ajuste de rollover adecuado
  • Mínimo de 200 operaciones en el backtest (500+ preferido)
  • Probado en al menos 2 años de datos que cubran diferentes regímenes de mercado
  • Comisiones y slippage realista incluidos en los resultados
  • Pruebas fuera de muestra realizadas (datos que la estrategia no ha visto)
  • Análisis de avance (walk-forward) completado para estrategias sistemáticas
  • Sensibilidad de parámetros probada (la estrategia funciona con valores de parámetros cercanos)
  • Estadístico t por encima de 2.0 (ventaja estadísticamente significativa)
  • Drawdown máximo es sobrevivible (dentro de los límites de la prop firm o tolerancia personal)
  • Factor de ganancia por encima de 1.3 después de comisiones
  • Los resultados tienen sentido lógico (no solo ruido ajustado a curva)

Preguntas frecuentes

¿Puedo hacer backtesting sin programar?

Sí. El backtesting manual (desplazarse por los gráficos barra por barra) no requiere programación. La función de reproducción de barras de TradingView hace esto fácil. Para backtesting automatizado sin programar, herramientas como StrategyQuant X y algunos asistentes de NinjaTrader ofrecen constructores de estrategias visuales. Sin embargo, aprender Pine Script básico (TradingView) o NinjaScript abre capacidades de backtesting mucho más potentes.

¿Cuántos datos históricos necesito?

Mínimo 1 año para estrategias de day trading (para capturar diferentes patrones estacionales). Lo ideal son 3-5 años para incluir mercados alcistas y bajistas, períodos de alta y baja volatilidad, y diferentes entornos de tasas de interés. Para estrategias de swing trading, se prefieren más de 5 años porque la menor frecuencia de operaciones significa que necesitas más tiempo de calendario para generar un tamaño de muestra suficiente.

Mi backtest muestra una tasa de acierto del 80%. ¿Es esto demasiado bueno para ser verdad?

Probablemente sí. Una tasa de acierto del 80% es alcanzable con objetivos muy ajustados en relación con los stops (por ejemplo, objetivo de 10 puntos, stop de 50 puntos — pero la pérdida promedio es 5× la ganancia promedio, haciendo que la estrategia no sea rentable a pesar de la alta tasa de acierto). Si tu tasa de acierto del 80% también muestra un factor de ganancia por encima de 2.0 y se basa en más de 200 operaciones, verifica que no hayas sobreajustado. Ejecuta la prueba fuera de muestra — si la tasa de acierto cae drásticamente, era sobreajuste.

¿Debería optimizar los parámetros de mi estrategia?

La optimización moderada está bien — probar un rango de valores de stop y objetivo, por ejemplo (stops de 15, 20, 25, 30 puntos). La optimización excesiva (probar cientos de combinaciones de parámetros para encontrar el ajuste perfecto) es una receta para el sobreajuste. Optimiza en un conjunto de datos, luego valida en un conjunto de datos separado. Si los parámetros óptimos del período A también funcionan bien en el período B, probablemente sean robustos.

¿Cómo contabilizo el slippage en el backtesting?

Añade 1-2 ticks de slippage por operación en la configuración de tu backtest. Para NQ, eso es $5-$10 por contrato por operación. Para ES, $12.50-$25.00. La mayoría de las plataformas de backtesting tienen una configuración de "slippage" — úsala. Esto reduce los resultados de tu backtest pero da una imagen más realista del rendimiento en vivo. Si tu estrategia es rentable con 2 ticks de slippage incluidos, es más probable que sobreviva al trading en vivo.

Pon a prueba tu estrategia en una evaluación de prop firm

Una vez que hayas hecho backtesting y pruebas forward de tu estrategia, ponla a la prueba definitiva: una evaluación de prop firm. Compara firmas para encontrar el tamaño de cuenta y las reglas adecuadas para tu enfoque probado.