Bắt đầu ngayBắt đầu miễn phí

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_ratevolume 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: pandaspd, numpynp, scipy.statsst, matplotlib.pyplotplt, và seabornsns.

Bài tập này là một phần của khóa học

Mô phỏng Monte Carlo với Python

Xem khóa học

Hướng dẫn bài tập

  • 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 2mean_volume bằng 500.
  • Trực quan hóa kết quả mô phỏng bằng displot.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

# 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()
Chỉnh sửa và Chạy Mã