Simulation d’un problème de profit
Vous travaillez pour une entreprise qui fabrique des équipements industriels. Le prix de vente de chaque équipement est de 100 000 $. Vous savez également qu’il existe une forte corrélation négative entre le inflation_rate et le volume des ventes. Cette relation est capturée par la matrice de covariance cov_matrix, disponible dans la console.
La fonction profit_next_year_mc() effectue une simulation de Monte Carlo et renvoie le profit attendu (en milliers de dollars), à partir du taux d’inflation moyen et du volume de ventes moyen passés en arguments. Vous devrez aussi passer n, le nombre de fois où la simulation doit être exécutée. La fonction a été chargée pour vous, et sa définition est ci-dessous.
def profit_next_year_mc(mean_inflation, mean_volume, n):
profits = []
for i in range(n):
# Generate inputs by sampling from the multivariate normal distribution
rate_sales_volume = st.multivariate_normal.rvs(mean=[mean_inflation,mean_volume], cov=cov_matrix,size=1000)
# Deterministic calculation of company profit
price = 100 * (100 + rate_sales_volume[:,0])/100
volume = rate_sales_volume[:,1]
loan_and_cost = 50 * volume + 45 * (100 + 3 * rate_sales_volume[:,0]) * (volume/100)
profit = (np.mean(price * volume - loan_and_cost))
profits.append(profit)
return profits
Les paquets suivants ont été importés pour vous : pandas sous pd, numpy sous np, scipy.stats sous st, matplotlib.pyplot sous plt, et seaborn sous sns.
Cet exercice fait partie du cours
Simulations de Monte Carlo en Python
Instructions
- Lancez une simulation de Monte Carlo en exécutant
profit_next_year_mc()500 fois avecmean_inflationégal à2etmean_volumeégal à500. - Visualisez les résultats de la simulation avec un
displot.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Run a Monte Carlo simulation 500 times using a mean_inflation of 2 and a mean_volume of 500
profits = profit_next_year_mc(____)
# Create a displot of the results
____
plt.show()