Hay un patrón que se repite tanto que ya es un género literario. Alguien aplica machine learning al trading, entrena un modelo con años de histórico, obtiene un 63 % de aciertos y una curva de resultados que sube como una escalera. Lo pone en real. A las seis semanas está plano, y a los cuatro meses, en pérdidas.
No es mala suerte ni le pasa solo a los aficionados. Es el resultado esperable de aplicar unas herramientas que funcionan de maravilla en otros campos a un problema que tiene tres propiedades muy incómodas: casi todo lo que ves es ruido, los datos se contaminan solos, y las reglas del juego cambian mientras juegas.
Esta guía explica por qué pasa y qué hay que hacer para que un modelo tenga alguna posibilidad: qué le estás pidiendo exactamente, cómo se contamina un conjunto de datos sin que te enteres, cómo se valida de verdad (con un ejemplo de ventanas concreto), y por qué los costes de operar matan la mayoría de las señales antes de que lleguen a tu cuenta. Forma parte de nuestra serie sobre trading con inteligencia artificial, donde separamos lo que la IA hace de verdad de lo que se vende con esa etiqueta.
Qué le estás pidiendo al modelo
Antes de nada conviene tener claro el problema, porque no todos son igual de difíciles. En la práctica se le piden tres cosas a un modelo, y solo una de ellas es medio razonable:
- Dirección. ¿Sube o baja en las próximas N barras? Es el planteamiento más común y el más difícil de todos. Si fuera fácil, no habría mercado.
- Volatilidad. ¿Cuánto se va a mover, en cualquier sentido? Este sí tiene arreglo, porque la volatilidad se agrupa: los días agitados vienen seguidos de días agitados. Es el problema financiero donde los modelos funcionan mejor, y casi nadie lo usa para lo que sirve, que es dimensionar el riesgo.
- Tamaño del movimiento con signo. ¿Cuántos ticks a favor antes de tocar el stop? Mezcla lo anterior y añade lo que más importa: si el movimiento da o no para pagar los costes.
Un modelo que acierta la dirección el 55 % de las veces pero solo captura movimientos de dos ticks es inútil. Uno que acierta el 45 % pero acierta en grande puede ser excelente. La precisión, por sí sola, no dice nada.
El problema de fondo del machine learning en trading: la señal es minúscula
El machine learning arrasa cuando la relación entre lo que ve y lo que predice es fuerte y estable. En una radiografía el tumor está ahí: difícil de ver, pero está, y seguirá estando dentro de diez años.
En los mercados no. La proporción entre la parte del movimiento que responde a algo y la parte que es ruido puro es tan desfavorable que la mayoría de las relaciones que encuentra un modelo no existen: son coincidencias del periodo concreto que le has dado. Con miles de variables candidatas y unos pocos miles de días de histórico, encontrar correlaciones espectaculares por azar no es difícil, es inevitable. Es la misma trampa de la sobreoptimización y el curve fitting, multiplicada por todo lo que un modelo puede probar solo.
A eso se suma que el mercado es adversarial. Si encuentras algo que funciona de verdad, hay miles de personas y máquinas buscando lo mismo con más datos y más rapidez, y en cuanto lo exploten lo suficiente, dejará de funcionar. Una ventaja real en mercados no es un descubrimiento permanente: es un recurso que se agota.
En la mayoría de los campos, el ML busca una señal que está escondida. En los mercados, busca una señal que además es pequeña, temporal y perseguida por miles de competidores.
La fuga de información: el error número uno
La fuga de información, o look-ahead bias, es cuando el modelo aprende usando datos que en el momento de operar no habrías tenido. Es el fallo más frecuente y el más traicionero, porque no da error: da resultados magníficos. Un modelo con fuga es un modelo que ha visto el examen.
Las cuatro fugas más habituales
Normalizar con todo el conjunto de datos. Escalas una variable restando la media y dividiendo por la desviación típica calculadas sobre el histórico completo. Parece inocente y no lo es: la media de todo el periodo incluye el futuro. Cada muestra de 2021 lleva dentro, aunque sea de forma diluida, información de 2024.
Etiquetas que miran adelante sin querer. Etiquetas cada barra según lo que pasa después, que es correcto, pero luego incluyes entre las variables de entrada algo que ya incorpora ese futuro: un indicador que se recalcula, un dato macro con la fecha del periodo al que se refiere en vez de la fecha en que se publicó, un cierre ajustado por un split posterior.
Barras que no están cerradas. Usas el precio de cierre de la barra en la que operas. En real, cuando esa barra cierra, la oportunidad ya ha pasado. Es un desfase de una sola barra y basta para convertir un sistema perdedor en uno ganador sobre el papel.
Separar train y test al azar. El error clásico de coger la función de partición aleatoria que viene por defecto. En una serie temporal, mezclar el orden significa entrenar con el martes y evaluar con el lunes. Como los días contiguos se parecen mucho, el modelo no predice: recuerda.
La señal de alarma es siempre la misma: resultados demasiado buenos. Si tu curva de equity sube casi recta y la precisión pasa del 65 %, la primera hipótesis no es que seas un genio. Es que hay una fuga. Lo mismo vale para el backtest de cualquier sistema, con modelo o sin él.
Cómo se valida bien: walk forward paso a paso
La validación correcta imita lo que pasaría en la realidad: entrenas con lo que sabías hasta una fecha, operas el periodo siguiente sin volver a tocar nada, y luego repites avanzando en el tiempo. Eso es el walk forward, o análisis de avance progresivo.
Un ejemplo con ventanas concretas
Supón que tienes datos de enero de 2019 a diciembre de 2025, siete años. Eliges una ventana de entrenamiento de 24 meses, una de prueba de 6 meses, y avanzas de 6 en 6. Los ciclos quedan así:
- Ciclo 1: entrena de enero 2019 a diciembre 2020. Prueba de enero a junio de 2021.
- Ciclo 2: entrena de julio 2019 a junio 2021. Prueba de julio a diciembre de 2021.
- Ciclo 3: entrena de enero 2020 a diciembre 2021. Prueba de enero a junio de 2022.
- Y así sucesivamente, hasta el ciclo 10: entrena de julio 2023 a junio 2025 y prueba de julio a diciembre de 2025.
El resultado son 10 ciclos y cinco años completos de resultados fuera de muestra, de enero de 2021 a diciembre de 2025, pegados uno detrás de otro. Esa curva, y no la del entrenamiento, es la única que se parece a lo que podrías haber vivido.
Lo interesante del walk forward no es solo el resultado global. Es mirar ciclo a ciclo. Si dos de los diez son buenísimos y los otros ocho planos, no tienes un sistema: tienes dos periodos afortunados. Si los diez son mediocres pero positivos, tienes algo con más pinta de ser real.
Purga y embargo, los detalles que casi nadie aplica
Aunque partas por fecha, sigue habiendo contaminación si tus etiquetas abarcan tiempo. Imagina que etiquetas cada operación según lo que pasa en las cuatro horas siguientes. La muestra del último día del periodo de entrenamiento tiene una etiqueta que depende del primer día del periodo de prueba. Se solapan.
La solución tiene dos partes. La purga consiste en eliminar del entrenamiento las muestras cuyo horizonte de etiqueta invade el periodo de prueba. El embargo consiste en dejar además un hueco temporal entre ambos, unos días, para que la autocorrelación natural de las series no cuele información por la puerta de atrás. Son dos líneas de código y suelen bajar los resultados aparentes. Ese es exactamente el objetivo.
El mercado cambia de régimen
Un modelo aprende la relación entre unas variables y un resultado tal y como era en el periodo de entrenamiento. Esa relación no es una ley física: depende de quién está operando, con qué costes, bajo qué tipos de interés y con qué reglas. Todo eso cambia.
La consecuencia práctica es que hay que medir la degradación, no solo el resultado. En el walk forward, mira cuánto empeora cada ventana de prueba respecto a su entrenamiento y si ese deterioro crece con el tiempo. Si el ciclo 1 conserva el 80 % del rendimiento esperado y el ciclo 10 solo el 20 %, el modelo se está quedando obsoleto más deprisa de lo que puedes reentrenarlo.
Merece la pena además partir el histórico por regímenes: 2020 (volatilidad extrema), 2022 (bajista sostenido) y algún tramo lateral y aburrido. Un modelo que solo gana en uno de los tres no es un modelo, es una apuesta de contexto.
Los costes se comen casi todas las señales
Esta es la parte donde mueren la mayoría de los modelos que sobreviven a todo lo anterior. Un ejemplo con números reales.
Trabajas sobre el micro del S&P 500 (MES), donde cada tick vale 1,25 $. Tu modelo encuentra una señal con una esperanza matemática bruta de 3 ticks por operación, es decir 3,75 $. Suena bien. Ahora resta:
- Comisión de ida y vuelta: alrededor de 1 $ por microcontrato.
- Deslizamiento: medio tick por lado si tienes suerte, un tick en total, otros 1,25 $.
Total de costes: en torno a 2,25 $ por operación. Te quedan 1,50 $ de los 3,75 $ iniciales. Has perdido el 60 % de la ventaja antes de empezar. Y si la esperanza real resulta ser de 2 ticks en vez de 3 (algo perfectamente normal cuando pasas de la simulación al mercado), te quedan 0,25 $, que es cero con pasos extra.
La conclusión operativa es contundente: los costes deben estar dentro de la función que el modelo optimiza, no restarse al final. Si entrenas para maximizar aciertos y luego descuentas comisiones, habrás optimizado un sistema que hace muchas operaciones pequeñas, que es justo el peor perfil posible. Lo detallamos en la guía sobre slippage y comisiones, porque afecta a cualquier sistema automático, lleve modelo o no.
Los errores que más caros salen
| Error típico | Cómo se nota | Cómo se evita |
|---|---|---|
| Fuga de información | Curva casi recta y precisión por encima del 65 % | Auditar cada variable: ¿la habría tenido en ese instante? Normalizar solo con datos pasados. |
| Partición aleatoria de la serie | Resultados excelentes en test que no se repiten en producción | Partir siempre por fecha y validar con walk forward. |
| Solapamiento de etiquetas | Test optimista aunque el corte sea temporal | Purga de las muestras que invaden el test y embargo de unos días entre bloques. |
| Sobreajuste por exceso de pruebas | Gran distancia entre entrenamiento y prueba; el mejor modelo deja de serlo al mes | Limitar el número de configuraciones probadas y guardar un bloque final intacto que solo se toca una vez. |
| Ignorar los costes hasta el final | Señales de dos o tres ticks que en real dan cero | Meter comisión y deslizamiento en la función objetivo desde el primer entrenamiento. |
| Métrica equivocada | 55 % de aciertos y cuenta en pérdidas | Optimizar esperanza matemática neta por operación, no porcentaje de acierto. |
| No estacionariedad ignorada | Funciona dos años y se apaga sin motivo aparente | Medir la degradación ciclo a ciclo y validar por regímenes de mercado separados. |
El criterio final
Después de todo lo anterior, la regla se resume en una frase: un modelo solo vale si sobrevive a datos que no ha visto y a los costes reales de operar. Las dos condiciones, juntas. Cualquiera de las dos por separado es fácil de aprobar y no demuestra nada.
Eso implica decisiones incómodas. Preferir el modelo sencillo al complejo aunque el complejo dé mejores números en el entrenamiento. Aceptar que la mayoría de las ideas que pruebes no van a funcionar, y que eso es el trabajo, no un fracaso. Y desconfiar por sistema de tus propios resultados buenos, que es lo más difícil.
Si quieres ver esa exigencia aplicada a un sistema de reglas explícitas, nuestro backtest está publicado con su metodología en la página de rentabilidad: periodo, instrumento, comisiones descontadas y la advertencia de siempre, que es una simulación sobre datos históricos y que los resultados pasados no garantizan los futuros. Si vienes de cero, empieza por la guía completa de bots de trading.
Preguntas frecuentes
¿Funciona el machine learning en trading?
Funciona, pero mucho peor de lo que sugiere su fama en otros campos. La relación entre las variables y el precio futuro es débil, cambia con el tiempo y hay miles de competidores buscándola. Los usos con mejor historial son estimar volatilidad y filtrar el contexto, no predecir la dirección.
¿Qué es el look-ahead bias?
Es usar en el entrenamiento información que no habrías tenido disponible en el momento de operar. Ocurre al normalizar con todo el histórico, al usar datos macro con su fecha de referencia en vez de la de publicación o al operar con barras que aún no han cerrado. Se nota porque los resultados salen sospechosamente buenos.
¿Qué es el walk forward y para qué sirve?
Es validar entrenando con un periodo, probando con el periodo siguiente sin tocar nada, y repitiendo el proceso avanzando en el tiempo. Sirve para obtener una curva de resultados enteramente fuera de muestra, que es la única que se parece a lo que habrías vivido en real. Además permite ver si el rendimiento se degrada ciclo a ciclo.
¿Cuántos datos hacen falta para entrenar un modelo de trading?
Más de los que casi nadie tiene, y la cantidad importa menos que la variedad de regímenes que cubran. Diez años con tres tipos de mercado distintos valen más que veinte de un mismo entorno. Como orden de magnitud, si el conjunto de prueba tiene menos de un par de cientos de operaciones, cualquier conclusión será ruido.

José Ruíz
CEO de Tradesoft · Responsable de TSOPEN
José Antonio Fernández
Jefe de ventas de Tradesoft