• No se han encontrado resultados

Simulacion Montecarlo Con Matlab

N/A
N/A
Protected

Academic year: 2021

Share "Simulacion Montecarlo Con Matlab"

Copied!
7
0
0

Texto completo

(1)

Consid

Considere una ere una casa de juegos (casino) en casa de juegos (casino) en la cual un la cual un jugador apuesta sucesivjugador apuesta sucesivamente yamente y la casa gana el 51% d

la casa gana el 51% de veces. e veces. La pregunLa pregunta es ¿Cuántos juegta es ¿Cuántos juegos deben darsos deben darse antes dee antes de que la

que la casa este casa este realmente serealmente segura de gura de ir adir adelante? elante? Este escenEste escenario es ario es común común entre loentre loss ma

matemtemátiáticos y cos y se utilse utiliza la iza la estestadadístística para los ica para los cálcálculculosos. . CoCon n MAMATLTLAB AB pupuedeede realizarse sin mucha complejidad.

realizarse sin mucha complejidad.

Primero utilizamos una expresión que calcule el conjunto de renta o ganancia de la Primero utilizamos una expresión que calcule el conjunto de renta o ganancia de la casa para un

casa para un juego, bjuego, basados en uasados en un n numero alenumero aleatorio entratorio entre 0 y 1. e 0 y 1. MATLAB posMATLAB posee laee la fun

función ranción rand. d. Si el numeSi el numero aleatoro aleatorio es menorio es menor o r o iguigual que 0.51al que 0.51, la casa gana una, la casa gana una uni

unidaddad, de , de otro mootro modo si el numero excdo si el numero excede 0.51 la casa pierede 0.51 la casa pierde una unidde una unidad. ad. En unEn un  juego real

 juego real cada cada apuesta apuesta puede puede ser ser $1, $1, 10, 10, 100, 1000. 100, 1000. Por Por ello ello es es importimportante ante que que lala casa conozca cual es

casa conozca cual es la línea limite que no debe pasar la línea limite que no debe pasar para no entrar en bancarrota.para no entrar en bancarrota. La siguiente expresión representa lo dicho:

La siguiente expresión representa lo dicho: ganancia = sign(0.51 – rand)

ganancia = sign(0.51 – rand)

Donde ganancia será 1 si la salida de

Donde ganancia será 1 si la salida de rand es menor que 0.51 y –1 si la salida de rand es menor que 0.51 y –1 si la salida de randrand es mayor que 0.51 y será 0

es mayor que 0.51 y será 0 si la salida rand es si la salida rand es exactamentexactamente igual a e igual a 0.51.0.51.

Para simular un conjunto de jugadas, por ejemplo 10 juegos, debemos crear un Para simular un conjunto de jugadas, por ejemplo 10 juegos, debemos crear un arreglo de 10 números aleatorios.

arreglo de 10 números aleatorios. ganancia = sign(0.51 – rand(1,10)) ganancia = sign(0.51 – rand(1,10))

La casa en un determinado juego gana 6 veces y pierde 4, en otro gana 7 y pierde 3, La casa en un determinado juego gana 6 veces y pierde 4, en otro gana 7 y pierde 3, y en un tercero gana 5

y en un tercero gana 5 y pierde 5.y pierde 5. Veam

Veamos ahora para un numos ahora para un numero de juegoero de juegos mayor, 100 pos mayor, 100 por ejemplr ejemplo. o. MatMatlab psee lalab psee la función sum para acumular las ganancias individuales de las apuestas, tal como función sum para acumular las ganancias individuales de las apuestas, tal como sigue. sigue. utlidades = sum(sign(0.51-rand(1,100)) utlidades = sum(sign(0.51-rand(1,100)) utlidad utlidades es == 14 14 y en otro instante y en otro instante utilidades=sum(sign(0.51-rand(1,100))) utilidades=sum(sign(0.51-rand(1,100))) utilidad utilidades es ==

(2)

6 6 en otro en otro utilidades=sum(sign(0.51-rand(1,100))) utilidades=sum(sign(0.51-rand(1,100))) utilidad utilidades es == 2 2 y en otro y en otro utilidades=sum(sign(0.51-rand(1,100))) utilidades=sum(sign(0.51-rand(1,100))) utilidad utilidades es == -4 -4 utilidades=sum(sign(0.51-rand(1,100))) utilidades=sum(sign(0.51-rand(1,100))) utilidad utilidades es == 0 0 Se observa que

Se observa que en determinados momentos la casa gen determinados momentos la casa gana y en ana y en otros la casa potros la casa pierde. ierde. LoLo optimo para la casa es ganar en 51 juegos en promedio para tener ganancias.

optimo para la casa es ganar en 51 juegos en promedio para tener ganancias. Realizamos otra

Realizamos otra simulaciósimulaciónn

utilidades=sum(sign(0.51-rand(100,10))) utilidades=sum(sign(0.51-rand(100,10))) utilidad utilidades es == Columns 1 through 8 Columns 1 through 8 -10 -10 12 12 0 0 12 12 10 10 -14 -14 6 6 44 Columns 9 through 10 Columns 9 through 10 -8 14 -8 14

Veamos hora una función que calcule la canasta de utilidades para

Veamos hora una función que calcule la canasta de utilidades para k k  diferentesdiferentes

 pruebas d

(3)

utilidad utilidades es == Inline function: Inline function: utilidades(n,k) = sum(sign(0.51-rand(n,k))) utilidades(n,k) = sum(sign(0.51-rand(n,k))) Para n = 100 y

Para n = 100 y k = 100 se puede generar un histograma de diferencias entre –40 y 40k = 100 se puede generar un histograma de diferencias entre –40 y 40 en incrementos de 2.

en incrementos de 2.

>> hist(utilidades(100,100),-40:2:40); axis tight >> hist(utilidades(100,100),-40:2:40); axis tight

Podemos realizar cambios en los argumentos para la simulación en las utilidades Podemos realizar cambios en los argumentos para la simulación en las utilidades (valor en negrita)

(valor en negrita) hist(utilidades(100,

(4)

 Nuevament

 Nuevamente, otro cambioe, otro cambio

>> hist(utilidades(100,10000),-40:2:40); axis tight >> hist(utilidades(100,10000),-40:2:40); axis tight

(5)

>> hist(utilidades(1000,100),-100:10:150); axis tight >> hist(utilidades(1000,100),-100:10:150); axis tight

(6)

>> hist(utilidades(1000,1000),-100:10:150); axis tight >> hist(utilidades(1000,1000),-100:10:150); axis tight

Para generar un vector de

Para generar un vector de utiliutilidadesdades >> vector=[]; >> vector=[]; >> for i = 1:10 >> for i = 1:10 vector=[vector,utilidades(1000,100)]; vector=[vector,utilidades(1000,100)]; end end

>> hist(vector,-100:10:150); axis tight >> hist(vector,-100:10:150); axis tight >> utilidades(1000,10) >> utilidades(1000,10) ans = ans = Columns 1 through 9 Columns 1 through 9 0 30 0 30 8 46 8 46 -4 14 -8 -4 14 -8 -8 24-8 24 Column 10 Column 10 14 14

(7)

REFERENCIAS: REFERENCIAS:

A GUIDE TO MATLAB, MATH WORKS

Referencias

Documento similar