Simulation d'un problème de profit
Vous travaillez pour une entreprise qui fabrique de l'équipement industriel. Le prix de vente de chaque pièce d'équipement est de 100 000 $. Vous savez aussi qu'il existe une forte corrélation négative entre le inflation_rate et le volume des ventes. Cette relation est représentée par la matrice de covariance cov_matrix, disponible dans la console.
La fonction profit_next_year_mc() exécute une simulation de Monte Carlo et retourne le profit attendu (en milliers de dollars), à partir du taux d'inflation moyen et du volume moyen des ventes passés en arguments. Vous devrez aussi fournir n, le nombre de fois que la simulation doit être exécutée. La fonction a été chargée pour vous, et sa définition se trouve 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 modules 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.
Cette activité fait partie du cours
Simulations de Monte-Carlo en Python
Instructions de l’exercice
- Effectuez une simulation de Monte Carlo en exécutant
profit_next_year_mc()500 fois avecmean_inflationà2etmean_volumeà500. - Visualisez les résultats de la simulation avec un
displot.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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()