Machine learning en trading: por qué casi todos los modelos que brillan en el ordenador fracasan en real

· 12 minutos de lectura · Guías de tradea.es
Machine learning en trading: por qué casi todos los modelos que brillan en el ordenador fracasan en real

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:

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í:

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:

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ípicoCómo se notaCómo se evita
Fuga de informaciónCurva 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 serieResultados excelentes en test que no se repiten en producciónPartir siempre por fecha y validar con walk forward.
Solapamiento de etiquetasTest optimista aunque el corte sea temporalPurga de las muestras que invaden el test y embargo de unos días entre bloques.
Sobreajuste por exceso de pruebasGran distancia entre entrenamiento y prueba; el mejor modelo deja de serlo al mesLimitar el número de configuraciones probadas y guardar un bloque final intacto que solo se toca una vez.
Ignorar los costes hasta el finalSeñales de dos o tres ticks que en real dan ceroMeter comisión y deslizamiento en la función objetivo desde el primer entrenamiento.
Métrica equivocada55 % de aciertos y cuenta en pérdidasOptimizar esperanza matemática neta por operación, no porcentaje de acierto.
No estacionariedad ignoradaFunciona dos años y se apaga sin motivo aparenteMedir 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.

En corto: la mayoría de los modelos de machine learning aplicados a trading fracasan por tres motivos concretos: fuga de información en los datos, validación mal hecha y costes de operar que se comen la ventaja. Valida con walk forward, purga los solapamientos y mete las comisiones en la ecuación desde el principio. Si el modelo sigue en pie después de eso, ya es otra conversación.

Ver esto funcionando vale más que leerlo

TSOPEN, el sistema automático de tradea.es, hace una operación al día a las 14:30, con 300 $ de riesgo y 600 $ de objetivo, y su backtest se puede reproducir en NinjaTrader 8. Tienes medio minuto de vídeo con el sistema operando, y a José o a José Antonio en WhatsApp para enseñártelo en directo, sin compromiso.

Sigue leyendo

WhatsApp