Define el concepto antes del backtesting
El Retroceso de Fibonacci es una forma de marcar niveles de precio potenciales entre dos puntos elegidos en un gráfico (a menudo un inicio y un final de un giro). El método típicamente dibuja líneas horizontales en proporciones fijas de la distancia entre esos puntos (por ejemplo, niveles comúnmente etiquetados usando proporciones de Fibonacci). Se entiende mejor como un procedimiento de medición repetible sobre datos históricos de precios, no como una regla de trading garantizada.
El backtesting responsable comienza haciendo explícito el “procedimiento de medición repetible”: qué datos de gráfico usas, cómo eliges los dos puntos de giro, qué niveles de retroceso cuentan y qué regla de decisión aplicas cuando el precio alcanza (o no alcanza) un nivel.
Separa la mecánica estable de las condiciones variables
Un backtest puede volverse fácilmente engañoso si se mezclan condiciones variables. Mantén dos categorías separadas:
- Mecánica estable (tu proceso definido)
- Definición de datos: marco temporal (por ejemplo, minuto, hora, diario), el campo de precio utilizado (apertura/máximo/mínimo/cierre) y si se realiza un remuestreo.
- Regla de selección de puntos de giro: cómo decides el inicio y el final del movimiento medido (por ejemplo, basado en extremos locales usando una ventana de retroceso fija).
- Definición de nivel: qué proporciones de retroceso se incluyen y cómo tratas el “toque” frente al “cierre por encima/debajo”.
- Regla de evaluación: qué constituye un “acierto”, cuánto debe moverse el precio después de un acierto y la longitud de la ventana de medición.
- Condiciones variables (realidades del mercado y de la ejecución)
- Costos: spreads, comisiones y tarifas.
- Ejecución: cómo se llenan las órdenes cuando el precio se mueve rápidamente, y si asumes llenados al cierre de la vela o a un nivel durante la vela.
- Cambios de régimen: la volatilidad y la liquidez pueden cambiar con el tiempo.
Un enfoque responsable utiliza la misma mecánica en todos los períodos de prueba, permitiendo que los supuestos de costos y ejecución varíen dentro de rangos plausibles.
Haz explícitos los supuestos y elige una configuración de datos consistente
La calidad del backtesting depende de supuestos claros y declarados. Incluso si usas la misma lógica de indicador, diferentes supuestos pueden crear diferentes resultados.
Elementos clave a documentar:
- Identificación de giros: Si los puntos de giro se seleccionan manualmente en un backtest, la prueba corre el riesgo de sesgo retrospectivo. Prefiere un enfoque basado en reglas.
- Prevención de mirar hacia adelante: Asegúrate de que la decisión del punto de giro use solo información disponible en el momento en que el giro termina (o en el momento en que comienza tu evaluación).
- Manejo de velas: Decide cómo se detecta un “toque” de retroceso en velas OHLC. Por ejemplo, ¿usar el máximo/mínimo significa que los toques intrabarra cuentan incluso si el cierre nunca alcanza el nivel?
- Lógica de tamaño de posición y mantenimiento: Si simulas resultados, define la duración del mantenimiento o las condiciones de salida de una manera que pueda calcularse a partir de datos históricos.
Sin estas definiciones, cualquier cifra de rendimiento es difícil de interpretar y fácil de sobreajustar.
Incluye costos y supuestos de ejecución como insumos de primera clase
Muchos backtests fallan porque ignoran las fricciones económicas que pueden dominar un pequeño margen. Incluso cuando evitas recomendar operaciones, aún puedes evaluar el comportamiento del indicador bajo supuestos realistas.
Considera modelar:
- Costos de transacción: spread/comisión/tarifas por ida y vuelta o por acción.
- Deslizamiento: una regla para la diferencia entre la entrada/salida prevista y el llenado logrado.
- Convención de llenado: si asumes que las órdenes se llenan al precio del nivel, a la apertura de la vela, al cierre de la vela, o usando una aproximación intrabarra.
Si tu backtest no puede declarar estos insumos, no puede interpretarse de manera responsable. Una buena práctica es volver a ejecutar la misma lógica bajo múltiples escenarios de costos/deslizamiento y observar si las conclusiones permanecen estables.
Controla el sesgo y el sobreajuste con verificaciones robustas
El sesgo a menudo aparece cuando las reglas se ajustan hasta que “se ven bien” en un segmento histórico. Usa controles de sesgo para reducir este riesgo.
Los controles prácticos incluyen:
- Pruebas de sensibilidad de parámetros: Si tu detección de giros usa una longitud de retroceso, varíala dentro de un rango razonable en lugar de usar un solo valor elegido.
- Pruebas walk-forward: Entrena/ajusta en períodos anteriores, luego evalúa en períodos posteriores sin reajustar.
- Ideas de purga/embargo (conceptualmente): Evita períodos de prueba que se superpongan fuertemente con los datos utilizados para definir eventos de una manera que filtraría información.
- Evaluación ciega: Decide todas las reglas antes de ver el rendimiento futuro, luego aplícalas.
Estas verificaciones no garantizan la corrección, pero hacen más difícil que la estructura accidental se disfrace de una ventaja.