Backtesting de futuros: costes, replay y walk-forward
Un backtest de futuros aplica una regla a datos históricos con un modelo de ejecución explícito. En una estrategia de orderflow, distingue entre tests sobre barras, replay de operaciones y reconstrucción del libro de órdenes. Cada uno responde a preguntas distintas sobre lo que se podía observar y ejecutar.
Senzoukria · Guías · Actualizado en septiembre de 2026
Define la regla antes de elegir los parámetros
Anota el instrumento, el contrato, la zona horaria de la sesión, la construcción de las barras y el momento de la señal. Una regla de trading con footprint necesita observaciones ejecutadas en bid y ask; una regla de heatmap necesita profundidad histórica. Ninguna de las dos se puede recrear a partir de velas normales.
Guarda la política de roll y el informe de cobertura. Un hueco en los datos no es un mercado plano. Un nivel de un vencimiento no se puede trasladar a otro sin tratar la diferencia de precio entre contratos.
Tests sobre barras, replay de operaciones y replay del libro
| Modelo | Puede evaluar | No establece |
|---|---|---|
| Barras OHLC | Reglas a cierre de barra | Secuencia intrabarra, ejecuciones en la cola |
| Replay de operaciones | Ejecuciones registradas | Profundidad histórica que falta |
| Replay del libro | Eventos de profundidad dentro de la cobertura | Tu ejecución hipotética con certeza |
Si el stop y el objetivo caen dentro de la misma barra, el OHLC no indica cuál se tocó primero. Declara la política del motor. Un precio límite tocado por una operación no prueba que tu propia orden se habría ejecutado.
Los costes pueden invertir un resultado
Ejemplo ilustrativo: una esperanza bruta de 2,5 ticks, menos 0,5 tick de slippage en la entrada, 0,5 en la salida y 0,8 tick equivalente de comisiones de ida y vuelta, deja 0,7 tick neto. Un tick más de slippage total da −0,3 tick. Son entradas hipotéticas, no un rendimiento medido de la plataforma.
Convierte las comisiones con el valor real del tick del instrumento. Separa las comisiones por contrato de las comisiones por orden y evita omitir o contar dos veces el spread.
Walk-forward sin fuga de información
- Fija de antemano la duración del entrenamiento, la del test y el método de selección de parámetros.
- Ajusta solo sobre el entrenamiento y congela los parámetros elegidos.
- Evalúa la ventana siguiente incluyendo costes y operaciones perdedoras.
- Avanza en orden cronológico conservando cada resultado fuera de muestra.
- Reserva un periodo final intacto para decisiones que no se hayan ajustado ya a esos resultados.
Quedarse con la mejor de muchas configuraciones introduce sesgo de selección. The Probability of Backtest Overfitting estudia este problema. El análisis de robustez pone a prueba los resultados; no garantiza beneficios futuros.
El registro del experimento
- Versión de la regla, parámetros y número de configuraciones probadas.
- Fuente, contrato, fechas, sesión e intervalos que faltan.
- Momento de entrada, política para barras ambiguas, comisiones y slippage.
- Divisiones entrenamiento/test, resultados netos y drawdown por ventana.
- Un criterio de rechazo y la sensibilidad a costes más altos.
Una estimación de Hurst o un régimen de GEX puede motivar una hipótesis. No sustituye el registro de lo que se sabía en el momento de la decisión.
Investigación en Senzoukria
Usa el scripting para indicadores y reglas, y después el backtesting histórico para las estrategias JavaScript y Python compatibles. El modelo de ejecución histórico se basa en barras; no reconstruye la prioridad en la cola. C++ tiene un runtime separado y no dispone de backtest histórico.
El replay y la ejecución con el broker son pasos distintos. El autopiloto en vivo, opcional, requiere un armado explícito y una cuenta Rithmic compatible. Un backtest no lo arma ni demuestra el permiso de una prop firm. Conserva el registro de investigación en el diario de trading.
Preguntas frecuentes
- ¿Se puede hacer backtesting de una estrategia de orderflow?
- Sí, si los datos históricos contienen las entradas necesarias. Las reglas de footprint necesitan el volumen ejecutado en bid y ask; las reglas de profundidad necesitan el historial del libro. Las barras OHLC no permiten recuperar los ticks ni la profundidad que faltan.
- ¿Qué es el test walk-forward?
- Eliges los parámetros en una ventana de entrenamiento, los congelas para una ventana de test posterior y avanzas en orden cronológico. Mantén fija la regla de selección y evita que información futura entre en el entrenamiento.
- ¿Un backtest rentable demuestra una ventaja?
- No. Los supuestos de ejecución, los costes, los huecos de datos, el sesgo de selección y los cambios en las condiciones de mercado pueden invalidar el resultado. Publica los resultados fuera de muestra y las configuraciones que fallaron.
- ¿Qué lenguajes permiten backtests históricos?
- Senzoukria admite backtests históricos de estrategias en JavaScript y Python en la aplicación de escritorio. El scripting en C++ usa un runtime WebAssembly separado y no ofrece backtesting histórico.