4 maja 2021 17:09

Tworzenie symulacji Monte Carlo za pomocą programu Excel

Symulacji Monte Carlo może być realizowana za pomocą programu Microsoft Excel i gra w kości. Symulacja Monte Carlo to matematyczna metoda numeryczna, która wykorzystuje losowe losowania do wykonywania obliczeń i złożonych problemów. Obecnie jest szeroko stosowany i odgrywa kluczową rolę w różnych dziedzinach, takich jak finanse, fizyka, chemia i ekonomia.

Kluczowe wnioski

  • Metoda Monte Carlo stara się rozwiązywać złożone problemy przy użyciu metod losowych i probabilistycznych.
  • Symulację Monte Carlo można opracować za pomocą programu Microsoft Excel i gry w kości.
  • Do wygenerowania wyników można użyć tabeli danych – do przygotowania symulacji Monte Carlo potrzeba łącznie 5000 wyników.

Symulacja Monte Carlo

Metoda Monte Carlo została wynaleziona przez Johna von Neumanna i Stanisława Ulama w latach czterdziestych XX wieku i stara się rozwiązywać złożone problemy przy użyciu metod losowych i probabilistycznych. Termin Monte Carlo odnosi się do obszaru administracyjnego Monako, popularnie znanego jako miejsce, w którym uprawiają hazard w europejskich elitach.

Metoda symulacji Monte Carlo oblicza prawdopodobieństwa całek i rozwiązuje równania różniczkowe cząstkowe, wprowadzając w ten sposób statystyczne podejście do ryzyka przy podejmowaniu decyzji probabilistycznej. Chociaż istnieje wiele zaawansowanych narzędzi statystycznych do tworzenia symulacji Monte Carlo, łatwiej jest zasymulować normalne prawo i jednolite prawo za pomocą programu Microsoft Excel i ominąć matematyczne podstawy.

Kiedy używać symulacji Monte Carlo

Metodę Monte Carlo stosujemy, gdy problem jest zbyt złożony i trudny do rozwiązania za pomocą bezpośrednich obliczeń. Korzystanie z symulacji może pomóc w znalezieniu rozwiązań w sytuacjach, które okazują się niepewne. Duża liczba iteracji umożliwia symulację rozkładu normalnego. Można go również wykorzystać do zrozumienia, jak działa ryzyko i do zrozumienia niepewności w modelach prognostycznych.

Jak wspomniano powyżej, symulacja jest często stosowana w wielu różnych dyscyplinach, w tym w finansach, nauce, inżynierii i zarządzaniu łańcuchem dostaw – szczególnie w przypadkach, gdy w grę wchodzi zbyt wiele zmiennych losowych. Na przykład analitycy mogą korzystać z symulacji Monte Carlo w celu oceny instrumentów pochodnych, w tym opcji, lub określenia ryzyka, w tym prawdopodobieństwa niewywiązania się ze zobowiązań przez spółkę.

Gra w kości

W przypadku symulacji Monte Carlo wyodrębniamy szereg kluczowych zmiennych, które kontrolują i opisują wynik eksperymentu, a następnie przypisujemy  rozkład prawdopodobieństwa  po wykonaniu dużej liczby losowych próbek. Aby to zademonstrować, weźmy jako model grę w kości. Oto jak gra się w kości:

• Gracz rzuca trzy razy trzema kośćmi, które mają sześć stron.

• Jeśli suma trzech rzutów wynosi siedem lub 11, gracz wygrywa.

• Jeśli suma trzech rzutów wynosi: trzy, cztery, pięć, 16, 17 lub 18, gracz przegrywa.

• Jeśli wynik jest inny, gracz gra ponownie i przerzuca kośćmi.

• Kiedy gracz ponownie rzuca kośćmi, gra toczy się w ten sam sposób, z wyjątkiem tego, że gracz wygrywa, gdy suma jest równa sumie określonej w pierwszej rundzie.

Do generowania wyników zaleca się również użycie tabeli danych. Ponadto do przygotowania symulacji Monte Carlo potrzeba 5000 wyników.



Aby przygotować symulację Monte Carlo, potrzebujesz 5000 wyników.

Krok 1: Wydarzenia związane z rzutem kośćmi

Najpierw opracowujemy szereg danych z wynikami każdej z trzech kości dla 50 rzutów. W tym celu proponuje się użycie funkcji „RANDBETWEEN (1,6)”. Dlatego za każdym razem, gdy klikamy F9, generujemy nowy zestaw wyników rzutu. Komórka „Wynik” to suma wyników z trzech rzutów.

Krok 2: Zakres wyników

Następnie musimy opracować szereg danych, aby zidentyfikować możliwe wyniki dla pierwszej rundy i kolejnych rund. Istnieje trzykolumnowy zakres danych. W pierwszej kolumnie mamy liczby od 1 do 18. Te liczby przedstawiają możliwe wyniki po trzykrotnym rzucie kośćmi: Maksymalnie 3 x 6 = 18. Zauważysz, że dla komórek pierwszej i drugiej wyniki wynoszą N / A ponieważ niemożliwe jest zdobycie jednej lub dwóch za pomocą trzech kostek. Minimum to trzy.

W drugiej kolumnie uwzględniono możliwe wnioski po pierwszej rundzie. Jak stwierdzono w początkowym stwierdzeniu, albo gracz wygrywa (wygrywa), albo przegrywa (przegrywa), albo gra ponownie (przerzut), w zależności od wyniku (w sumie trzy rzuty kośćmi).

W trzeciej kolumnie rejestrowane są możliwe wnioski z kolejnych rund. Możemy osiągnąć te wyniki za pomocą funkcji „JEŻELI”. Gwarantuje to, że jeśli uzyskany wynik jest równy wynikowi uzyskanemu w pierwszej rundzie, wygrywamy, w przeciwnym razie postępujemy zgodnie z początkowymi zasadami oryginalnej gry, aby określić, czy przerzucamy kostką.

Krok 3: Wnioski

Na tym etapie określamy wynik rzutu 50 kośćmi. Pierwszy wniosek można uzyskać dzięki funkcji indeksu. Ta funkcja przeszukuje możliwe wyniki pierwszej rundy, a wniosek odpowiada uzyskanemu wynikowi. Na przykład, kiedy wyrzucimy szóstkę, gramy ponownie.

Można uzyskać wyniki innych rzutów kośćmi, używając funkcji „LUB” i funkcji indeksu zagnieżdżonej w funkcji „JEŻELI”. Ta funkcja mówi programowi Excel: „Jeśli poprzedni wynik to Wygrana lub Przegrana”, przestań rzucać kostką, ponieważ gdy wygraliśmy lub przegraliśmy, jesteśmy skończeni. W przeciwnym razie przechodzimy do kolumny z następującymi możliwymi wnioskami i identyfikujemy wniosek wyniku.

Krok 4: Liczba rzutów kośćmi

Teraz określamy liczbę rzutów kostką wymaganych przed przegraną lub wygraną. W tym celu możemy skorzystać z funkcji „LICZ. JEŻELI”, która wymaga od Excela zliczenia wyników „przerzucenia” i dodania do nich liczby jeden. Dodaje jeden, ponieważ mamy jedną dodatkową rundę i otrzymujemy ostateczny wynik (wygrana lub przegrana).

Krok 5: Symulacja

Opracowujemy szereg narzędzi do śledzenia wyników różnych symulacji. Aby to zrobić, utworzymy trzy kolumny. W pierwszej kolumnie jedna z liczb zawiera 5000. W drugiej kolumnie będziemy szukać wyniku po 50 rzutach kośćmi. W trzeciej kolumnie, tytuł kolumny, będziemy szukać liczby rzutów kośćmi przed uzyskaniem ostatecznego statusu (wygrana lub przegrana).

Następnie utworzymy tabelę analizy wrażliwości przy użyciu danych cech lub tabeli danych tabeli (ta czułość zostanie wstawiona do drugiej tabeli i trzeciej kolumny). W tej analizie wrażliwości liczby zdarzeń od 1 do 5 000 należy wstawić do komórki A1 pliku. W rzeczywistości można było wybrać dowolną pustą komórkę. Chodzi o to, aby za każdym razem wymusić ponowne obliczenie, a tym samym uzyskać nowe rzuty kośćmi (wyniki nowych symulacji) bez uszkadzania istniejących formuł.

Krok 6: Prawdopodobieństwo

W końcu możemy obliczyć prawdopodobieństwo wygranej i przegranej. Robimy to za pomocą funkcji „LICZ. JEŻELI”. Formuła zlicza liczbę „wygranych” i „przegranych”, a następnie dzieli przez całkowitą liczbę wydarzeń, 5000, w celu uzyskania odpowiedniej proporcji jednego i drugiego. Ostatecznie widzimy, że prawdopodobieństwo uzyskania wyniku wygranego wynosi 73,2%, a zatem uzyskania wyniku przegranego wynosi 26,8%.