ComenzarEmpieza gratis

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

Ver curso

Instrucciones del ejercicio

  • Define sims como 3000 y la variable lottery_ticket_cost como 0.
  • Si el valor medio de outcomes cae por debajo de 0, usa break para salir del bucle while.
  • Si no, incrementa lottery_ticket_cost en 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))
Editar y ejecutar código