Análisis de sensibilidad de la empresa
Ahora examinarás qué ocurriría con los beneficios de la empresa del ejercicio anterior con distintos valores de mean_inflation y mean_volume. Esto ayudará a la empresa a planificar para varios niveles de inflación y volúmenes de ventas, ya que ninguna empresa puede saber con certeza qué inflación o volúmenes de ventas tendrá en el futuro.
Los porcentajes medios de inflación que te gustaría explorar son 0, 1, 2, 5, 10, 15, 20, 50, mientras que los valores de ventas para utilizarlos como valor medio de volumen son 100, 200, 500, 800, 1000. Como recordatorio, aquí tienes la definición de la función profit_next_year_mc(), que ya se ha cargado para ti.
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
Además, se han importado los siguientes paquetes: pandas como pd, numpy como np, scipy.stats como st, matplotlib.pyplot como plt y seaborn como sns.
Este ejercicio forma parte del curso
Simulaciones Montecarlo en Python
Instrucciones del ejercicio
- Completa la simulación de Montecarlo ejecutando 
profit_next_year_mc()para calcular el beneficio 100 veces, recorriendo cada vez la lista de valoresinfly la lista de valoresvol. - Utiliza un 
displotpara visualizar los resultados de la simulación guardados en la columnaProfitdel DataFrame resultante. 
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
x1 = []
x2 = []
y = []
for infl in [0, 1, 2, 5, 10, 15, 20, 50]:
    for vol in [100, 200, 500, 800, 1000]:
		# Run profit_next_year_mc so that it samples 100 times for each infl and vol combination
        avg_prof = np.mean(____)
        x1.append(infl)
        x2.append(vol)
        y.append(avg_prof)
df_sa = pd.concat([pd.Series(x1), pd.Series(x2), pd.Series(y)], axis=1)
df_sa.columns = ["Inflation", "Volume", "Profit"]
# Create a displot of the simulation results for "Profit"
____
plt.show()