Qué es la optimización de parámetros en una estrategia de trading
Un parámetro es un valor que modifica el comportamiento de una regla sin cambiar necesariamente la lógica central del sistema.
Por ejemplo, un sistema puede tener:
- un periodo de 20 velas para calcular una ruptura;
- un stop de 2 ATR;
- una salida después de 10 velas;
- un umbral determinado de volatilidad;
- un horario concreto a partir del cual puede entrar.
Cambiar el periodo de ruptura de 20 a 25 velas es modificar un parámetro. Probarlo entre 10 y 50 velas para estudiar qué valores funcionan mejor es optimizar ese parámetro.
La optimización, por tanto, consiste en probar sistemáticamente distintas configuraciones y comparar su comportamiento con un criterio definido de antemano.
Pero hay una condición previa bastante importante: necesitas reglas suficientemente objetivas para poder probarlas de la misma manera una y otra vez. Si todavía hay decisiones del tipo “entro cuando el gráfico se vea fuerte”, yo volvería primero a cómo definir las reglas de un sistema de trading.
Y, por supuesto, necesitas un proceso de backtesting correctamente construido. Optimizar sobre un backtest defectuoso solo consigue una cosa: encontrar con mucha precisión los mejores parámetros para un modelo que ya estaba mal.
Optimización y análisis de sensibilidad no son lo mismo
Esta lección viene justo después de análisis de sensibilidad porque los dos conceptos están muy relacionados, pero responden preguntas distintas.
El análisis de sensibilidad pregunta:
¿Qué le ocurre al sistema cuando cambio este parámetro?
La optimización pregunta:
Dentro de un rango razonable, qué configuración tendría sentido seleccionar?
Primero quieres entender cómo responde el sistema cuando mueves los parámetros. Después puedes intentar elegir una zona adecuada.
Para mí, hacerlo al revés es uno de los errores más frecuentes. Si empiezas buscando el máximo antes de entender la superficie de resultados, el software te entrega un ganador y tu cerebro empieza inmediatamente a buscar razones para justificarlo.
Optimizar un parámetro no es rediseñar la estrategia
Aquí conviene poner una frontera clara.
Supongamos que tienes una regla de ruptura basada en los máximos de las últimas N velas.
Probar:
20, 25, 30, 35 o 40 velas
es optimización de un parámetro.
Pero después ves los resultados, añades un filtro de RSI, eliminas las operaciones de los martes, añades una media móvil, cambias el mercado y vuelves a probar hasta que la curva mejora.
Eso ya no es simplemente optimizar.
Estás generando nuevas variantes de la estrategia.
No significa que esté prohibido mejorar una idea. El problema aparece cuando todas esas decisiones se toman después de observar qué habría funcionado históricamente y luego se presentan como si hubieran formado parte de la hipótesis original.
Cuanto más modificas la lógica después de mirar resultados, más posibilidades tienes de terminar explicando el pasado en lugar de encontrar una ventaja que pueda generalizarse.
Antes de buscar parámetros, decide qué significa “mejor”
Imagina dos configuraciones hipotéticas.
La primera produce 25 unidades de beneficio con un drawdown de 20.
La segunda produce 20 unidades de beneficio con un drawdown de 8.
¿Cuál es mejor?
No lo sabemos.
Si el optimizador está configurado para maximizar beneficio neto, elegirá la primera. Pero eso no demuestra que sea la configuración más interesante para operar.
La elección depende de qué propiedad del sistema estés intentando preservar.
Puedes mirar beneficio, expectancy, profit factor, drawdown, Sharpe, factor de recuperación o una combinación de varias métricas. Lo importante es que el criterio se defina antes de mirar qué configuración gana.
Si necesitas repasar qué significa cada una y cómo leerlas juntas, tienes la lección de métricas de un backtest.
Yo suelo separar dos cosas.
Primero, condiciones mínimas que una configuración debe cumplir: suficiente muestra, costes incluidos, drawdown compatible con el diseño del sistema, ausencia de errores de ejecución, etc.
Después, entre las configuraciones que superan esos filtros, analizamos cuál ofrece el comportamiento que estamos buscando.
Eso es muy distinto de ordenar 5,000 combinaciones por beneficio y hacer doble clic en la primera.
El espacio de búsqueda crece muchísimo más rápido de lo que parece
Supón que optimizas cuatro parámetros y pruebas diez valores distintos para cada uno.
El número de combinaciones es:
10 × 10 × 10 × 10 = 10,000 backtests
En general:
Número de combinaciones = n₁ × n₂ × n₃ × … × nₖ
donde cada n representa la cantidad de valores que quieres probar para cada parámetro.
Añadir parámetros parece barato porque una computadora puede evaluarlos rápidamente.
Estadísticamente no lo es.
Cuantas más configuraciones pruebas sobre la misma muestra histórica y después eliges la ganadora, más oportunidades das al azar para producir algo que parezca extraordinario. La literatura sobre backtest overfitting lleva años advirtiendo precisamente de este problema: explorar muchas alternativas y seleccionar la mejor puede generar un resultado in-sample impresionante aunque la relación encontrada no generalice.
Por eso más potencia de cálculo no equivale necesariamente a más evidencia.
A veces solo significa que puedes encontrar ruido mucho más rápido.
Cómo optimizar parámetros de una estrategia de trading
1. Congela primero la lógica del sistema
Antes de mover parámetros debes saber qué estás probando.
Mercado, reglas de entrada, salida, costes, forma de calcular posiciones, periodo histórico y condiciones del backtest deberían estar definidos.
También necesitas datos adecuados. Si los datos tienen huecos, precios incorrectos o un nivel de granularidad insuficiente para simular tu estrategia, ningún algoritmo de optimización va a arreglarlo. Ese trabajo pertenece a la lección sobre cómo preparar buenos datos históricos para backtesting.
Y una cosa más: separa desde el principio los datos destinados al desarrollo de los datos reservados para comprobar el sistema posteriormente.
Si quieres profundizar en esa división, repasa In-Sample vs Out-of-Sample.
El dato out-of-sample no debería convertirse en otra pantalla que miras continuamente mientras ajustas parámetros. En cuanto lo utilizas repetidamente para decidir qué cambiar, deja de ser realmente “no visto”.
2. Optimiza solo parámetros que tengan sentido
Cada parámetro debería existir por una razón relacionada con la lógica de la estrategia.
Si utilizas una ruptura de máximos, tiene sentido estudiar la longitud del periodo.
Si utilizas un stop basado en volatilidad, puede tener sentido estudiar su multiplicador.
Lo que evitaría es llenar el sistema de constantes simplemente porque pueden optimizarse.
Un sistema con ocho parámetros no es necesariamente más sofisticado que uno con tres. Tiene, eso sí, muchos más grados de libertad para adaptarse al histórico.
También definiría los rangos antes de ejecutar el test.
No haría esto:
“Probé de 10 a 30, ganó 30. Entonces pruebo hasta 50. Ganó 50. Ahora hasta 100…”
Puede que exista una razón perfectamente válida para ampliar el rango, pero en ese momento estás tomando otra decisión después de mirar resultados. Conviene documentarla como una nueva iteración de investigación.
3. Elige un paso con sentido, no una falsa precisión
Imagina un stop expresado como múltiplo de ATR.
Puedes probar:
1.0, 1.5, 2.0, 2.5 y 3.0.
O puedes probar:
1.00, 1.01, 1.02, 1.03… hasta 3.00.
La segunda búsqueda parece mucho más sofisticada.
No necesariamente aporta más información.
De hecho, introduce muchas más pruebas y puede hacer que termines defendiendo que 1.87 ATR es extraordinariamente superior a 1.86 sin que exista ninguna razón económica para creerlo.
La precisión de un parámetro no debe ser mayor que la precisión de la idea que representa.
4. Mantén constantes las variables que no quieres estudiar
Este punto se pasa por alto muchísimo.
Supongamos que optimizas la distancia del stop pero mantienes fijo el tamaño de la posición.
Un stop más amplio implica entonces un riesgo monetario mayor.
En ese caso quizá creas que estás descubriendo qué stop funciona mejor cuando, en realidad, parte de la diferencia viene simplemente de estar arriesgando cantidades distintas.
Lo mismo sucede al optimizar directamente el porcentaje de riesgo buscando máximo beneficio. Si comparas 0.5%, 1%, 2% y 3% de riesgo por operación, no sería raro que el resultado histórico favoreciera uno de los niveles altos simplemente porque estás introduciendo más exposición.
Eso no significa que hayas encontrado más edge.
Significa que has usado más riesgo.
Cuando quiero estudiar la calidad de una señal o de una salida, intento no mezclar innecesariamente ese experimento con cambios de apalancamiento o tamaño.
5. Ejecuta la búsqueda, pero entiende qué está haciendo el software
En un espacio pequeño puedes probar todas las combinaciones posibles. Es lo que suele llamarse una búsqueda exhaustiva o grid search.
Cuando existen demasiadas combinaciones, algunas plataformas utilizan algoritmos que intentan encontrar regiones prometedoras sin recorrer cada posibilidad.
MetaTrader 5, por ejemplo, permite tanto una iteración completa como una optimización mediante algoritmo genético. También permite definir rangos y pasos para los parámetros y elegir el criterio con el que se valorarán las configuraciones.
Eso acelera muchísimo el trabajo. Pero hay una idea que el software no puede decidir por ti:
que una configuración sea la mejor según el criterio elegido no significa que sea robusta.
Para traders que quieran trabajar esta parte de forma automatizada, Pepperstone ofrece actualmente MetaTrader 5 y destaca precisamente las funciones de backtesting y optimización de su Strategy Tester.
Puedes revisar Pepperstone y abrir una cuenta para practicar con MT5. Yo empezaría en demo mientras todavía estás desarrollando y validando el sistema. Si estás en México, confirma también durante el alta la entidad que presta el servicio y las condiciones que se aplican a tu cuenta.
6. Mira la superficie de resultados, no solo al ganador
Esta es, para mí, la parte central de toda la lección.
Imagina que optimizas un único parámetro.
Obtienes algo así:
| Periodo de ruptura | Profit Factor | Drawdown máximo | Operaciones |
|---|---|---|---|
| 10 | 1.11 | 18% | 265 |
| 15 | 1.24 | 15% | 221 |
| 20 | 1.31 | 13% | 190 |
| 25 | 1.33 | 14% | 165 |
| 30 | 1.29 | 13% | 148 |
| 35 | 1.21 | 16% | 136 |
| 40 | 1.09 | 20% | 121 |
Ejemplo hipotético únicamente para explicar el proceso.
Si nos limitamos a ordenar por Profit Factor, el ganador es 25.
Pero yo miraría otra cosa.
Los valores 20, 25 y 30 presentan un comportamiento bastante parecido.
Eso me interesa más que el hecho de que 25 haya producido exactamente 1.33.
Aquí aparece una meseta de parámetros.
Ahora imagina el caso contrario:
| Periodo | Profit Factor |
|---|---|
| 23 | 1.08 |
| 24 | 1.12 |
| 25 | 1.92 |
| 26 | 1.07 |
| 27 | 1.10 |
¿25 es maravilloso?
Puede ser.
Pero yo empezaría sospechando.
Una diferencia tan extrema provocada por cambiar una sola unidad sugiere que el resultado puede depender de alguna peculiaridad de la muestra.
Un sistema que necesita acertar el parámetro exacto al milímetro es difícil de defender cuando los mercados cambian continuamente.
Por eso un heatmap o una superficie de optimización puede enseñar más que una tabla ordenada. Lo que buscas visualmente no es necesariamente la montaña más alta. Buscas regiones amplias donde los resultados sigan siendo aceptables.
Si quieres experimentar con estas superficies utilizando MT5, puedes consultar Pepperstone aquí y trabajar primero con una cuenta demo. La plataforma es la herramienta; la calidad de la investigación sigue dependiendo de cómo plantees el test.
7. Elige una región antes que un número mágico
Una vez localizada una zona estable, no existe ninguna obligación de seleccionar el punto con mejor resultado histórico.
De hecho, a menudo tiene más sentido utilizar un valor representativo del interior de esa zona.
Volvamos al ejemplo anterior.
Si 20, 25 y 30 funcionan de forma parecida, 25 puede tener sentido porque está en medio de una región razonablemente estable, no porque su Profit Factor haya sido exactamente 0.02 superior al de 20.
Esa diferencia de enfoque importa mucho.
La pregunta deja de ser:
¿Qué número produjo el mayor beneficio?
Y pasa a ser:
¿Qué configuración representa razonablemente bien una zona donde la lógica del sistema no depende de un valor extremadamente preciso?
Eso es optimizar con criterio.
Una optimización puede mejorar el backtest y empeorar tu confianza en él
Esto parece contradictorio, pero ocurre.
Tienes una estrategia sencilla.
Resultado inicial:
- Profit Factor: 1.25
- drawdown razonable;
- resultados bastante estables en varios valores próximos.
Después pasas tres días optimizando.
Añades filtros, parámetros y combinaciones.
Terminas con:
- Profit Factor: 2.10;
- curva de capital preciosa;
- parámetros extremadamente concretos;
- resultados que se desploman si cambias ligeramente alguno.
¿Cuál de las dos versiones inspira más confianza?
Yo no asumiría que es la segunda.
El backtest mejoró, pero también aumentó enormemente la cantidad de información histórica que utilizaste para construirlo.
Ese es exactamente el terreno en el que aparece el overfitting en trading.
Optimización y sobreoptimización no son sinónimos.
La optimización es una herramienta.
El sobreajuste es uno de los riesgos de usarla mal.
Señales de que probablemente estás forzando demasiado la optimización
Hay un pico aislado. Un parámetro funciona extraordinariamente bien y sus vecinos funcionan mucho peor. Puede existir una explicación real, pero necesita demostrarse.
El mejor resultado está siempre en el límite del rango. Quizá elegiste mal el rango. O quizá estás persiguiendo una relación monotónica. Ampliarlo puede ser razonable, pero debes reconocer que estás iniciando una nueva decisión de investigación.
Cada pequeño cambio modifica muchísimo los resultados. Si pasar de 20 a 21 velas transforma por completo el sistema, entender esa sensibilidad importa más que proclamar vencedor al 21.
Tienes tantos parámetros que ya no sabes explicar qué hace cada uno. Ahí suele haber demasiados grados de libertad.
El beneficio mejora principalmente al aumentar el riesgo. Eso no es mejorar la estrategia; es aumentar la exposición.
La mejora desaparece al introducir spread, comisiones o slippage razonables. Entonces probablemente optimizaste una ventaja que solo existía en el modelo de ejecución idealizado.
Miras el out-of-sample, cambias algo y vuelves a mirarlo una y otra vez. En ese momento estás contaminando el conjunto que pretendía servir como comprobación independiente.
No existe un número universal de parámetros a partir del cual un sistema pasa mágicamente a estar sobreoptimizado.
Pero la dirección es clara: cada decisión adicional que tomas después de observar el histórico aumenta la cantidad de formas en las que puedes adaptar la estrategia a ese histórico.
El error de buscar “los parámetros óptimos”
La propia expresión puede engañar.
“Óptimo” suena a definitivo.
En trading casi nunca lo es.
Los parámetros que mejor describieron un periodo de baja volatilidad pueden no comportarse igual durante un mercado mucho más volátil.
Un periodo de ruptura que funcionó bien cuando las tendencias duraban semanas puede reaccionar de otra forma en un entorno lateral.
Un stop muy ajustado puede tener sentido bajo una estructura de costes determinada y dejar de tenerlo cuando cambia el spread o el slippage.
Por eso yo hablaría más de parámetros candidatos o zonas robustas que de parámetros perfectos.
La optimización reduce el espacio de posibilidades.
No demuestra todavía que la configuración vaya a sobrevivir fuera de la muestra que utilizaste para elegirla.
¿Cuándo terminar de optimizar?
También hay que saber parar.
Si después de encontrar una zona razonablemente estable sigues buscando décimas adicionales de rendimiento histórico, cada nueva modificación puede aportar muy poco conocimiento y mucho riesgo de ajuste.
Yo tendría más confianza cuando se cumplen varias condiciones:
la lógica del parámetro tiene sentido, los valores vecinos se comportan de forma razonable, el resultado no depende de unas pocas operaciones extraordinarias, los costes están modelados, la muestra destinada a validación permanece sin tocar y puedo explicar por qué elegí ese parámetro sin limitarme a decir “porque fue el que más ganó”.
No necesito que la configuración sea la campeona histórica.
Necesito que sea defendible.
Lo que viene después: comprobar si la optimización generaliza
Hasta aquí hemos trabajado fundamentalmente sobre cómo seleccionar parámetros de forma razonable.
Todavía falta una pregunta más difícil:
¿qué ocurre cuando repetimos el proceso a lo largo del tiempo y obligamos al sistema a demostrar que los parámetros seleccionados funcionan después del periodo utilizado para optimizarlos?
Ese es precisamente el objetivo de la siguiente lección del curso: Walk-Forward Analysis.
No quiero adelantar aquí todo ese proceso porque merece su propia explicación.
Más adelante reuniremos esta evidencia con otras pruebas para responder una pregunta todavía mayor: cómo comprobar la robustez de un sistema de trading.
La optimización es una pieza de ese proceso.
No es el veredicto final.
Y si quieres practicar esta parte técnica con MetaTrader 5, puedes revisar las condiciones de Pepperstone y consultar la promoción disponible mediante nuestro enlace. Mientras sigas desarrollando el sistema, yo priorizaría demo y validación antes que capital real.
La idea con la que me quedaría
Un buen proceso de optimización no busca demostrar que tu sistema habría ganado muchísimo.
Busca descubrir si su comportamiento tiene estructura o depende de coincidencias históricas demasiado precisas.
Si solo recuerdas una cosa, que sea esta:
un parámetro robusto suele vivir dentro de una zona razonablemente estable. Un parámetro sobreajustado muchas veces vive solo en la cima de una montaña muy estrecha.
No te enamores de la cima.
Estudia toda la montaña.






