Tạo mô phỏng Monte Carlo bằng Excel

Mô phỏng Monte-Carlo tài chính dự án bằng Crytal Ball (Có thể 2024)

Mô phỏng Monte-Carlo tài chính dự án bằng Crytal Ball (Có thể 2024)
Tạo mô phỏng Monte Carlo bằng Excel

Mục lục:

Anonim

Chúng tôi sẽ phát triển mô phỏng Monte Carlo bằng Microsoft Excel và một trò chơi xúc xắc. Mô phỏng Monte Carlo là một phương pháp toán học số sử dụng các phép rút ngẫu nhiên để thực hiện tính toán và các vấn đề phức tạp. Ngày nay, nó được sử dụng rộng rãi và đóng vai trò quan trọng trong nhiều lĩnh vực khác nhau như tài chính, vật lý, hóa học, kinh tế và nhiều thứ khác.

Mô phỏng Monte Carlo

Phương pháp Monte Carlo đã được Nicolas Metropolis phát minh vào năm 1947 và tìm cách giải quyết các vấn đề phức tạp bằng các phương pháp ngẫu nhiên và xác suất. Thuật ngữ "Monte Carlo" bắt nguồn từ khu vực hành chính của Monaco được biết đến rộng rãi như một nơi mà các nhà lãnh đạo châu Âu đánh bạc. Chúng tôi sử dụng phương pháp Monte Carlo khi vấn đề quá phức tạp và khó thực hiện bằng cách tính trực tiếp. Một số lượng lớn lặp đi lặp lại cho phép mô phỏng sự phân bố bình thường.

Phương pháp mô phỏng Monte Carlo tính các xác suất cho tích phân và giải phương trình vi phân từng phần, qua đó giới thiệu phương pháp thống kê về rủi ro trong một quyết định xác suất. Mặc dù có nhiều công cụ thống kê tiên tiến tồn tại để tạo ra mô phỏng Monte Carlo, nhưng nó dễ dàng hơn để mô phỏng luật pháp thông thường và luật thống nhất sử dụng Microsoft Excel và bỏ qua cơ sở toán học.

Để mô phỏng Monte Carlo, chúng ta cô lập một số biến chính kiểm soát và mô tả kết quả của thí nghiệm và chỉ định phân bố xác suất sau khi thực hiện được một số lượng lớn các mẫu ngẫu nhiên. Hãy lấy một trò chơi của xúc xắc như mô hình.

Game of Dice

Dưới đây là cách trò chơi dice cuộn:

• Người chơi ném ba viên súc có 6 cạnh 3 lần.

• Nếu tổng số 3 cú ném là 7 hoặc 11, người chơi sẽ thắng.

• Nếu tổng số 3 cú ném là: 3, 4, 5, 16, 17 hoặc 18, người chơi sẽ mất.

• Nếu tổng số là bất kỳ kết quả khác, người chơi sẽ chơi lại và quay cuộn cái chết.

• Khi người chơi ném đòn chết, trò chơi tiếp tục theo cùng một cách, trừ khi người chơi thắng khi tổng số bằng với số tiền được xác định trong vòng đầu tiên.

Cũng nên sử dụng một bảng dữ liệu để tạo ra các kết quả. Hơn nữa, cần có 5.000 kết quả để chuẩn bị mô phỏng Monte Carlo.

Bước 1: Các sự kiện Rolling Rolling

Thứ nhất, chúng tôi phát triển một loạt các dữ liệu với kết quả của mỗi 3 súc sắc cho 50 cuộn. Để làm điều này, bạn nên sử dụng chức năng "RANDBETWEEN (1. 6)". Do đó, mỗi khi chúng ta nhấp F9, chúng ta tạo ra một bộ kết quả cuộn mới. Ô "Kết quả" là tổng của các kết quả từ 3 cuộn.

.

Bước 2: Phạm vi của các kết quả

Sau đó, chúng ta cần phát triển một loạt các dữ liệu để xác định các kết quả có thể có cho vòng đầu tiên và vòng tiếp theo. Có cung cấp dưới dải dữ liệu 3 cột.Trong cột đầu tiên, chúng ta có con số từ 1 đến 18. Con số này thể hiện các kết quả có thể sau khi lăn xúc xắc 3 lần: tối đa là 3 * 6 = 18. Bạn sẽ lưu ý rằng đối với tế bào 1 và 2, các phát hiện là N / A vì không thể có được 1 hoặc 2 sử dụng 3 quả. Tối thiểu là 3.

Trong cột thứ hai, những kết luận có thể có sau đợt đầu tiên được đưa vào. Như đã nêu trong tuyên bố ban đầu, người chơi sẽ thắng (Thắng) hoặc thua (Lose) hoặc anh ta replay (Re-roll), tùy thuộc vào kết quả (tổng cộng 3 quả dice cuộn).

Trong cột thứ ba, kết luận có thể cho các vòng tiếp theo được đăng ký. Chúng ta có thể đạt được những kết quả này bằng cách sử dụng một hàm "If. "Điều này đảm bảo rằng nếu kết quả thu được tương đương với kết quả đạt được trong vòng đầu tiên, chúng tôi giành chiến thắng, nếu không chúng tôi làm theo các quy tắc ban đầu của vở kịch ban đầu để xác định xem chúng tôi quay lại các con xúc xắc.

Bước 3: Kết luận

Trong bước này, chúng tôi xác định kết quả của 50 cuộn súc sắc. Kết luận đầu tiên có thể thu được với một hàm chỉ mục. Chức năng này tìm kiếm các kết quả có thể có của vòng đầu tiên, kết luận tương ứng với kết quả thu được. Ví dụ, khi có được 6, như trường hợp trong hình dưới đây, chúng tôi chơi lại.

Một người có thể nhận được những phát hiện của các cuộn dice khác, sử dụng một chức năng "Hoặc" và một chức năng chỉ mục được lồng trong một chức năng "Nếu". Chức năng này nói với Excel, "Nếu kết quả trước đây là Win or Lose", hãy dừng việc dice vì một khi chúng ta đã thắng hoặc thua, chúng ta đã làm xong. Nếu không, chúng ta đi đến cột kết luận có thể sau đây và chúng ta xác định kết luận của kết quả.

Bước 4: Số Dice Rolls

Bây giờ, chúng tôi xác định số lượng dice rolls yêu cầu trước khi thua hoặc chiến thắng. Để làm điều này, chúng ta có thể sử dụng một hàm "Countif", đòi hỏi Excel phải tính các kết quả của "Re-roll" và thêm số 1 vào nó. Nó thêm một vì chúng ta có thêm một vòng, và chúng tôi nhận được một kết quả cuối cùng (giành chiến thắng hoặc thua).

.

Bước 5: Mô phỏng

Chúng tôi phát triển một phạm vi để theo dõi kết quả của mô phỏng khác nhau. Để làm điều này, chúng tôi sẽ tạo ra ba cột. Trong cột đầu tiên, một trong những con số bao gồm 5, 000. Trong cột thứ hai, chúng tôi sẽ tìm kiếm kết quả sau 50 cuộn súc sắc. Trong cột thứ ba, tiêu đề của cột, chúng tôi sẽ tìm số dice cuộn trước khi có được trạng thái cuối cùng (thắng hoặc thua).

Sau đó, chúng ta sẽ tạo ra một bảng phân tích độ nhạy cảm bằng cách sử dụng dữ liệu tính năng hoặc bảng dữ liệu bảng (độ nhạy này sẽ được chèn vào bảng thứ hai và cột thứ ba). Trong phân tích độ nhạy này, số lượng các sự kiện từ 1 đến 5 000 phải được chèn vào ô A1 của tệp tin. Trong thực tế, người ta có thể chọn bất kỳ tế bào trống rỗng. Ý tưởng chỉ đơn giản là để buộc một phép tính lại mỗi lần và do đó có được cuộn miếng mới (kết quả mô phỏng mới) mà không làm hỏng các công thức tại chỗ.

Bước 6: Xác suất

Cuối cùng chúng ta có thể tính được xác suất thắng và thua. Chúng tôi làm điều này bằng cách sử dụng chức năng "Countif".Công thức đếm số "thắng" và "mất" sau đó chia cho tổng số các sự kiện, 5, 000, để có tỷ lệ tương ứng của một và số khác. Cuối cùng chúng ta thấy dưới đây là xác suất nhận được kết quả Win là 73. 2% và nhận được Kết quả thua là 26. 8%.