Está en la página 1de 12

SIMULLACION DE MONTE CARLO

Qu es el mtodo de Montecarlo?

El mtodo de Montecarlo es un mtodo de simulacin que permite calcular estadsticamente


el valor final de una secuencia de sucesos no deterministas (sujetos a variabilidad), como es el
caso del plazo o el coste de un proyecto. Por la complejidad de esta tarea, esta simulacin se
realiza por computador con alguno de los programas que se detallan al final de este artculo.

En la prctica este anlisis consiste en ejecutar varias veces los diferentes sucesos variando
aleatoriamente su valor en funcin de la funcin estadstica que los define, dando como
resultado un conjunto de valores finales. Este conjunto de valores permite calcular el valor
medio y la variabilidad para el conjunto.

Mtodo de Montecarlo El mtodo de Montecarlo permite resolver problemas matemticos


mediante la simulacin de variables aleatorias. John Von Neumann, en los aos 40 y con los
primeros ordenadores, aplica la simulacin para resolver problemas complejos que no podan
ser resueltos de forma analtica. Montecarlo y su casino estn relacionados con la simulacin.
La ruleta, juego estrella de los casinos, es uno de los aparatos mecnicos ms sencillos que nos
permiten obtener nmeros aleatorios para simular variables aleatorias

Definicin

La simulacin Monte Carlo es una tcnica matemtica computarizada que permite tener en
cuenta el riesgo en anlisis cuantitativos y tomas de decisiones. Esta tcnica es utilizada por
profesionales de campos tan dispares como los de finanzas, gestin de proyectos, energa,
manufacturacin, ingeniera, investigacin y desarrollo, seguros, petrleo y gas, transporte y
medio ambiente.

La simulacin Monte Carlo ofrece a la persona responsable de tomar las decisiones una serie
de posibles resultados, as como la probabilidad de que se produzcan segn las medidas
tomadas. Muestra las posibilidades extremas los resultados de tomar la medida ms
arriesgada y la ms conservadora as como todas las posibles consecuencias de las
decisiones intermedias.

Los cientficos que trabajaron con la bomba atmica utilizaron esta tcnica por primera; y le
dieron el nombre de Monte Carlo, la ciudad turstica de Mnaco conocida por sus casinos.
Desde su introduccin durante la Segunda Guerra Mundial, la simulacin Monte Carlo se ha
utilizado para modelar diferentes sistemas fsicos y conceptuales

INPORTANCIA DE MONTE CARLO

La importancia actual del mtodo Montecarlo se basa en la existencia de problemas que


tienen difcil solucin por mtodos exclusivamente analticos o numricos, pero que dependen
de factores aleatorios o se pueden asociar a un modelo probabilstica artificial (resolucin de
integrales de muchas variables, minimizacin de funciones, etc.).
CMO FUNCIONA LA SIMULACIN MONTE CARLO

La simulacin Monte Carlo realiza el anlisis de riesgo con la creacin de modelos de posibles
resultados mediante la sustitucin de un rango de valores una distribucin de
probabilidad para cualquier factor con incertidumbre inherente. Luego, calcula los
resultados una y otra vez, cada vez usando un grupo diferente de valores aleatorios de las
funciones de probabilidad. Dependiendo del nmero de incertidumbres y de los rangos
especificados, para completar una simulacin Monte Carlo puede ser necesario realizar miles o
decenas de miles de reclculos. La simulacin Monte Carlo produce distribuciones de valores
de los resultados posibles.

El anlisis de riesgo se puede realizar cualitativa y cuantitativamente. El anlisis de riesgo


cualitativo generalmente incluye la evaluacin instintiva o por corazonada de una situacin,
y se caracteriza por afirmaciones como Eso parece muy arriesgado o Probablemente
obtendremos buenos resultados. El anlisis de riesgo cuantitativo trata de asignar valores
numricos a los riesgos, utilizando datos empricos o cuantificando evaluaciones cualitativas.
Vamos a concentrarnos en el anlisis de riesgo cuantitativo.

Mediante el uso de distribuciones de probabilidad, las variables pueden generar diferentes


probabilidades de que se produzcan diferentes resultados. Las distribuciones de probabilidad
son una forma mucho ms realista de describir la incertidumbre en las variables de un anlisis
de riesgo. Las distribuciones de probabilidad ms comunes son:

Normal O curva de campana. El usuario simplemente define la media o valor esperado y


una desviacin estndar para describir la variacin con respecto a la media. Los valores
intermedios cercanos a la media tienen mayor probabilidad de producirse. Es una distribucin
simtrica y describe muchos fenmenos naturales, como puede ser la estatura de una
poblacin. Ejemplos de variables que se pueden describir con distribuciones normales son los
ndices de inflacin y los precios de la energa.

Lognormal Los valores muestran una clara desviacin; no son simtricos como en la
distribucin normal. Se utiliza para representar valores que no bajan por debajo del cero, pero
tienen un potencial positivo ilimitado. Ejemplos de variables descritas por la distribucin
lognormal son los valores de las propiedades inmobiliarias y bienes races, los precios de las
acciones de bolsa y las reservas de petrleo.

Uniform Todos los valores tienen las mismas probabilidades de producirse; el usuario slo
tiene que definir el mnimo y el mximo. Ejemplos de variables que se distribuyen de forma
uniforme son los costos de manufacturacin o los ingresos por las ventas futuras de un nuevo
producto.

Triangular El usuario define los valores mnimo, ms probable y mximo. Los valores
situados alrededor del valor ms probable tienen ms probabilidades de producirse. Las
variables que se pueden describir con una distribucin triangular son el historial de ventas
pasadas por unidad de tiempo y los niveles de inventario.

PERT El usuario define los valores mnimo, ms probable y mximo, como en la distribucin
triangular. Los valores situados alrededor del ms probable tienen ms probabilidades de
producirse. Sin embargo, los valores situados entre el ms probable y los extremos tienen ms
probabilidades de producirse que en la distribucin triangular; es decir, los extremos no tienen
tanto peso. Un ejemplo de uso de la distribucin PERT es la descripcin de la duracin de una
tarea en un modelo de gestin de un proyecto.

Discrete El usuario define los valores especficos que pueden ocurrir y la probabilidad de cada
uno. Un ejemplo podra ser los resultados de una demanda legal: 20% de posibilidades de
obtener un veredicto positivo, 30% de posibilidades de obtener un veredicto negativo, 40% de
posibilidades de llegar a un acuerdo, y 10% de posibilidades de que se repita el juicio.

Durante una simulacin Monte Carlo, los valores se muestrean aleatoriamente a partir
de las distribuciones de probabilidad introducidas. Cada grupo de muestras se
denomina iteracin, y el resultado correspondiente de esa muestra queda
registrado. La simulacin Monte Carlo realiza esta operacin cientos o miles de veces,
y el resultado es una distribucin de probabilidad de posibles resultados. De esta
forma, la simulacin Monte Carlo proporciona una visin mucho ms completa de lo
que puede suceder. Indica no slo lo que puede suceder, sino la probabilidad de que
suceda.

CMO REALIZAMOS EL MTODO DE MONTECARLO?

Debido al tamao y complejidad de los proyectos que justifican el uso de este anlisis, en los
pequeos no se usa, este se realiza mediante computador, siendo totalmente inviable hacerlo
a mano. De todas formas es recomendable entender el mtodo de clculo que hay detrs de
estos programas de simulacin.

CMO REALIZAMOS EL MTODO DE MONTECARLO?

Debido al tamao y complejidad de los proyectos que justifican el uso de este anlisis, en los
pequeos no se usa, este se realiza mediante computador, siendo totalmente inviable hacerlo
a mano. De todas formas es recomendable entender el mtodo de clculo que hay detrs de
estos programas de simulacin.

Podemos interpretar la frecuencia relativa como la probabilidad de que ocurra el suceso


asociado, en este caso, la probabilidad de un determinado nmero de consultas (as, p.e., la
probabilidad de que se den 3 consultas en un da sera de 0,30), por lo que la tabla anterior nos
proporciona la distribucin de probabilidad asociada a una variable aleatoria discreta (la
variable aleatoria es el nmero de consultas al EIS, que slo puede tomar valores enteros entre
0 y 5).

Supongamos que queremos conocer el nmero esperado (o medio) de consultas por da. La
respuesta a esta pregunta es fcil si recurrimos a la teora de la probabilidad: Denotando por X
a la variable aleatoria que representa el nmero diario de consultas al EIS, sabemos que:

Por otra parte, tambin podemos usar simulacin de Monte Carlo para estimar el nmero
esperado de consultas diarias (en este caso se ha podido obtener el valor exacto usando teora
de probabilidad, pero ello no siempre ser factible). Veamos cmo:
Cuando se conozca la distribucin de probabilidad asociada a una variable aleatoria discreta,
ser posible usar la columna de frecuencias relativas acumuladas para obtener los llamados
intervalos de nmeros aleatorios asociados a cada suceso.

En este caso, los intervalos obtenidos son:

[0,00 , 0,05) para el suceso 0

[0,05 , 0,15) para el suceso 1

[0,15 , 0,35) para el suceso 2

[0,35 , 0,65) para el suceso 3

[0,65 , 0,85) para el suceso 4

[0,85 , 1,00) para el suceso 5

El grfico siguiente nos muestra cada una de las probabilidades sobre el nmero de consultas.
En l, se aprecia claramente la relacin existente entre probabilidad de cada suceso y el rea
que ste ocupa.

Esto significa que, al generar un nmero pseudo-aleatorio con el ordenador (proveniente de


una distribucin uniforme entre 0 y 1), estaremos llevando a cabo un experimento cuyo
resultado, obtenido de forma aleatoria y segn la distribucin de probabilidad anterior, estar
asociado a un suceso. As por ejemplo, si el ordenador nos proporciona el nmero pseudo-
aleatorio 0,2567, podremos suponer que ese da se han producido 2 consultas al EIS.

Asignamos pues la funcin ALEATORIO a una casilla (la G1 en el caso de la imagen):

Seleccionando la celda y arrastrando con el ratn desde el borde inferior derecho de la


misma podemos obtener un listado completo de nmeros pseudo-aleatorios:
A continuacin, podemos usar la funcin SI de Excel para asignar un suceso a cada uno de los
nmeros pseudo-aleatorios generados (como veremos, otra forma de hacer esta asignacin
ser usando la funcin BUSCARV):

Repitiendo el proceso de seleccionar y arrastrar obtendremos algo similar a:

Finalmente, usando la funcin PROMEDIO ser posible calcular la media de los valores de la
columna H:

En este caso, hemos obtenido un valor estimado que corresponde exactamente con el valor
real anteriormente calculado va la definicin terica de la media. Sin embargo, debido a la
componente aleatoria intrnseca al modelo, normalmente obtendremos valores cercanos al
valor real, siendo dichos valores diferentes unos de otros (cada simulacin proporcionar sus
propios resultados). Se puede comprobar este hecho pulsando repetidamente sobre la funcin
F9 (cada vez que se pulsa dicha tecla, Excel genera nuevos valores aleatorios y, por tanto,
nuevos valores para la columna H y la casilla I1). Si en lugar de usar una muestra aleatoria
formada por 100 observaciones hubisemos usado una formada por 10, los valores que
obtendramos al pulsar repetidamente F9 no seran estimaciones tan buenas al valor real. Por
el contrario, es de esperar que si hubisemos usado 1.000 (o mejor an 10.000) observaciones,
los valores que obtendramos en la casilla I1 estaran todos muy cercanos al valor real.

Casos prcticos con software

Monte Carlo con variables discretas

Veamos un ejemplo algo ms complejo del uso de Excel para construir modelos de simulacin
Monte Carlo cuando las variables aleatorias sean discretas:

Supongamos que trabajamos en un gran almacn informtico, y que nos piden consejo para
decidir sobre el nmero de licencias de un determinado sistema operativo que conviene
adquirir las licencias se suministrarn con los ordenadores que se vendan durante el prximo
trimestre, y es lgico pensar que en pocos meses habr un nuevo sistema operativo en el
mercado de caractersticas superiores. Cada licencia de sistema operativo le cuesta al almacn
un total de 75 Euros, mientras que el precio al que la vende es de 100 Euros. Cuando salga al
mercado la nueva versin del sistema operativo, el almacn podr devolver al distribuidor las
licencias sobrantes, obteniendo a cambio un total del 25 Euros por cada una. Basndose en los
datos histricos de los ltimos meses, los responsables del almacn han sido capaces de
determinar la siguiente distribucin de probabilidades por lo que a las ventas de licencias del
nuevo sistema operativo se refiere:

Construimos nuestro modelo usando las frmulas que se muestran en la figura inferior. En la
casilla H2 usaremos la funcin ALEATORIO para generar el valor pseudo-aleatorio que
determinar el suceso resultante; en la celda I2 usamos la funcin BUSCARV para determinar
el suceso correspondiente asociado al valor pseudo-aleatorio obtenido notar que usamos
tambin la funcin MIN, ya que en ningn caso podremos vender ms licencias que las
disponibles. El resto de frmulas son bastante claras:

En la imagen anterior se muestra cmo construir el modelo con una observacin (iteracin). A
fin de generar nuevas observaciones, deberemos seleccionar el rango H2:N2 y "arrastrar" hacia
abajo (tantas casillas como iteraciones deseemos realizar):
Finalmente, es posible estimar el valor esperado de la variable aleatoria que proporciona los
beneficios sin ms que hallar la media de las 100 observaciones que acabamos de realizar.
Asimismo, usaremos las funciones DESVEST e INTERVALO.CONFIANZA para hallar,
respectivamente, la desviacin estndar de la muestra obtenida y el intervalo de confianza (a
un nivel del 95%) para el valor esperado:

A partir del modelo anterior es posible tambin realizar what-if anlisis (anlisis de
escenarios o preguntas del tipo qu pasara si cambiamos tal o cual input?). Para ello es
suficiente con ir cambiando los valores de las celdas con fondo amarillo o rojo (inputs del
modelo en este ejemplo). Asimismo, podemos ampliar fcilmente el nmero de iteraciones
(observaciones muestrales) sin ms que repetir los procesos de seleccionar y arrastrar.

En el caso actual, hemos optado por tomar 1.000 iteraciones para cada una de los posibles
inputs asociados a la cantidad de pedido (estos posibles inputs son: 100, 150, 200, 250, y 300).
Si se realizase el experimento, se obtendran unos resultados similares a los que se muestran a
continuacin (ya que 1.000 es un nmero ya bastante considerable para este ejemplo):

A partir de los resultados, parece claro que la decisin ptima es hacer un pedido de 150
unidades, ya que con ello se consigue el beneficio mximo.

Generacin de nmeros aleatorios provenientes de otras distribuciones

Las ltimas versiones de Excel incorporan un Add-In llamado Anlisis de datos. Este
complemento proporciona nuevas funcionalidades estadsticas a la hoja de clculo. Entre ellas,
nos interesa destacar la de Generacin de nmeros aleatorios:
Con esta opcin, es posible generar fcilmente observaciones provenientes de diversas
distribuciones de variable discreta (Bernoulli, Binomial, Poisson, Frecuencia relativa, y Discreta)
o de variable continua (Uniforme y Normal). Independientemente del complemento Anlisis
de datos, es posible usar un resultado muy conocido de la teora estadstica, llamado mtodo
de la transformada inversa, para derivar las frmulas que permiten obtener valores pseudo-
aleatorios provenientes de distribuciones como la Weibull o la Lognormal. En la tabla siguiente
se muestran algunas frmulas que, implementadas en celdas de Excel, nos permiten obtener
valores pseudo-aleatorios de algunas de las distribuciones continuas ms usadas:

metros Frmula Excel

ia = b = -LN(ALEATORIO())*b

la = b
= b*(-LN(ALEATORIO())^(1/a)
ma = a

ia = Desv.
= DISTR.NORM.INV(ALEATORIO(),,)
ndar =

ia de Ln(X) =
= DISTR.LOG.INV(ALEATORIO(),,)
. Estndar de Ln(X) =

emo inferior = a
= a+(b-a)*ALEATORIO()
emo superior = b

Aadir, finalmente, que es relativamente sencillo implementar funciones VBA que, haciendo
uso del mtodo de la transformada inversa o de otros mtodos similares, permitan la
generacin de valores provenientes de casi cualquier distribucin terica.

Simulacin Monte Carlo con variables continuas


Como hemos comentado, es posible usar las frmulas anteriores para generar, a partir de la
funcin ALEATORIO(), valores pseudo-aleatorios provenientes de otras distribuciones
continuas. En las pginas siguientes, veremos dos ejemplos de modelos que hacen uso de la
distribucin normal (la distribucin estadstica ms importante y utilizada):

Ejemplo 1: Tiempo de consultas a servidores en paralelo

Supongamos que desde un ordenador cliente se realiza consultas SQL a bases de datos
situadas en dos servidores distintos. Nuestro objetivo ser estimar el tiempo esperado (tiempo
medio) que deberemos esperar para recibir la respuesta de ambos servidores. Dada la
complejidad de la consulta que queremos realizar, y basndonos en experiencias anteriores, se
calcula que el tiempo necesario para que cada uno de los servidores responda a la misma sigue
una distribucin normal con los parmetros (media y desviacin estndar, en minutos) que se
indican a continuacin:

Pediremos a Excel que genere valores pseudo-aleatorios provenientes de dichas


distribuciones. Asimismo, usaremos la funcin MAX para obtener el tiempo de respuesta (que
ser el mximo de los tiempos de respuesta de cada servidor), y la funcin SI para determinar
qu servidor ha sido el ms rpido en responder:

Usaremos tambin las funciones CONTAR y CONTAR.SI para contar el nmero de iteraciones y
el nmero de veces que un servidor es ms rpido que el otro:

Finalmente, las funciones PROMEDIO, DESVEST, e INTERVALO.CONFIANZA nos servirn para


obtener, respectivamente, el tiempo muestral medio (esperado) de respuesta, la desviacin
estndar de la muestra (observaciones que generaremos), y un intervalo de confianza, a un
nivel del 95%, para el tiempo medio (este intervalo nos permitir saber si nuestra estimacin
es buena o si, por el contrario, necesitaremos ms iteraciones).
Una vez introducidas las frmulas anteriores, bastar con seleccionar y arrastrar hacia abajo
el rango de celdas G3:J3, con lo que se generarn nuevas iteraciones. En la imagen siguiente se
muestra el resultado obtenido al generar 2.077 iteraciones. Observar que el tiempo medio
estimado de respuesta es de 22,9 minutos, y podemos asegurar, con un nivel de confianza del
95%, que dicho tiempo medio estar entre 22,8 y 23,0 minutos.

Finalmente, se observa tambin que el servidor 1 ha respuesto ms rpido que el servidor 2 en


el 67% de las iteraciones.

Ejemplo 2: Inversin inicial y flujo de caja

Consideremos ahora un nuevo problema: supongamos que disponemos de un capital inicial de


250 Euros que deseamos invertir en una pequea empresa. Supondremos tambin que los
flujos de caja -tanto los de entrada como los de salida- son aleatorios, siguiendo stos una
distribucin normal.

Para el primer mes, el valor esperado del flujo de entrada es de 500 Euros, mientras que el
valor esperado para el flujo de salida es de 400 Euros. En meses posteriores, el valor esperado
ser el valor obtenido para en el mes anterior. Por su parte, las desviaciones estndar valdrn,
en todos los casos, un 25% del valor medio (esperado) asociado. En base a lo anterior,
podemos construir un modelo como se muestra en las siguientes imgenes:
Seleccionando y arrastrando hacia abajo el rango G3:O3, hemos obtenido los siguientes
resultados para 5.859 iteraciones:

También podría gustarte