Simulación Monte Carlo en trading: qué es, cómo funciona y qué te dice de tu sistema

Un backtest te muestra una sola historia: la secuencia exacta de operaciones que ocurrió en los datos históricos.

La simulación Monte Carlo plantea una pregunta distinta: ¿qué tan diferente podría haberse visto el mismo sistema si la secuencia de resultados hubiera cambiado?

Ahí está su valor. No intenta adivinar cuáles serán tus próximas operaciones. Toma los datos o supuestos de tu sistema, introduce aleatoriedad de forma controlada y repite el experimento muchas veces para estudiar una distribución de resultados posibles bajo ese modelo.

Esto complementa muy bien lo que acabamos de trabajar en el Walk-Forward Analysis. El walk-forward comprueba cómo se comporta la estrategia a través del tiempo y en periodos no utilizados para ajustarla. Monte Carlo mira otro problema: la incertidumbre que existe incluso cuando las estadísticas del sistema parecen razonables.

La idea que quiero que te quede desde el principio es esta: Monte Carlo sirve para explorar trayectorias, drawdowns, rachas y riesgo de secuencia. No predice el futuro y tampoco demuestra, por sí solo, que tu sistema conservará su edge.

Simulación Monte Carlo
Simulación Monte Carlo

Qué es una simulación Monte Carlo en trading

Monte Carlo es una familia de métodos que utiliza muestreo aleatorio repetido para estudiar cómo puede distribuirse un resultado cuando existe incertidumbre. NIST lo describe precisamente como un proceso en el que se definen las variables y sus distribuciones y después se realizan múltiples muestreos aleatorios. En aplicaciones de trading, herramientas como TradeStation emplean el remuestreo de rendimientos históricos para analizar resultados alternativos, incluido el drawdown.

Llevado a un sistema de trading, puedes partir, por ejemplo, de los resultados de las operaciones de tu backtest y generar cientos o miles de trayectorias alternativas.

Cada trayectoria produce una nueva curva de capital.

Y ya no estás preguntando únicamente:

“¿Cuál fue mi drawdown en el backtest?”

La pregunta mejora:

“Bajo estos datos y estos supuestos, ¿qué distribución de drawdowns aparece cuando dejo de depender de una sola secuencia histórica?”

Ese cambio parece pequeño. No lo es.

Pasas de estudiar un resultado observado a estudiar la dispersión de resultados que genera tu modelo.

El problema que Monte Carlo deja al descubierto: el orden importa

Supongamos un ejemplo deliberadamente pequeño.

Tenemos diez operaciones:

+2R, -1R, +2R, -1R, +2R, -1R, +2R, -1R, +2R, -1R

Hay cinco ganadoras de +2R y cinco perdedoras de -1R.

La tasa de acierto es 50%. La ganancia media es +2R. La pérdida media es -1R. El resultado total es +5R.

Ahora no cambiamos ninguna operación. Únicamente cambiamos su orden.

SecuenciaResultado finalDrawdown máximo aproximado
Ganancia y pérdida prácticamente alternadas+5R1R
Las cinco pérdidas aparecen primero+5R5R

En la segunda secuencia tendrías:

-1R, -1R, -1R, -1R, -1R, +2R, +2R, +2R, +2R, +2R

Mismo sistema. Mismas diez operaciones. Mismo resultado final. Una experiencia de riesgo completamente diferente.

Esto es riesgo de secuencia.

Y para mí es una de las ideas más importantes de Monte Carlo porque ayuda a desmontar una falsa sensación de precisión: ver un drawdown del 8% en un histórico no significa que “el drawdown de la estrategia sea 8%”.

Significa que esa trayectoria histórica produjo un drawdown máximo del 8%.

Para entender mejor qué representa esa trayectoria puedes volver a la lección sobre la equity curve.

El ejemplo de diez operaciones es únicamente didáctico. No utilizaría una muestra así para sacar conclusiones estadísticas. Antes de interpretar una simulación seria necesitas tener claro cuántas operaciones necesita un backtest.

Te puede interesar Cómo mejorar un sistema de trading sin sobreoptimizarlo

Cómo hacer una simulación Monte Carlo de un sistema de trading

No existe una configuración universal, pero el proceso mental debería ser bastante ordenado:

  1. Empieza con datos que merezcan ser simulados. El historial debe corresponder al mismo conjunto de reglas y, cuando proceda, incorporar comisiones, spread, slippage y demás fricciones realistas. Monte Carlo no arregla un backtest mal construido.
  2. Define qué vas a simular. Pueden ser resultados por operación en R, rendimientos porcentuales, P&L monetario u otra variable coherente con tu sistema.
  3. Elige el método de remuestreo. Puedes limitarte a cambiar el orden de las operaciones o permitir que determinadas observaciones aparezcan varias veces y otras desaparezcan.
  4. Genera muchas trayectorias. Cada iteración crea una versión alternativa de la secuencia bajo las reglas que hayas elegido.
  5. Calcula la métrica que te interesa en cada trayectoria. Por ejemplo, drawdown máximo, racha de pérdidas, capital final o incumplimiento de un límite de riesgo.
  6. Analiza la distribución completa. La parte útil no es encontrar la curva más bonita, sino estudiar medianas, percentiles, colas y escenarios adversos.

NinjaTrader, por ejemplo, documenta una implementación que utiliza muestreo repetido con reemplazo sobre resultados de operaciones para construir distribuciones de posibles resultados. Esto ayuda a entender algo importante: hablar de “Monte Carlo” no identifica por sí solo qué algoritmo se ha utilizado. Hay que mirar cómo se generaron las simulaciones.

Si todavía estás construyendo el historial operativo de tu sistema, una cuenta demo puede servir para practicar la ejecución y registrar cómo aplicas las reglas. Pepperstone ofrece actualmente demo en varias de sus plataformas, entre ellas MT4, MT5, TradingView y cTrader. La demo es un entorno de práctica, no una prueba estadística de que el sistema tenga ventaja, y Pepperstone advierte que ciertas condiciones de demo pueden diferir de las de trading live.

Puedes probar Pepperstone y abrir una cuenta demo desde nuestro enlace si necesitas un entorno donde practicar la ejecución antes de arriesgar capital.

No todos los Monte Carlo hacen lo mismo

Este matiz se pierde en bastantes explicaciones sobre Monte Carlo en trading.

“Randomizar el backtest” puede significar cosas muy diferentes.

MétodoQué cambiaQué te ayuda a estudiarPrincipal limitación
Reordenación o reshuffleCambia el orden de las mismas operacionesRiesgo de secuencia, drawdown y rachasNo cambia la composición de la muestra
Bootstrap con reemplazoAlgunas operaciones pueden repetirse y otras no aparecerVariabilidad de la muestra y dispersión de resultadosSupone que la muestra histórica representa razonablemente la distribución relevante
Simulación paramétricaGenera resultados a partir de una distribución o modelo estimadoEscenarios más amplios que el histórico exactoEl resultado depende mucho de que el modelo elegido sea apropiado
Block bootstrapRemuestrea grupos de operaciones en lugar de trades aisladosMantener parte de la dependencia temporalElección del tamaño de los bloques y disponibilidad de datos

Si únicamente reordenas operaciones sin reemplazo, estás aislando principalmente el efecto del orden.

Con sizing fijo y reglas que no dependan del camino recorrido, puedes terminar exactamente con el mismo P&L y aun así obtener drawdowns muy diferentes.

El bootstrap va un paso más allá. Al muestrear con reemplazo, una operación histórica puede aparecer varias veces en una simulación y ninguna en otra. Por eso también cambia la composición de cada trayectoria.

La versión paramétrica es todavía distinta. En vez de tomar directamente tus operaciones, modelas estadísticamente sus resultados y generas nuevas observaciones. Puede ser muy útil, pero ahora la calidad del análisis depende todavía más de tus supuestos sobre la distribución.

Yo aquí evitaría la pregunta “¿cuál es el Monte Carlo correcto?”. La pregunta útil es:

¿Qué fuente de incertidumbre estoy intentando estudiar y qué hipótesis estoy introduciendo para hacerlo?

Te puede interesar Cómo comprobar la robustez de un sistema de trading

Cómo leer los resultados de Monte Carlo sin engañarte

La simulación empieza a tener valor cuando dejas de mirar las curvas como espaguetis de colores y empiezas a interpretarlas como una distribución.

Drawdown máximo

Supongamos que el backtest original tuvo un drawdown máximo del 11%.

Corres Monte Carlo y descubres, en un ejemplo hipotético, que el percentil 95 del drawdown máximo está en 19%.

Eso significa que, dentro de ese modelo concreto, aproximadamente el 95% de las simulaciones tuvo un drawdown máximo igual o inferior a 19%, mientras que alrededor del 5% fue peor.

No significa:

“Mi drawdown futuro máximo será 19%.”

Tampoco significa:

“Tengo 95% de seguridad de que nunca superaré 19%.”

El resultado es condicional a la calidad de tus datos y a todos los supuestos de la simulación.

Rachas de pérdidas

Un sistema puede tener expectativa positiva y atravesar una secuencia desagradable de pérdidas.

Monte Carlo permite estudiar cómo se distribuye la racha perdedora máxima en las simulaciones.

Esto tiene una aplicación muy práctica.

Si tu backtest solo presentó cuatro pérdidas consecutivas, pero las simulaciones muestran con cierta frecuencia secuencias de ocho, nueve o diez, ya sabes que diseñar tu riesgo psicológico y financiero suponiendo que “cuatro pérdidas es lo máximo normal” sería una lectura demasiado optimista.

Capital o rendimiento final

También puedes observar la distribución de resultados al terminar un número determinado de operaciones.

Aquí miraría con cuidado la mediana y los percentiles, no únicamente la media.

Cuando una distribución está sesgada, unas pocas trayectorias extraordinariamente buenas pueden elevar la media y hacer que el resultado “promedio” parezca más atractivo de lo que vive la mayor parte de las simulaciones.

Si necesitas repasar qué está midiendo cada estadística antes de interpretarla, la lección sobre métricas de backtesting te da esa base.

Probabilidad de superar un límite

Puedes definir un evento concreto y contar cuántas simulaciones lo alcanzan.

Por ejemplo:

“¿Cuántas trayectorias sufren un drawdown superior al 25%?”

Si 430 de 10,000 simulaciones cruzaran ese umbral, el modelo produciría una frecuencia estimada de:

430 / 10,000 = 4.3%

Formalmente:

Probabilidad simulada ≈ simulaciones que cumplen el evento / simulaciones totales

Pero vuelvo a insistir en una palabra: simulada.

Ese 4.3% no cae del cielo. Es la consecuencia de tus datos, tus reglas de remuestreo, tu sizing, tu definición de drawdown y los demás supuestos.

Cambias el modelo y puede cambiar el resultado.

Te puede interesar MAE y MFE en trading: qué son, cómo calcularlos y cómo interpretarlos

Los supuestos que se esconden detrás de una simulación Monte Carlo

Aquí es donde un análisis aparentemente sofisticado puede empezar a fallar.

Representatividad de la muestra. Si tus operaciones históricas no representan razonablemente el comportamiento que estás intentando modelar, remuestrearlas miles de veces no resuelve el problema. Solo estás reutilizando muchas veces una base débil.

Dependencia entre operaciones. Un reshuffle sencillo trata las operaciones como si su posición temporal pudiera intercambiarse libremente. Pero algunos sistemas sufren agrupaciones de resultados por régimen, volatilidad, sesión o condiciones de mercado. Si destruyes esa dependencia al barajar los trades, puedes estar eliminando precisamente una parte del riesgo que querías estudiar.

Outliers. Una única ganancia extraordinaria puede influir mucho en una muestra pequeña. Con bootstrap, esa operación puede aparecer varias veces en algunas trayectorias. Esto no es necesariamente un error: puede estar mostrándote que tu resultado depende demasiado de unas pocas observaciones.

Cambios en el tamaño de posición. Si las reglas de sizing reaccionan al equity, al drawdown, a la volatilidad o a resultados anteriores, el camino recorrido puede afectar también al tamaño de operaciones posteriores. En ese caso ya no basta con pensar en el Monte Carlo como “barajar una lista”.

Este tipo de detalles es precisamente por lo que no me interesa utilizar Monte Carlo como decoración cuantitativa. Una simulación con miles de curvas no es automáticamente rigurosa.

Te puede interesar Cómo saber si un backtest es bueno y cuándo puedes confiar en sus resultados

Más simulaciones no arreglan una muestra mala

Es fácil caer en esta trampa:

“Con 100,000 simulaciones debe ser mucho más fiable que con 1,000.”

Solo en parte.

Aumentar las iteraciones puede reducir el ruido numérico de la propia simulación y estabilizar mejor determinados percentiles. Pero no añade información histórica nueva.

Diez mil simulaciones construidas con 30 operaciones siguen partiendo de 30 operaciones.

No se convierten mágicamente en diez mil observaciones independientes.

Por eso yo no buscaría un número universal de simulaciones. Haría algo más útil: correr el análisis con cantidades crecientes de iteraciones y comprobar si las métricas que realmente me interesan —por ejemplo, el percentil 95 del drawdown— dejan de cambiar materialmente.

Si con 5,000, 20,000 y 50,000 iteraciones obtienes prácticamente la misma estimación, probablemente el error de Monte Carlo debido al número de iteraciones ya no sea tu principal problema.

La siguiente pregunta pasa a ser mucho más incómoda:

¿Puedo confiar en los datos y en el modelo que estoy remuestreando?

Te puede interesar Qué es un plan de trading y qué debe incluir para que de verdad te sirva

Monte Carlo no demuestra que tu sistema tenga edge

Ésta es probablemente la advertencia más importante de toda la lección.

Puedes tener un backtest sobreoptimizado, hacer un Monte Carlo impecable sobre sus operaciones y obtener gráficos espectaculares.

Sigues teniendo un backtest sobreoptimizado.

La simulación no elimina el overfitting. Tampoco crea una ventaja que no existía en los datos originales.

Y no sustituye el walk-forward.

Un Monte Carlo que reordena operaciones históricas te dice qué ocurre con diferentes secuencias si aceptas que esa distribución de operaciones sigue siendo una base razonable para el análisis. No demuestra que el mercado del futuro vaya a producir la misma distribución ni que el edge continúe existiendo.

Éste es también el criterio marcado para esta lección en los documentos internos de la Academia: el objetivo es explorar trayectorias y drawdowns bajo supuestos, no convertir la simulación en una predicción del orden futuro ni en una certificación de que la ventaja permanecerá.

Monte Carlo, sensibilidad, walk-forward y stress testing no responden la misma pregunta

Dentro de este módulo estamos acumulando pruebas distintas porque un sistema puede fallar de formas distintas.

PruebaQué modificamos principalmentePregunta que intenta responder
Análisis de sensibilidadValores cercanos de parámetros¿El resultado depende demasiado de haber elegido exactamente este parámetro?
Walk-Forward AnalysisPeriodos cronológicos de entrenamiento y validación¿El proceso se sostiene cuando avanza el tiempo y trabaja con datos no vistos?
Monte CarloSecuencia, muestra o variables aleatorias según el modelo¿Qué dispersión de trayectorias y riesgos aparece bajo estos supuestos?
Stress testingSupuestos deliberadamente adversos¿Qué ocurre si las condiciones son peores de lo esperado?

Ésta es la diferencia que yo memorizaría.

Monte Carlo introduce incertidumbre probabilística.

El stress testing, que es justamente la siguiente lección, introduce adversidad de forma deliberada.

Pueden parecer parecidos porque ambos generan escenarios diferentes al backtest original, pero la pregunta que estás haciendo no es la misma.

Cómo utilizaría Monte Carlo dentro de la validación de un sistema

Primero necesito un backtest cuya lógica, datos y costes sean suficientemente creíbles. Después quiero evidencia fuera de la muestra y comprobar que los parámetros no se sostienen únicamente en un punto perfecto.

Solo entonces Monte Carlo empieza a tener mucho sentido.

Lo usaría para dejar de pensar en “mi drawdown es X” y empezar a pensar en una distribución: qué drawdowns aparecen, qué rachas son compatibles con mis supuestos, qué zonas de la distribución serían operativamente difíciles y cuánto depende el resultado de unas pocas observaciones.

Si el análisis muestra que una estrategia con expectativa aparentemente razonable puede producir drawdowns incompatibles con el tamaño de posición que estás contemplando, la conclusión no tiene que ser “Monte Carlo dice que la estrategia es mala”.

Puede ser que el sistema y el sizing juntos produzcan un perfil de riesgo que no quieres asumir.

Eso es muy diferente.

Y tampoco intentaría “optimizar el Monte Carlo” hasta que me enseñe el resultado que quiero ver. Estarías utilizando una herramienta diseñada para descubrir incertidumbre con el objetivo de ocultarla.

Cuando quieras pasar de estas pruebas estadísticas a comprobar cómo aplicas las reglas en condiciones de ejecución, puedes hacerlo primero en un entorno demo. Pepperstone es una opción para practicar ese paso sin tener que empezar directamente con capital real. Su documentación oficial confirma que ofrece cuentas demo, aunque una demo no reproduce necesariamente todas las condiciones de ejecución live.

¿Cuándo me preocuparía por un resultado de Monte Carlo?

No existe un percentil, drawdown o probabilidad universal a partir del cual un sistema sea automáticamente aceptable o inaceptable.

Depende del sistema, tamaño de posición, capital, frecuencia, objetivos y restricciones del trader.

Lo que sí me preocuparía es encontrar una gran distancia entre la impresión que transmite el backtest y la distribución generada por Monte Carlo.

Por ejemplo, una curva histórica muy limpia que al remuestrearse produce con frecuencia drawdowns mucho más profundos.

O un resultado total aparentemente excelente que depende de dos o tres operaciones extraordinarias.

O una estimación de riesgo que cambia muchísimo cada vez que modificas ligeramente el método de simulación.

Eso no prueba que el sistema vaya a fallar.

Pero sí te está diciendo que tu estimación de lo que puede ocurrir es mucho más frágil de lo que parecía mirando una única equity curve.

La prueba final de robustez de un sistema combinará este tipo de evidencia con otras pruebas. Aquí no necesitamos adelantar esa lección. Monte Carlo es una pieza del diagnóstico, no el diagnóstico completo.

Tres preguntas frecuentes sobre Monte Carlo en trading

¿Una simulación Monte Carlo puede predecir mi rentabilidad futura?

No.

Puede estimar cómo se distribuyen determinados resultados bajo los datos y supuestos elegidos. Si cambia la ventaja, el mercado, la ejecución o cualquier variable importante que el modelo no representa, la distribución futura puede ser distinta.

¿Es mejor un Monte Carlo de 100,000 simulaciones que uno de 10,000?

No necesariamente.

Más iteraciones pueden mejorar la estabilidad numérica, especialmente en las colas de la distribución, pero no corrigen una muestra pequeña, sesgada o poco representativa.

Prefiero 10,000 simulaciones de un modelo razonable a 1,000,000 de un modelo mal planteado.

¿Monte Carlo sirve para saber si un backtest está sobreoptimizado?

Puede descubrir fragilidad y ayudarte a detectar dependencias incómodas, pero no es una prueba suficiente de sobreoptimización.

Para ese problema debes combinarlo con controles específicos de overfitting, validación fuera de muestra, sensibilidad de parámetros y pruebas temporales.

La idea que debes llevarte antes de seguir

Un backtest produce una trayectoria.

Monte Carlo te obliga a aceptar que esa trayectoria no era la única que podía producir tu conjunto de supuestos.

Ésa es toda la potencia del método.

No necesitas utilizarlo para fabricar una predicción más sofisticada del futuro. Necesitas utilizarlo para ser menos ingenuo respecto al pasado.

Si tu backtest tuvo un drawdown del 10%, no preguntes únicamente si ese número te parece soportable. Pregunta qué ocurre con el drawdown cuando la secuencia cambia, cuánto dependen las conclusiones de la muestra y qué parte del resultado desaparece cuando dejas de tratar el histórico como si fuera un destino inevitable.

Ahora ya podemos hacer una pregunta diferente. En Monte Carlo dejamos actuar al azar dentro de un modelo. En la siguiente lección vamos a empeorar deliberadamente algunos supuestos para comprobar qué tanto aguanta el sistema.

Sigue con Stress Testing y análisis de escenarios.

Y si quieres ir preparando un entorno demo para la fase de ejecución y forward testing, puedes revisar Pepperstone y consultar la promoción disponible mediante nuestro enlace. Antes de utilizar capital real, revisa siempre la entidad que te presta el servicio, los productos disponibles para tu residencia, costes y condiciones aplicables.

Esta lección ha sido elaborada por Javier Borja