Cómo aplicar el método de Montecarlo en trading: Ejemplos

metodo de montecarlo portadaComo continuación de la entrada de introducción al método de Montecarlo ( si, si, sigue la saga y puedes leer la primera entrada aquí ), ahora vamos a realizar unos ejemplos sencillos sobre cómo aplicar Montecarlo para probar nuestro sistema de trading. Primero realizando una simulación con una hoja de cálculo y después con un software específico para Monte Carlo.


Simulación de Montecarlo en Excel

Como comentamos en el post de introducción, una de las maneras de realizar una simulación de Montecarlo es aleatorizar el orden de las operaciones ( cambiaremos el orden de las operaciones al azar).
Para esto podemos realizar una simulación sencilla utilizando una hoja de cálculo.

Nota: Los números generados por ordenador se consideran números pseudo-aleatorios.
Este es un ejemplo sencillo. Hay varias maneras de implementar la simulación, esto es sólo un simple ejercicio con la finalidad de comprender el método.

Ahora vamos a hacer un paso a paso para realizar una simulación de Montecarlo utilizando una hoja de cálculo. Allá vamos:

  1. Comienza con los datos de nuestra muestra. Como estamos hablando de operaciones en bolsa, puedes por ejemplo hacer una lista con los resultados de las operaciones del backtest.
    En este caso tengo un sistema de trading que en simulado ha generado estos resultados:operaciones montecarlo
  2. Asigna los resultados a rangos. Crea grupos de resultados y atribuye cada resultado a su grupo correspondiente.
    En LibreOffice se realiza con: Funciones→Categoría Matriz → Frecuencia.
    Siguiendo con el ejemplo anterior, sólo hay una operación con una pérdida mayor a -600, 3 operaciones con resultados entre -300 y -200 y así consecutivamente hasta distribuir toda la muestra.probabilidad de frecuencia
  3. Calcula la frecuencia relativa o probabilidad con que se da cada rango ( Frecuencia/Nº Total de operaciones).
    También calcula las frecuencias acumuladas.
    A partir de estas frecuencias acumuladas puedes obtener los intervalos de números aleatorios asociados a cada operación.
  4. Ahora cambia el orden de las operaciones al azar→ buscamos generar secuencias aleatorias de operaciones. Para esto utiliza la función BUSCARV donde seleccionamos como criterio de búsqueda ALEATORIO() y la matriz de correspondencia entre los grupos y los intervalos ( entre 0 y 0.9999…).
    montecarlo excel
    Simulación de Montecarlo en una hoja de cálculo

    Cada número aleatorio estará vinculado a un rango cuya probabilidad sea menor o igual al número aleatorio obtenido. Así si por ejemplo el número generado es el 0,35 esto corresponderá con el rango de 100.

  5. A partir de las secuencias de operaciones, puedes dibujar las distintas curvas de beneficios (o las curvas de capital si añades tuequity inicial).
    simulacion excel montecarlo
    Curvas de beneficio de las simulaciones de ejemplo

    Como puedes ver en este ejemplo al poner aleatorio el orden de las operaciones las curvas de capital arrojan resultados diferentes.

  6. Tomando como base estas curvas puedes calcular la esperanza del sistema de trading , la dispersión de los resultados, el nivel drawdown máximo que puede esperar, y cualquier otro ratio que necesites.

TIP: si pulsas F9 se recalcularán nuevas curvas de capital que dependan del valor ALEATORIO().


Aquí evidentemente no tenemos el número de simulaciones necesarias para poder extraer conclusiones, se trata mas bien de un ejemplo para captar un poco el método. Normalmente cuando realizamos un análisis con Montecarlo contamos con 500 o 2.000 simulaciones, lo que nos da 2.000 curvas de capital. Para realizar este número de simulaciones es mucho más práctico utilizar un software específico para el método de Montecarlo.

Como realizar un análisis de Montecarlo con Equity Monaco

Si no queremos realizar todas las simulaciones a mano y poniendo fórmulas en el Excel podemos utilizar un software que nos haga la vida más fácil como puede ser Market System Analyser (MSA), Goldsim o EM. En este ejemplo lo haremos con Equity Mónaco que además es gratuito ;)

Lo bueno de Equity Mónaco es que está pensado para el trading. Nos da automáticamente varios ratios, pinta las curvas de capital y podemos implementar distintas técnicas de gestión de capital.
Al igual que cuando hacíamos la simulación con una hoja de cálculo este software aleatoriza la secuencia de operaciones, las junta en una equity curve y recalcula los resultados. Beneficio, drawdown, rachas de ganancias y de pérdidas, y nos dibuja las curvas de capital y sus estadísticas.

Mira este video como guía: http://youtu.be/GseuHy5JD1A

Como datos de entrada necesitas los resultados de las operaciones en un fichero txt. Para esto puedes pegar las operaciones en el bloc de notas de Windows. El simulador partirá de estos resultados para modificar aleatoriamente su orden. ¿Cuántas veces? Tantas veces como queramos y configuremos en las preferencias. Las simulaciones dan como resultado múltiples curvas de capital con sus ratios ( Profit, Max DD, Rchas de pérdidas y rachas de ganancia,etc).

gráficos análisis montecarlo
Graficos de la simulación de Montecarlo con Equity Mónaco: drawdown%, curvas de capital y distribución.

 

Si quieres probar Equity Mónaco te puedes descargar el programa aquí: http://www.tickquest.com/?page_id=70
Este programa viene  asociado con NeoTicker pero como se ve en el video lo puedes usar de manera independiente.

 

Nota2: Recuerda que como comentamos en el post de introducción al método de Montecarlo, simular secuencias de operaciones, con sus curvas de capital, se basa en la presunción que las operaciones son independientes y su orden no está relacionado entre sí.


Si este artículo te ha resultado útil, entonces por favor compártelo en tus redes sociales ( como te ha resultado útil a ti quizás también sea útil para alguien más) . También te puedes suscribir a las entradas del blog para recibir las actualizaciones en tu correo.
Pronto seguiremos investigando un poco más sobre Montecarlo y cómo utilizar este método para saber si un sistema ha dejado de funcionar.

Saludos y buen trading!

 

11 comentarios en «Cómo aplicar el método de Montecarlo en trading: Ejemplos»

  1. Hola!, estaba buscando algún programa para poder realizar simulaciones de Montecarlo y he encontrado este aporte del blog, explicando cómo hacerlas en Excel o con Equity Mónaco. Muchas gracias por compartir estos recursos!

    Responder
  2. Hola gracias por aportar esta información. Muy útil.

    No tengo claro lo siguiente: Montecarlo sirve para desordenar las operaciones de manera que podamos optimizar el capital que vamos a invertir y tengamos en cuenta qué es lo que nos espera del sistema ya que con Montecarlo obtendremos diferentes drawdowns, perdidas consecutivas etc. Si esto es asi, todas las equity line tendrían que terminar con la misma rentabilidad ya que son los mismo inputs siempre, variando únicamente su orden. Sin embargo en equity Monaco aparecen curvas de capital diferentes, es decir beneficios diferentes para cada simulación. ¿es que también Montecarlo estima diferentes posibles beneficios a futuro? ¿cómo lo hace? ¿estima nuevos inputs y de ahí deduce nuevos resultados?

    gracias

    Responder
    • Hola Sersara,
      Montecarlo desordena las operaciones pero esto no significa que siempre utilice las mismas. De los inputs que proporcionas saltea algunas operaciones y otras las utiliza repetidas veces.

      He leído un ejemplo con bolitas que creo que puede ser útil para representar esto: Imagina que tienes 100 operaciones y 100 bolitas, en cada bolita esta apuntado el resultado de cada operación. Y metes todas las bolitas dentro de una bolsa.
      Ahora vas a obtener las secuencias aleatorias: tomas una bolita del saco y apuntas en un papel su resultado. Vuelves a poner la bolita dentro del saco. Tomas la segunda bolita y apuntas su resultado para ir construyendo tu equity line y la metes otra vez dentro del saco. Así durante 100 operaciones que te dará la primera curva de resultados.
      Vuelves a repetir el proceso durante 1000 curvas aleatorias más.
      En cada curva puede haber operaciones que se han repetido o otras que han sido omitidas. Es por eso que las equity lines no terminan en la misma rentabilidad.

      Este remuestreo estadístico también lo encontrarás con el nombre de bootstrapping.

      Un saludo,

      Responder
  3. Fantastico articulo! Una pregunta, soy totalmente nuevo en esto, pero… entiendo que con la simulacion de montecarlo la informacion mas interesante que obtenemos es el intervalo de confianza de probabilidad de lo que queramos analizar en el sistema: beneficions, drodown, rachas perdedoras/ganadoras… pero la esperanza matematica tambien ? como? entiendo que si calculamos la esperanza para cada simulacion, las probabilidades de ganar/perder y el beneficio/perdida media se mantienen, ya que solo hemos aleatorizado el orden, por tanto, la esperanza matematica sera igual en las 2000 simulaciones.

    Una vez tenemos las 2.000 simulaciones (pensaba que tenian que ser 10.000) la distribucion de probabilidades sera en forma de campana de gaus? si las colas salen muy anchas, como se pueden estrechar?

    Espero que tu respuesta me aclare el concepto. Saludos

    Responder
    • Hola Jordi,

      Cada curva tendra una esperanza matemática distinta ya que Montecarlo aleatoriza el orden de las operaciones pero esto no significa que siempre utilice las mismas. De los inputs que proporcionas saltea algunas operaciones y otras las utiliza repetidas veces.

      En un comentario anterior hay un ejemplo que puede servirte para ilustrar esto. Lo copio aquí: «He leído un ejemplo con bolitas que creo que puede ser útil para representar esto: Imagina que tienes 100 operaciones y 100 bolitas, en cada bolita esta apuntado el resultado de cada operación. Y metes todas las bolitas dentro de una bolsa.
      Ahora vas a obtener las secuencias aleatorias: tomas una bolita del saco y apuntas en un papel su resultado. Vuelves a poner la bolita dentro del saco. Tomas la segunda bolita y apuntas su resultado para ir construyendo tu equity line y la metes otra vez dentro del saco. Así durante 100 operaciones que te dará la primera curva de resultados.
      Vuelves a repetir el proceso durante 1000 curvas aleatorias más.
      En cada curva puede haber operaciones que se han repetido o otras que han sido omitidas. Es por eso que las equity lines no terminan en la misma rentabilidad.»

      Luego sobre la cantidad de simulaciones: por lo que de momento sé, no existe una cantidad obligatoria de simulaciones. Pero es interesante mantener una lógica dependiendo de la cantidad de operaciones que contenga tu muestra inicial.

      un saludo,

      Responder
  4. El simulado Monte Carlo es muy importante, se utiliza en muchas actividades; estoy pensando hacer una tesis en proyectos productivo con este modelo, no tengo mucha experiencia, necesito un asesor

    Responder

Deja un comentario

ESTRATEGIAS DE TRADING