CommencezCommencez gratuitement

Calculer un prix de loterie d'équilibre

Les simulations nous permettent de poser des questions plus nuancées qui n'ont pas nécessairement une solution analytique simple. Plutôt que de résoudre une formule mathématique complexe, on obtient directement de multiples résultats d'échantillonnage. On peut faire des expériences en modifiant les paramètres d'entrée et en étudiant comment ces changements influencent le système. Par exemple, une fois qu'on a un modèle raisonnablement fidèle des régimes climatiques mondiaux, on peut évaluer l'impact d'une hausse des émissions de gaz à effet de serre.

Dans l'exemple de loterie, on pourrait vouloir savoir à quel prix le billet doit être pour qu'il ne soit plus avantageux de l'acheter. Pour le déterminer, il faut modifier le coût du billet afin de voir quand l'espérance de gain devient négative.

grand_prize, num_tickets et chance_of_winning sont déjà chargées dans l'environnement.

Cette activité fait partie du cours

Simulation statistique en Python

Voir le cours

Instructions de l’exercice

  • Définissez sims à 3000 et la variable lottery_ticket_cost à 0.
  • Si la valeur moyenne de outcomes passe sous 0, faites un break pour sortir de la boucle while.
  • Sinon, incrémentez lottery_ticket_cost de 1.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# 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))
Modifier et exécuter le code