1. Học hỏi
  2. /
  3. Khoa Học
  4. /
  5. Mô phỏng Monte Carlo với Python

Connected

Bài tập

Mô phỏng một bài toán lợi nhuận

Bạn đang làm việc cho một công ty sản xuất thiết bị công nghiệp. Giá bán mỗi thiết bị là $100.000. Bạn cũng biết rằng có mối tương quan âm rất mạnh giữa inflation_rate và volume bán ra. Mối quan hệ này được thể hiện qua ma trận hiệp phương sai cov_matrix, đã có sẵn trong bảng điều khiển cho bạn.

Hàm profit_next_year_mc() thực hiện mô phỏng Monte Carlo và trả về lợi nhuận kỳ vọng (tính theo nghìn đô la), với đầu vào là lạm phát trung bình và sản lượng bán trung bình. Bạn cũng cần truyền n, số lần chạy mô phỏng. Hàm đã được nạp sẵn cho bạn, và định nghĩa như bên dưới.

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

Các gói sau đã được nhập sẵn cho bạn: pandas là pd, numpy là np, scipy.stats là st, matplotlib.pyplot là plt, và seaborn là sns.

Hướng dẫn

100 XP
  • Thực hiện mô phỏng Monte Carlo bằng cách chạy profit_next_year_mc() 500 lần với mean_inflation bằng 2 và mean_volume bằng 500.
  • Trực quan hóa kết quả mô phỏng bằng displot.