Calcular el precio de equilibrio de una lotería
Las simulaciones nos permiten plantear preguntas más matizadas que no siempre tienen una solución analítica sencilla. En lugar de resolver una fórmula matemática compleja, obtenemos directamente múltiples resultados de muestra. Podemos realizar experimentos modificando entradas y estudiando cómo esos cambios afectan al sistema. Por ejemplo, una vez que tengamos un modelo razonable de los patrones meteorológicos globales, podríamos evaluar el impacto del aumento de emisiones de gases de efecto invernadero.
En el ejemplo de la lotería, quizá queramos saber cuán caro debe ser el billete para que ya no tenga sentido comprarlo. Para entender esto, necesitamos modificar el coste del billete hasta ver cuándo el valor esperado es negativo.
grand_prize, num_tickets y chance_of_winning están cargadas en el entorno.
Este ejercicio forma parte del curso
Simulación estadística en Python
Instrucciones del ejercicio
- Define
simscomo 3000 y la variablelottery_ticket_costcomo0. - Si el valor medio de
outcomescae por debajo de0, usabreakpara salir del buclewhile. - Si no, incrementa
lottery_ticket_costen 1.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# Initialize simulations and cost of ticket
sims, lottery_ticket_cost = ____, ____
# Use a while loop to increment `lottery_ticket_cost` till average value of outcomes falls below zero
while 1:
outcomes = np.random.choice([-lottery_ticket_cost, grand_prize-lottery_ticket_cost],
size=sims, p=[1-chance_of_winning, chance_of_winning], replace=True)
if outcomes.mean() < 0:
____
else:
____ += 1
answer = lottery_ticket_cost - 1
print("The highest price at which it makes sense to buy the ticket is {}".format(answer))