Abel, coincido con Miguel Ángel en la distinción. Sobre tu pregunta: ninguna combinación es «suficiente». Ninguna prueba demuestra que un EA es robusto; lo que hacen es acumular evidencia o quitártela. Lo que para mí es imprescindible:
1. Saber cuántas configuraciones has probado. Bailey, López de Prado y otros (2014) mostraron que con 5 años de datos y estrategias sin ventaja real, basta probar unas 45 configuraciones independientes para encontrar casi seguro una con Sharpe anual de 1 en el in-sample, con un Sharpe esperado fuera de muestra de cero. Una optimización de MT5 prueba miles.
2. Meseta, no pico. Si al mover un poco los parámetros el resultado se hunde, es ruido. Busca una zona amplia donde casi todas las configuraciones cumplan tus mínimos y elige su centro, aunque no sea la número 1 de la tabla.
3. Fuera de muestra usado una sola vez. Si miras el forward, ajustas y vuelves a optimizar, el forward ya es in-sample. Que empeore algo es normal; lo preocupante es que las mejores pasadas del in-sample se hundan.
4. Operaciones, no años. Con pocas operaciones la incertidumbre es enorme. Y si quitando las 5 mejores el sistema queda plano, la ventaja es frágil.
5. Costes más duros. Spread, comisión y slippage al alza. Si con costes x1,5 la ventaja desaparece, no hay colchón para la vida real.
6. Monte Carlo, sabiendo lo que mide. Sirve para dimensionar el drawdown y las rachas de pérdidas, pero no detecta el sobreajuste: usa las mismas operaciones del backtest.
Después, demo o real con riesgo mínimo, comparando con lo esperado. Si tuviera que quedarme con tres: meseta, fuera de muestra limpio y suficientes operaciones.
(Por transparencia: estoy desarrollando Orometra, una herramienta gratuita que hace parte de esto a partir del XML de la optimización de MT5.)
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Usted acepta la política del sitio web y las condiciones de uso
Llevo un tiempo trabajando con sistemas automáticos y hay una cuestión que cada vez me parece más importante: ¿cuánta confianza podemos depositar realmente en un backtest?
Un EA puede mostrar resultados excelentes durante varios años y aun así fracasar cuando pasa a demo o real. No necesariamente porque el backtest esté mal hecho, sino por factores como el spread, slippage, comisiones, calidad de los datos, latencia o simplemente sobreoptimización.
Personalmente, cada vez me interesa menos encontrar el backtest con mayor beneficio y más comprobar qué tan robusto es el sistema cuando las condiciones dejan de ser ideales.
Por ejemplo: cambiar ligeramente los parámetros, aumentar costes de ejecución, probar periodos que no participaron en la optimización, separar datos in-sample/out-of-sample o realizar Monte Carlo.
Me gustaría conocer cómo lo hacéis vosotros.
¿Qué pruebas consideráis imprescindibles antes de pasar un EA de backtest a una cuenta real?
¿Walk-forward? ¿Monte Carlo? ¿Forward test? ¿Pruebas con spreads y slippage más agresivos? ¿Un periodo mínimo de datos?
Creo que puede salir un debate interesante porque muchas veces nos centramos en el beneficio y el drawdown del backtest, cuando quizá la pregunta más importante es cuánto empeoran los resultados cuando sometemos el sistema a condiciones diferentes.