Cuando se desarrolla una estrategia de trading, especialmente si se utiliza un sistema automático, es habitual intentar mejorar sus resultados modificando parámetros, filtros y condiciones de entrada o salida.
El problema aparece cuando comenzamos a ajustar la estrategia demasiado a los datos históricos.
Una estrategia puede llegar a mostrar unos resultados excelentes en backtesting, con una curva de beneficios aparentemente muy atractiva, pero comportarse de forma muy diferente cuando se enfrenta a datos que no había visto anteriormente.
Este fenómeno se conoce como overfitting en trading, también denominado sobreajuste o sobreoptimización.
El overfitting es uno de los principales problemas que deben tenerse en cuenta al desarrollar y optimizar estrategias automáticas, porque puede generar una falsa sensación de robustez.
En este artículo veremos qué es el overfitting, por qué aparece, cómo detectarlo, qué factores lo favorecen y qué métodos pueden utilizarse para reducir el riesgo de sobreajuste.
¿Qué es el overfitting en trading?
El overfitting ocurre cuando una estrategia se adapta excesivamente a los datos históricos utilizados durante su desarrollo.
En lugar de identificar una lógica que pueda funcionar razonablemente bien bajo diferentes condiciones de mercado, el sistema termina aprendiendo las características específicas del periodo utilizado para diseñarlo.
Dicho de una forma sencilla:
La estrategia deja de aprender una lógica general y empieza a memorizar demasiado el pasado.
El resultado puede ser un backtest espectacular, pero una operativa mucho menos consistente cuando aparecen datos nuevos.
Por eso, una de las preguntas más importantes al desarrollar una estrategia no es:
¿Cuánto ganó en el pasado?
Sino:
¿Por qué debería seguir funcionando cuando cambien las condiciones del mercado?
Un ejemplo sencillo de overfitting
Imaginemos una estrategia automática que inicialmente utiliza tres reglas:
- Detectar una tendencia.
- Esperar un retroceso.
- Entrar cuando aparece una determinada señal.
El sistema presenta resultados razonables.
El desarrollador decide entonces intentar mejorarlos.
Añade:
- Un filtro horario.
- Un filtro de volatilidad.
- Un filtro de spread.
- Dos indicadores adicionales.
- Un día de la semana concreto.
- Un determinado nivel de ATR.
- Una condición específica para cerrar operaciones.
Después de realizar cientos o miles de combinaciones, encuentra una configuración que ofrece resultados extraordinarios durante los últimos cinco años.
El backtest parece perfecto.
Pero existe un problema:
la estrategia ha sido ajustada utilizando precisamente esos cinco años de datos.
Puede haber encontrado una combinación que encaja excepcionalmente bien con las características particulares de ese periodo.
Cuando se prueba con datos posteriores que no participaron en el proceso, los resultados pueden empeorar considerablemente.
Eso es una señal de posible overfitting.
Overfitting y optimización: ¿son lo mismo?
No.
La optimización puede ser una herramienta válida dentro del desarrollo de una estrategia.
El problema aparece cuando la optimización se lleva demasiado lejos.
Por ejemplo:
Optimización razonable:
Analizar diferentes valores de un parámetro para comprobar si existe una zona de resultados estable.
Sobreoptimización:
Probar innumerables combinaciones hasta encontrar la configuración que produce el mejor resultado histórico posible.
La diferencia está en el objetivo.
La optimización busca comprender y mejorar una estrategia manteniendo una lógica razonable.
El overfitting aparece cuando el modelo se adapta excesivamente a los datos utilizados para desarrollarlo.
Puedes ampliar este concepto en nuestro artículo sobre Optimización de estrategias de trading: métodos, ventajas y riesgos.
¿Por qué aparece el overfitting?
Existen diferentes causas.
1. Demasiados parámetros
Cuantos más parámetros tenga una estrategia, más posibilidades existen de encontrar una combinación que se adapte perfectamente al histórico.
Por ejemplo, una estrategia con:
- 2 parámetros
tiene muchas menos posibilidades de sobreajustarse que otra con:
- 15 parámetros.
La complejidad no implica necesariamente una estrategia mejor.
2. Demasiados filtros
Añadir filtros puede mejorar los resultados históricos.
Pero cada nuevo filtro también puede hacer que la estrategia sea más específica.
Una estrategia que solamente opera bajo una combinación muy concreta de circunstancias puede tener dificultades para encontrar esas mismas condiciones en el futuro.
3. Histórico insuficiente
Una estrategia compleja necesita una cantidad suficiente de datos para poder evaluarse correctamente.
Si utilizamos pocos datos, determinadas situaciones pueden parecer más importantes de lo que realmente son.
Por ejemplo, una estrategia desarrollada sobre un periodo de seis meses puede haber coincidido con unas condiciones de mercado excepcionales.
4. Demasiadas pruebas
Este es uno de los problemas más difíciles de detectar.
Imaginemos que probamos 10.000 combinaciones diferentes.
Aunque ninguna tenga una ventaja real, algunas pueden presentar resultados extraordinariamente buenos simplemente por azar.
Si seleccionamos la mejor de todas, podemos terminar creyendo que hemos encontrado una estrategia excepcional cuando en realidad hemos encontrado una combinación que encajó especialmente bien con el histórico.
5. Buscar únicamente el máximo beneficio
Si el único objetivo es maximizar el beneficio histórico, el sistema puede terminar adoptando configuraciones cada vez más agresivas y específicas.
Por eso también debemos observar:
- Drawdown.
- Profit Factor.
- Estabilidad.
- Rachas de pérdidas.
- Número de operaciones.
- Consistencia.
¿Cómo detectar el overfitting?
No existe una única prueba que permita demostrar que una estrategia está sobreajustada.
Sin embargo, existen diferentes señales de advertencia.
Señal 1: resultados extraordinarios en backtesting
Un resultado excesivamente bueno merece ser investigado.
No significa automáticamente que exista overfitting, pero cuanto más extraordinario sea el resultado, más importante resulta comprobar cómo se ha obtenido.
Señal 2: pequeñas modificaciones producen grandes cambios
Supongamos que una estrategia utiliza una media móvil de 47 periodos.
Si funciona excepcionalmente bien con 47, pero sus resultados empeoran drásticamente con:
- 46
- 48
- 45
- 49
podría existir una sensibilidad excesiva al parámetro.
Una estrategia potencialmente más robusta podría presentar resultados razonables en una zona más amplia.
Señal 3: demasiados parámetros
Una estrategia que necesita una gran cantidad de condiciones para funcionar correctamente puede ser más difícil de validar.
No significa que una estrategia compleja sea necesariamente mala.
Significa que necesita una validación mucho más cuidadosa.
Señal 4: funciona muy bien en un periodo y muy mal en otro
Si los resultados dependen excesivamente de un periodo concreto, debemos estudiar qué está ocurriendo.
Una estrategia puede estar especializada en determinadas condiciones de mercado, pero debemos conocer esa limitación.
Señal 5: resultados muy diferentes fuera de muestra
Esta es una de las señales más importantes.
Si una estrategia funciona muy bien con los datos utilizados para desarrollarla y después presenta un comportamiento muy inferior sobre datos nuevos, debemos investigar la posibilidad de sobreajuste.
¿Qué son los datos in-sample?
Los datos in-sample son aquellos utilizados durante el proceso de desarrollo y optimización.
Por ejemplo:
2018 → 2024
Si utilizamos ese periodo para modificar parámetros y seleccionar la configuración de una estrategia, esos datos forman parte del conjunto in-sample.
El sistema ya ha sido desarrollado teniendo en cuenta esa información.
Por eso no podemos utilizarlos como única prueba de que la estrategia funciona.
¿Qué son los datos out-of-sample?
Los datos out-of-sample son aquellos que no participaron en el proceso de desarrollo y optimización.
Por ejemplo:
2018 → 2024: desarrollo y optimización.
2025 → 2026: prueba independiente.
La segunda parte permite comprobar cómo se comporta la estrategia con datos que no utilizó durante su creación.
Esto puede ayudar a detectar si el sistema se ha ajustado demasiado al pasado.
¿Por qué es importante separar los datos?
Si utilizamos todo el histórico para modificar continuamente una estrategia y después utilizamos ese mismo histórico para demostrar que funciona, estamos evaluando el sistema con información que ya ha influido en su desarrollo.
Es parecido a estudiar las respuestas de un examen y después utilizar ese mismo examen para demostrar nuestros conocimientos.
Por eso es importante reservar información que el sistema no haya utilizado durante su desarrollo.
¿Qué es el walk-forward testing?
El walk-forward testing es una metodología que permite realizar un proceso de optimización y validación utilizando diferentes ventanas temporales.
De forma simplificada:
- Utilizamos un periodo histórico para optimizar.
- Seleccionamos una configuración.
- Probamos esa configuración sobre un periodo posterior no utilizado.
- Avanzamos la ventana temporal.
- Volvemos a optimizar.
- Volvemos a probar sobre nuevos datos.
Este proceso puede repetirse varias veces.
El objetivo es comprobar cómo responde la estrategia cuando las condiciones de mercado cambian a lo largo del tiempo.
¿El walk-forward elimina el overfitting?
No.
Puede ayudar a detectarlo y reducir determinados riesgos, pero no garantiza que una estrategia esté libre de sobreajuste.
El resultado dependerá de:
- Cómo se diseñe la prueba.
- Qué datos se utilicen.
- Cuántos parámetros existan.
- Cómo se seleccionen.
- Qué métricas se utilicen.
- Cuántas pruebas se realicen.
Por tanto, debe considerarse una herramienta de validación, no una garantía de éxito.
La importancia de la robustez
Una estrategia robusta no necesita que todos sus parámetros estén ajustados a un único valor para producir resultados razonables.
Por ejemplo:
Configuración A: buen resultado.
Configuración B: buen resultado.
Configuración C: resultado razonable.
Configuración D: resultado razonable.
Esto puede ser más interesante que encontrar:
Configuración X: resultado espectacular.
Configuraciones cercanas: resultados muy malos.
En el segundo caso, existe una sensibilidad elevada que merece ser investigada.
La robustez se analiza precisamente para estudiar si el comportamiento de una estrategia se mantiene ante pequeñas variaciones y diferentes condiciones.
¿Cómo evitar la sobreoptimización?
No existe un método capaz de eliminar completamente el riesgo de overfitting, pero sí podemos reducirlo.
1. Mantener la estrategia sencilla
Siempre que sea posible, utiliza el menor número de reglas necesarias para expresar la idea de trading.
Una estrategia sencilla es más fácil de comprender, probar y mantener.
2. Optimizar solamente parámetros relevantes
No es necesario optimizar todo.
Si un parámetro no tiene una justificación clara, quizá no debería modificarse.
3. Utilizar suficientes datos
Un histórico amplio puede proporcionar información sobre diferentes condiciones de mercado.
Siempre que sea posible, conviene incluir diferentes fases:
- Tendencia.
- Rango.
- Alta volatilidad.
- Baja volatilidad.
- Periodos de fuertes movimientos.
4. Separar datos de desarrollo y validación
Utiliza una parte de los datos para desarrollar la estrategia y otra para comprobar cómo se comporta con información que no participó en el proceso.
5. Utilizar varias métricas
No selecciones una estrategia únicamente porque tenga el mayor beneficio.
Analiza también:
- Drawdown.
- Profit Factor.
- Sharpe Ratio.
- Sortino Ratio.
- Expectativa.
- Número de operaciones.
- Rachas de pérdidas.
6. Analizar la estabilidad
Observa qué ocurre cuando modificas ligeramente los parámetros.
Si pequeños cambios producen resultados similares, puede existir una zona de mayor estabilidad.
7. Tener en cuenta los costes reales
Una estrategia puede parecer rentable antes de considerar:
- Spread.
- Comisiones.
- Slippage.
- Swaps.
- Latencia.
Los costes deben formar parte de las pruebas siempre que sea posible.
8. No modificar continuamente la estrategia
Una mala racha no significa necesariamente que haya que cambiar el sistema.
Si modificamos la estrategia cada vez que aparecen pérdidas, podemos terminar adaptándola a cada periodo concreto y aumentando el riesgo de sobreoptimización.
El problema de probar demasiadas estrategias
El overfitting no afecta únicamente a los parámetros.
También puede aparecer cuando probamos muchas estrategias y seleccionamos únicamente la que mejor resultado presenta.
Imaginemos que desarrollamos:
100 estrategias diferentes.
Aunque ninguna tenga una ventaja real, es posible que alguna obtenga un resultado histórico excepcional simplemente por azar.
Si elegimos esa estrategia porque fue la mejor, podemos estar cometiendo un error de selección.
Por eso también es importante considerar cuántas pruebas se han realizado antes de llegar al resultado final.
Overfitting y machine learning
El concepto de overfitting no es exclusivo del trading.
También es conocido en campos como:
- Estadística.
- Ciencia de datos.
- Machine learning.
- Inteligencia artificial.
En aprendizaje automático, un modelo puede aprender demasiado bien los datos utilizados durante su entrenamiento y perder capacidad de generalización ante datos nuevos.
La idea es muy similar en trading.
El objetivo no es memorizar el pasado.
El objetivo es encontrar relaciones que puedan mantener cierta utilidad cuando aparezcan datos diferentes.
¿Más datos significan automáticamente menos overfitting?
No necesariamente.
Tener más datos puede ayudar, pero no elimina por sí solo el problema.
Si una estrategia tiene demasiados parámetros y se realizan miles de pruebas, también puede terminar adaptándose a una gran cantidad de datos históricos.
Además, no todos los datos representan necesariamente diferentes condiciones de mercado.
Por ejemplo, tener muchos años de datos correspondientes principalmente a una misma fase de mercado no proporciona necesariamente la misma información que disponer de diferentes regímenes de volatilidad y tendencia.
Overfitting en Expert Advisors
Los Expert Advisors pueden ser especialmente susceptibles al overfitting porque permiten automatizar grandes cantidades de pruebas.
Un ordenador puede analizar miles de combinaciones en poco tiempo.
Esto es una ventaja desde el punto de vista del cálculo.
Pero también puede convertirse en un problema.
Cuantas más combinaciones probemos, más posibilidades tenemos de encontrar configuraciones que hayan funcionado especialmente bien por casualidad.
Por eso, la capacidad de calcular miles de pruebas no debe confundirse con la capacidad de encontrar una estrategia robusta.
Un ejemplo práctico
Supongamos que desarrollamos un EA para operar un determinado mercado.
Comenzamos con una estrategia sencilla:
- Una condición de tendencia.
- Una condición de entrada.
- Stop Loss.
- Take Profit.
El sistema obtiene resultados razonables.
Después realizamos numerosas pruebas:
- 10 periodos de media.
- 20 valores de Stop Loss.
- 15 valores de Take Profit.
- 5 horarios diferentes.
- 4 filtros adicionales.
El número de combinaciones aumenta rápidamente.
Finalmente encontramos una configuración que ofrece un resultado extraordinario.
Podemos pensar que hemos mejorado la estrategia.
Pero también debemos preguntarnos:
¿Hemos mejorado la lógica o simplemente hemos encontrado una combinación que encaja perfectamente con el histórico?
La única forma de obtener más información es realizar pruebas independientes.
¿Qué hacer si detectamos overfitting?
Si sospechamos que una estrategia está sobreoptimizada, podemos volver a simplificarla.
Algunas medidas son:
- Eliminar filtros innecesarios.
- Reducir parámetros.
- Ampliar el histórico.
- Utilizar datos out-of-sample.
- Realizar pruebas walk-forward.
- Analizar diferentes mercados o periodos.
- Comprobar la sensibilidad de los parámetros.
- Incorporar costes realistas.
El objetivo no es conseguir un backtest perfecto.
El objetivo es conseguir una estrategia cuya lógica tenga sentido y cuyos resultados sean suficientemente consistentes bajo diferentes condiciones.
¿Un backtest perfecto es una señal de peligro?
No necesariamente.
Pero un resultado excepcionalmente perfecto debería despertar nuestra curiosidad.
Si una estrategia presenta:
- Una curva casi sin retrocesos.
- Drawdown mínimo.
- Rentabilidad extraordinaria.
- Porcentaje de aciertos extremadamente elevado.
- Resultados prácticamente idénticos todos los meses.
conviene investigar cuidadosamente cómo se ha obtenido.
Puede existir una explicación legítima.
Pero también puede haber:
- Sobreoptimización.
- Errores en los datos.
- Errores de programación.
- Suposiciones irreales.
- Costes no incluidos.
- Sesgos en la prueba.
Un backtest atractivo debe ser investigado, no simplemente celebrado.
Overfitting y resultados futuros
Incluso después de realizar una validación correcta, no podemos saber con certeza cómo se comportará una estrategia en el futuro.
El mercado puede cambiar.
Por eso debemos considerar los resultados históricos como una herramienta para evaluar una hipótesis, no como una promesa.
Una estrategia puede presentar:
Buen backtest → buena prueba out-of-sample → buen forward test
y aun así experimentar pérdidas posteriormente.
La incertidumbre forma parte del trading.
Checklist para detectar y evitar el overfitting
Antes de utilizar una estrategia optimizada, pregúntate:
- ¿La estrategia tiene demasiados parámetros?
- ¿He añadido muchos filtros para mejorar el histórico?
- ¿He probado una cantidad excesiva de combinaciones?
- ¿Estoy seleccionando únicamente el mejor resultado?
- ¿Los parámetros cercanos producen resultados similares?
- ¿He utilizado datos suficientes?
- ¿He separado los datos in-sample y out-of-sample?
- ¿He realizado pruebas con datos nuevos?
- ¿He considerado spread, comisiones y slippage?
- ¿He analizado diferentes condiciones de mercado?
- ¿He comprobado el drawdown?
- ¿He estudiado las rachas de pérdidas?
- ¿La lógica de la estrategia tiene sentido independientemente del backtest?
- ¿Podría explicar por qué debería funcionar?
Cuantas más preguntas respondamos afirmativamente, mayor será la información disponible para evaluar la estrategia.
Conclusión
El overfitting en trading aparece cuando una estrategia se adapta excesivamente a los datos históricos utilizados durante su desarrollo.
Es uno de los principales riesgos de la optimización de estrategias automáticas porque puede producir resultados históricos excelentes que no se mantienen cuando aparecen datos nuevos.
La solución no consiste en evitar cualquier tipo de optimización.
Consiste en optimizar con moderación, mantener una lógica sencilla, limitar el número de parámetros, utilizar suficientes datos, separar las fases de desarrollo y validación y analizar la estabilidad de los resultados.
También es importante recordar que ninguna metodología elimina completamente el riesgo de sobreajuste.
Una estrategia no debe evaluarse únicamente por cuánto ganó en el pasado.
La pregunta más importante es si existe una lógica razonable detrás de sus resultados y si mantiene un comportamiento aceptable cuando dejamos de utilizar exactamente los datos sobre los que fue desarrollada.
En trading algorítmico, un sistema menos espectacular pero más robusto puede ser mucho más interesante que un sistema perfecto sobre el papel y frágil en la realidad.
Continúa aprendiendo
Si quieres seguir profundizando en trading algorítmico y automatización, puedes continuar con:
- ¿Qué es el trading algorítmico y cómo funciona?
- Trading automático: qué es, cómo funciona y cuáles son sus ventajas y riesgos
- ¿Qué es un Expert Advisor (EA) en trading y cómo funciona?
- Optimización de estrategias de trading: métodos, ventajas y riesgos
- Pruebas de robustez en trading: cómo saber si una estrategia automatizada funciona
- Forward testing: cómo comprobar una estrategia con datos nuevos
- ¿Qué es la gestión del riesgo? Claves para proteger el capital
Ver todas las entradas del blog
⚠️ Aviso importante
Este artículo tiene únicamente finalidad educativa e informativa. Su contenido no constituye asesoramiento financiero, recomendación de inversión ni una invitación a comprar o vender instrumentos financieros.
Los ejemplos utilizados son exclusivamente ilustrativos. Los resultados obtenidos mediante backtesting, optimización o cualquier otra prueba histórica no garantizan resultados futuros.
Cada estrategia debe ser evaluada teniendo en cuenta sus características, riesgos y condiciones de mercado.
⚠️ Aviso de riesgo
El trading conlleva un elevado nivel de riesgo y puede ocasionar pérdidas de capital.
El hecho de que una estrategia haya obtenido buenos resultados históricos no garantiza que vaya a funcionar en el futuro. El overfitting puede generar resultados de backtesting que no sean representativos de la operativa posterior.
Los costes de ejecución, spread, comisiones, slippage, liquidez, volatilidad y cambios en las condiciones del mercado pueden afectar significativamente a los resultados.
La utilización de robots, Expert Advisors o estrategias automatizadas no elimina el riesgo de pérdida.
Nunca debes arriesgar un capital cuya pérdida no puedas asumir.
