¿Qué es la simulación de Monte Carlo? (también escrito Montecarlo)

La simulación de Monte Carlo, es una técnica cuantitativa que hace uso de la estadística y los ordenadores para imitar, mediante modelos matemáticos, el comportamiento aleatorio de sistemas reales no dinámicos (por lo general, cuando se trata de sistemas cuyo estado va cambiando con el paso del tiempo, se recurre bien a la simulación de eventos discretos o bien a la simulación de sistemas continuos).
La clave de la simulación MC consiste en crear un modelo matemático del sistema, proceso o actividad que se quiere analizar,identificando aquellas variables (inputs del modelo) cuyo comportamiento aleatorio determina el comportamiento global del sistema. Una vez identificados dichos inputs o variables aleatorias, se lleva a cabo un experimento consistente en (1) generar – con ayuda del  ordenador- muestras aleatorias (valores concretos) para dichos inputs, y (2) analizar el comportamiento del sistema ante los valores generados. Tras repetir n veces este experimento, dispondremos de n observaciones sobre el comportamiento del sistema, lo cual nos será de utilidad para entender el funcionamiento del mismo –obviamente, nuestro análisis será tanto más preciso cuanto mayor sea el número n de experimentos que llevemos a cabo.

Todo método de simulación pretende comprender el comportamiento de la realidad en base al estudio de un modelo simplificado que represente el comportamiento de la parcela objeto de estudio. El método Monte Carlo de simulación permite estudiar el comportamiento de las variables de salida del modelo en base a dar valores a las variables de entrada, teniendo en cuenta sus distribuciones de probabilidad.  Cuanto mayor sea el número de iteraciones más estables serán los valores obtenidos.

Mejor 10.000 iteraciones que 1.000, y aun mejor un millón. Por tanto, se precisa de un ordenador que realice los cálculos, y en este sentido Excel es una magnífica herramienta.

Orígenes del Método de la Simulación de Montecarlo

Muchas son las leyendas acerca del origen de la simulación de Montecarlo y de cómo se les ocurrió la idea a los que desarrollaron este método. La invención del método de Montecarlo se asigna a Stanislaw Ulam y a John von Neumann. Ulam ha explicado cómo se le ocurrió la idea mientras jugaba un solitario durante una enfermedad en 1946. Advirtió que resulta mucho más simple tener una idea del resultado general del solitario haciendo pruebas múltiples con las cartas y contando las proporciones de los resultados que computar todas las posibilidades de combinación formalmente. Se le ocurrió que esta misma observación debía aplicarse a su trabajo de Los Álamos sobre difusión de neutrones, para la cual resulta prácticamente imposible solucionar las ecuaciones íntegro-diferenciales que gobiernan la dispersión, la absorción y la fisión. “La idea consistía en probar con experimentos mentales las miles de posibilidades, y en cada etapa, determinar por casualidad, por un número aleatorio distribuido según las probabilidades, qué sucedería y totalizar todas las posibilidades y tener una idea de la conducta del proceso físico”.

Podían utilizarse máquinas de computación, que comenzaban a estar disponibles, para efectuar las pruebas numéricas y en efecto reemplazar el aparato experimental del físico. Durante una de las visitas de von Neumann a Los Álamos en 1946, Ulam le mencionó el método. Después de cierto escepticismo inicial, von Neumann se entusiasmó con la idea y pronto comenzó a desarrollar sus posibilidades en un procedimiento sistemático. Ulam expresó que Monte Carlo “comenzó a tener forma concreta y empezó a desarrollarse con todas sus fallas de teoría rudimentaria después de que se lo propuse a Johnny”.

A principios de 1947 Von Neumann envió una carta a Richtmyer a Los Álamos en la que expuso de modo influyente tal vez el primer informe por escrito del método de Monte Carlo. Su carta fue encuadernada junto con la respuesta de Richtmyer como un informe de Los Álamos y distribuida entre los miembros del laboratorio. Von Neumann sugería aplicar el método para rastrear la generación isótropa de neutrones desde una composición variable de material activo a lo largo del radio de una esfera. Sostenía que el problema era adecuado para el ENIAC y estimaba que llevaría 5 horas calcular la acción de 100 neutrones a través de un curso de 100 colisiones cada uno.

Ulam estaba particularmente interesado en el método Monte Carlo para evaluar integrales múltiples. Una de las primeras aplicaciones de este método a un problema determinista fue llevada a cabo en 1948 por Enrico Fermi, Ulam y von Neumann cuando consideraron los valores singulares de la ecuación de Schrödinger.

La simulación de Montecarlo aplicado al trading

ejemplo de generación montecarlo
ejemplo de generación montecarlo

Vaya por delante una cosa: Una simulación de Montecarlo bien hecha siempre es mejor que estimar el riesgo partiendo de resultados pasados (me da lo mismo que sean de backtest o de operativa real). El motivo es que el rendimiento futuro de un sistema depende de su capacidad para adaptarse a unas formaciones de precios que, esencialmente, siguen un camino errático y difícil de predecir. Por ello, realizar simulaciones del rendimiento mediante la generación de números aleatorios, ofrece una prueba adicional de robustez.

El proceso de cómputo toma como base la desviación típica y la media de la secuencia histórica para simular cientos o miles de posibles caminos aleatorios que podría haber tomado la secuencia P/L del sistema o cartera. Normalmente, se muestra un histograma de rentabilidades como resultado de la simulación. Hecho esto, se calcula el valor medio del percentil del 5% y del 1% para mostrar el valor del rendimiento adverso al 95% y 99% de confianza respectivamente.

Position Sizing con la simulación de Monte Carlo

¿Necesitas saber cuanto arriesgar en tu siguiente operación de trading? Ahora con todo lo mencionado puedes hacerlo a través de esta técnica.

La simulación de Monte Carlo es una manera de tener en cuenta la aleatoriedad en un parámetro del trading – en este caso, la secuencia de las operaciones. El orden en que las pérdidas y ganancias se determina la disposición de fondos y por lo tanto el riesgo de pérdida . Este orden es aleatorio, y por lo tanto, también lo es el riesgo de pérdida.

En las simulaciones de Monte Carlo, la idea básica es tomar una secuencia de las operaciones generadas por un sistema de trading, aleatorizar el orden de las operaciones, y calcular Rate of Return o  y la reducción máxima (MDD – Maximum Drawdown) , suponiendo que “x” porcentaje de la cuenta destinada al trading se arriesgó en cada operación .

El proceso se repite varios cientos de veces (dependiendo de lo que queramos profundizar en los mismos informes), cada vez usando una secuencia aleatoria diferente de los resultados obtenidos e incluso se puede dependiendo del software o sistema de Monte Carlo usado que se salte un porcentaje de estos muestreos.

A continuación, puede plantear una pregunta como:

Si el 5% de la cuenta se arriesgó en cada comercio, ¿cuál es la probabilidad de que la reducción máxima será inferior al 25%?

  • Si se simulan 1.000 secuencias aleatorias de operaciones con un riesgo del 5%, por ejemplo
  • y 940 de ellos tienen detracciones máximas de menos de 25%
  • entonces se podría decir que la probabilidad de lograr una reducción máxima de menos de 25% es del 94% (940 / 1000).

En definitiva, como vamos descubriendo en nuestra escuela de trading, debemos siempre tener ciertos aspectos bien cubiertos si queremos llegar a buen puerto.