Anterior: «
Siguiente: »

 

La simulación de Montecarlo y los sistemas automáticos de trading

30 de Nov de 2010

Funcionamiento de las Simulaciones de Montecarlo, aplicadas a los resultados de las inversiones en los mercados financieros en general, y a los resultados y estadisticas de los Sistemas Automáticos de Trading de Futuros, en particular.  Significado, interpretación y utilidad  de éstos análasis de Montecarlo.

¿Que son las Simulaciones de Montecarlo?

Es habitual oir hablar de las Simulaciones de Montecarlo, especialmente cuando se habla del análisis de los resultados de los sistemas automáticos de tradin de futuros. Pero, ¿en que consiste realmente este tipo de Simulación de Montecarlo?

Partiremos de lista o serie de operaciones históricas anteriores, y queremos saber si la técnica de trading de dicho sistema utilizado,  producirá en el futuro, resultados semejantes, si las cosas funcionaran como hasta el momento. La secuencia de operaciones históricas contienen dos datos claves para  éxito o fracaso de nuestro sistema. Por una parte tenemos el resultado final y por otro el drawdown o riesgo máximo asumido.

La pregunta que siempre nos hacemos cuando nos encontramos ante un sistema de trading nuevo,  es la de si en el futuro conseguiremos los mismos resultados ó similares a los que nos muestra la estadística actualmente. Eso es realmente complicado, en circunstancias normales de explotación real de un sistema, no digamos en el caso de que los resultados sean fruto de una sobreoptimización de nuestro sistema.

Cuando nosotros utilizamos un sistema o método de trading, seleccionándolo en función de las estadísticas del mismo, nuestra intención es que en el futuro el sistema se comporte de manera similar. Pero ello no quiere decir que lo esperamos es la misma secuencia de operaciones. Simplemente esperamos que, a largo plazo, los estadísticos más representativos del sistema (% acierto, ganancia media por operación, ratio ganadoras / perdedoras, etc…) sean lo más parecidos posibles a los datos históricos.  Efectivamente, dirá usted, demasiado fácil para ser cierto.

No obstante, e incluso aunque nuestro sistema de trading produzca resultados que son estadísticamente similares a los históricos, los resultados futuros no serán exactamente iguales a los históricos, ni en magnitud ni en orden de ocurrencia de las ganancias y las pérdidas, y por lo tanto, nuestra secuencia de operaciones será otra bien distinta.

Graficas de simulaciones de montecarlo aplicadas a sistema automaticos de trading sobre futuro dax, sistema DC id 2152

Graficas de simulaciones de montecarlo aplicadas a sistema automaticos de trading sobre futuro dax, sistema DC id 2152


¿Como se calculan las Simulaciones de Montecarlo?

Una manera de conseguir previamente posibles resultados estadísticos futuros, en la línea de los datos históricos anteriores, es el de generar secuencias de operaciones de manera aleatoria, cada cual con su respectivo resultado final y drawdown. Esto es, calculamos las Simulaciones de Montecarlo.

Para entenderlo más fácilmente, supongamos un sistema que realiza 100 operaciones. Tomamos el resultado de la primera operación y lo anotamos en una bolita y lo introducimos en un saco. Hacemos lo mismo con las 99 operaciones restantes. Ahora tendremos 100 bolas, cada una con el resultado de cada una de las operaciones de nuestra secuencia histórica. A continuación tenemos que obtener secuencias aleatorias de esas 100 operaciones. Sacamos una bola, anotamos la ganancia o pérdida que muestra y la volvemos a meter en el saco. Repetimos la extracción 100 veces. De esta manera habremos conseguido una secuencia de 100 operaciones de manera aleatoria. Volvemos a repetir el proceso de extracción de las 100 bolas durante un número significativo de iteraciones. Normalmente se realizan varios miles de iteraciones, con lo que conseguimos igualmente varios miles de secuencias aleatorias distintas de nuestras operaciones históricas. Con lo cual, tenemos miles deresultados finales y drawdown distintos. Ya podemos por lo tanto crear una distribución de probabilidad de nuestro resultado final y de nuestro drawdown. Ya hemos utilizado las simulaciones de Montecarlo aplicadas a nuestro método ó sistema de trading.

Normalmente, tendremos mejores cosas que hacer que realizar 10000 extracciones aleatorias de 100 operaciones cada una, por lo que habitualmente las simulaciones de Montecarlo no se hacen manualmente, sino que se utilizan herramientas informáticas que facilitan mucho su cálculo.

¿Para qué podemos usar las Simulaciones de Montecarlo?

Las Simulaciones de Montecarlo, nos permiten estimar posibles respuestas, a algunas de las preguntas más interesantes que nos podemos hacer,  cuando invertimos con sistemas automáticos de trading de futuros, como por ejemplo:

¿Cuál sería el resultado futuro esperado para un sistema de trading, del que disponemos una lista de operaciones históricas anteriores?

¿Qué probabilidad existe en el futuro, de que los resultados de un sistema de trading sufran unos determinados niveles de drawdown?

¿Cuánto capital se necesita realmente para poder operar con un determinado sistema de trading?

¿Hasta que nivel de retroceso en el saldo de nuestra cartera de inversión con sistemas de trading,  debemos aguantar, sin que debamos ponernos nerviosos?

¿Que racha de serie negativa consecutiva máxima  podemos esperar en nuestro sistema de trading?

¿Que probabilidad se estima para la duración de tiémpo del sistema automático de trading en drawdown?

Pues bien, las Simulaciones de Montecarlo intentan dar respuesstas a todas esas importantes preguntas.

Normalmente, por ejemplo, cuando vamos a operar con sistemas automáticos de trading de futuros, primero aplicamos un código bien elaborado a un gráfico de un mercado determinado, vemos los resultados que el sistema de trading produce en un periodo anterior optimizado y finalmente comenzamos a aplicarlo ya en mercado real, esperando ser ricos en cuestión de meses. Sin embargo, cuando comienzan a llegar las rachas malas, y comenzamos a perder dinero en alguna serie mala del sistema, terminamos por desconfiar del mismo.  ¿Qué es lo que ha fallado? Si en mi optimización o en mis datos anteriores, me salía que la racha de pérdidas máxima era de 5000 €  ¿por qué me encuentro con una racha negativa mayor?. Todos hemos pasado alguna vez por estas etapas, ya que nadie tiene conocimientos innatos y hemos de ir aprendiendo con el tiempo, sobre todo de nuestros errores.

La Simulación de Montecarlo aplicada a los resultados históricos de un sistema automático de trading de futuros, nos aportará una información algo más precisa de futuros riesgos y beneficios potenciales, que podemos esperar al invertir en los mercados de futuros, con dichos sistemas de trading.  Podemos estimar con más realismo, las necesidades de capital para aplicar un determinado sistema o cartera de sistemas de trading, etc…

Claro está, que dichas Simulaciones de Montecarlo, como cualquier otra herramienta de análisis de sistemas de trading, no son la panacea. Los análisis de las Simulaciones de Montecarlo, no nos hace ganar dinero por sí solas,  y hemos de entenderla como una parte más de nuestro análisis de sistemas de trading, para realizar estimaciones más acertadas. Supone una parte importante, pero no la única. Una vez concluidos nuestros análisis de Montecarlo podremos tener una visión más realista de lo que podemos esperar (tanto en lo positivo como en lo negativo) de nuestro sistema automático de trading.

El siguiente artículo sobre estos análisis de Montecarlo nos centraremos en la aplicación de las Simulaciones de Montecarlo a los resultados un sistema automático de trading de futuros concreto, explicando en detalle, la información que dicho análisis nos proporciona. Así mismo, veremos los “posibles defectos” que pudiera tener sacar conclusiones de la Simulación de Montecarlo,  e intentaremos buscar la forma de evitarlos, para que la información que obtenemos sea lo más precisa y realista posible, y mejorar nuestras opciones de éxito, en esta modalidad de inversión con sistemas automáticos de trading de futuros.



Tags: ,