Creați o Simulare Monte Carlo utilizând Excel

Calling All Cars: Crime v. Time / One Good Turn Deserves Another / Hang Me Please (Octombrie 2024)

Calling All Cars: Crime v. Time / One Good Turn Deserves Another / Hang Me Please (Octombrie 2024)
Creați o Simulare Monte Carlo utilizând Excel

Cuprins:

Anonim

Vom dezvolta o simulare Monte Carlo folosind Microsoft Excel și un joc de zaruri. Simularea Monte Carlo este o metodă numerică matematică care folosește trageri aleatorii pentru a efectua calcule și probleme complexe. Astăzi, este utilizat pe scară largă și joacă un rol cheie în diverse domenii, cum ar fi finanțe, fizică, chimie, economie și multe altele.

Simularea Monte Carlo

Metoda Monte Carlo a fost inventată de Nicolas Metropolis în 1947 și încearcă să rezolve probleme complexe folosind metode aleatorii și probabilistice. Termenul "Monte Carlo" provine din zona administrativă din Monaco cunoscută popular ca un loc unde jocurile elitelor europene. Folosim metoda Monte Carlo atunci când problema este prea complexă și dificil de realizat prin calcul direct. Un număr mare de iterații permite o simulare a distribuției normale.

Metoda de simulare Monte Carlo calculează probabilitățile integralelor și rezolvă ecuațiile diferențiale parțiale, introducând astfel o abordare statistică a riscului într-o decizie probabilistică. Deși există multe instrumente statistice avansate pentru a crea simulări Monte Carlo, este mai ușor să simulați legea normală și legea uniformă utilizând Microsoft Excel și să ocoliți fundamentele matematice.

Pentru simularea Monte Carlo, izolam un număr de variabile-cheie care controlează și descriu rezultatul experimentului și atribuie o distribuție de probabilitate după ce se efectuează un număr mare de probe aleatoare. Să luăm un joc de zaruri ca model.

Jocul cu zaruri

Iată cum se rostogolestează jocul cu zaruri:

• Jucătorul aruncă trei zaruri care au 6 laturi de 3 ori.

• Dacă totalul celor 3 aruncări este de 7 sau 11, jucătorul câștigă.

• Dacă totalul celor 3 aruncări este: 3, 4, 5, 16, 17 sau 18, jucătorul pierde.

• Dacă totalul este altul, jucătorul reda și re-rotește matrița.

• Când jucătorul aruncă din nou mor, jocul continuă în același mod, cu excepția faptului că jucătorul câștigă atunci când totalul este egal cu suma stabilită în primul tur.

De asemenea, se recomandă utilizarea unui tabel de date pentru a genera rezultatele. În plus, sunt necesare 5 000 de rezultate pentru a pregăti simularea Monte Carlo.

Pasul 1: Evenimente de tip Dice Rolling

În primul rând, vom dezvolta o gamă de date cu rezultatele fiecăruia dintre cele 3 zaruri pentru 50 de rulouri. Pentru a face acest lucru, se propune utilizarea funcției "RANDBETWEEN (1. 6)". Astfel, de fiecare dată când facem clic pe F9, generăm un nou set de rezultate. Celula "Rezultat" este suma totală a rezultatelor din cele 3 rulouri.

Pasul 2: Gama de rezultate

Apoi, trebuie să dezvoltăm o gamă de date pentru a identifica posibilele rezultate pentru prima rundă și rundă ulterioară. Există mai jos un interval de date cu 3 coloane.În prima coloană avem numerele de la 1 la 18. Aceste cifre reprezintă rezultatele posibile urmând a fi rulat de trei ori cu zarurile: maximul fiind de 3 * 6 = 18. Veți observa că pentru celulele 1 și 2, constatările sunt N / A deoarece este imposibil să obțineți 1 sau 2 folosind 3 zaruri. Minimul este 3.

În a doua coloană sunt incluse concluziile posibile după primul tur. După cum se menționează în declarația inițială, fie jucătorul câștigă (câștigă), fie pierde (pierde) sau replică (Re-roll), în funcție de rezultat (totalul de 3 zaruri).

În cea de-a treia coloană, se înregistrează posibilele concluzii pentru etapele ulterioare. Putem obține aceste rezultate utilizând o funcție "Dacă. "Astfel, dacă rezultatul obținut este echivalent cu rezultatul obținut în primul tur, câștigăm, în caz contrar urmăm regulile inițiale ale jocului original pentru a determina dacă reluăm zarurile.

Pasul 3: Concluzii

În această etapă, identificăm rezultatul celor 50 de zaruri. Prima concluzie poate fi obținută cu o funcție index. Această funcție caută rezultatele posibile ale primei runde, concluzia corespunzătoare rezultatului obținut. De exemplu, când obținem 6, cum este cazul în imaginea de mai jos, redați din nou.

Se pot obține concluziile altor rulouri cu zaruri, utilizând o funcție "Or" și o funcție indexată imbricată într-o funcție "If". Această funcție spune Excel, "Dacă rezultatul anterior este Win or Lose," oprește rularea zarurilor deoarece, odată ce am câștigat sau am pierdut, am terminat. În caz contrar, mergem la coloana următoarelor concluzii posibile și identificăm încheierea rezultatului.

Pasul 4: Numărul de role de zaruri

Acum determinăm numărul de cuburi de zaruri necesare înainte de a pierde sau de a câștiga. Pentru a face acest lucru, putem folosi o funcție "Countif", care necesită Excel pentru a număra rezultatele "Re-roll" și a adăuga numărul 1 la ea. Se adaugă una pentru că avem o rundă suplimentară și obținem un rezultat final (câștig sau pierdere).

Pasul 5: Simulare

Dezvoltăm o gamă pentru a urmări rezultatele diferitelor simulări. Pentru a face acest lucru, vom crea trei coloane. În prima coloană, una dintre cifrele incluse este de 5 000. În a doua coloană vom căuta rezultatul după 50 de zaruri. În coloana a treia, titlul coloanei, vom căuta numărul de zaruri înainte de a obține statutul final (câștiga sau pierde).

Apoi, vom crea o tabelă de analiză a sensibilității utilizând datele caracteristicilor sau tabelul Tabelul de date (această sensibilitate va fi introdusă în al doilea tabel și în coloanele a treia). În această analiză a sensibilității, numărul de evenimente de la 1 la 5 000 trebuie introdus în celula A1 a fișierului. De fapt, s-ar putea alege orice celula goala. Ideea este pur și simplu de a forța o recalculare de fiecare dată și, astfel, să obțină noi rulouri de zaruri (rezultate ale simulărilor noi) fără a deteriora formulele în vigoare.

Pasul 6: Probabilitate

În cele din urmă putem calcula probabilitățile de câștig și de pierdere. Facem acest lucru folosind funcția "Countif".Formula numără numărul de "victorii" și "pierde" apoi se împarte la numărul total de evenimente, 5, 000, pentru a obține proporția respectivă a unuia și a celuilalt. În cele din urmă vom vedea mai jos că probabilitatea de obținere a unui rezultat Win este de 73. 2% și obținerea unui rezultat pierdut este de 26,8%.