Opret en Monte Carlo Simulation Brug Excel

Simulering i regneark (en terning) (November 2024)

Simulering i regneark (en terning) (November 2024)
Opret en Monte Carlo Simulation Brug Excel

Indholdsfortegnelse:

Anonim

Vi vil udvikle en Monte Carlo-simulering ved hjælp af Microsoft Excel og et terningspil. Monte Carlo Simulation er en matematisk numerisk metode, der bruger tilfældige tegninger til at udføre beregninger og komplekse problemer. I dag er den meget udbredt og spiller en vigtig rolle inden for forskellige områder som økonomi, fysik, kemi, økonomi og mange andre.

Monte Carlo Simulation

Monte Carlo-metoden blev opfundet af Nicolas Metropolis i 1947 og søger at løse komplekse problemer ved hjælp af tilfældige og probabilistiske metoder. Udtrykket "Monte Carlo" stammer fra det administrative område i Monaco, der almindeligvis er kendt som et sted, hvor europæiske eliter spiller. Vi bruger Monte Carlo-metoden, når problemet er for komplekst og vanskeligt at gøre ved direkte beregning. Et stort antal iterationer tillader en simulering af den normale fordeling.

Monte Carlo-simuleringsmetoden beregner sandsynlighederne for integraler og løser partielle differentialligninger og derved indfører en statistisk tilgang til risiko i en probabilistisk beslutning. Selvom der findes mange avancerede statistiske værktøjer til at skabe Monte Carlo-simuleringer, er det lettere at simulere den normale lov og den ensartede lov ved hjælp af Microsoft Excel og omgå de matematiske underlag.

For Monte Carlo-simuleringen isolerer vi en række nøglevariabler, der styrer og beskriver resultatet af eksperimentet og tildeler en sandsynlighedsfordeling efter et stort antal stikprøver udføres. Lad os tage et spil terninger som model.

Spil af terninger

Sådan spiller terningen spil:

• Spilleren kaster tre terninger, der har 6 sider 3 gange.

• Hvis summen af ​​de 3 kast er 7 eller 11, vinder spilleren.

• Hvis summen af ​​de 3 kast er: 3, 4, 5, 16, 17 eller 18, taber afspilleren.

• Hvis summen er et andet resultat, afspilles afspilleren igen og omdirigerer dysen.

• Når spilleren kaster døren igen, fortsætter spillet på samme måde, bortset fra at spilleren vinder, når summen er lig med summen bestemt i første runde.

Det anbefales også at bruge en datatabel til at generere resultaterne. Derudover er der brug for 5.000 resultater for at forberede Monte Carlo-simuleringen.

Trin 1: Dice Rolling Events

For det første udvikler vi en række data med resultaterne af hver af de 3 terninger til 50 ruller. For at gøre dette foreslås det at bruge funktionen "RANDBETWEEN (1. 6)". Således genererer vi hver gang vi klikker på F9 et nyt sæt rulleresultater. "Outcome" -cellen er summen af ​​resultaterne fra de 3 ruller.

Trin 2: Resultatinterval

Så skal vi udvikle en række data for at identificere de mulige resultater for første runde og efterfølgende runder. Der tilbydes under et 3-kolonne dataområde.I den første kolonne har vi tallene 1 til 18. Disse tal repræsenterer de mulige resultater efter rullning af terningerne 3 gange: maksimumet er 3 * 6 = 18. Du vil bemærke, at for cellerne 1 og 2 er resultaterne N / A, da det er umuligt at få en 1 eller 2 ved hjælp af 3 terninger. Minimumet er 3.

I den anden kolonne er de mulige konklusioner efter første runde inkluderet. Som angivet i den oprindelige udsagn, vinder enten (Win) eller taber (Lose), eller han replays (Re-roll) afhængigt af resultatet (i alt 3 terninger).

I den tredje kolonne registreres de mulige konklusioner til efterfølgende runder. Vi kan nå disse resultater ved hjælp af en funktion "If. "Dette sikrer, at hvis resultatet opnås svarer til resultatet opnået i første runde, vinder vi, ellers følger vi oprindelige regler for det oprindelige spil for at afgøre, om vi ruller terningerne igen.

Trin 3: Konklusioner

I dette trin identificerer vi resultatet af de 50 terningruller. Den første konklusion kan opnås med en indeksfunktion. Denne funktion søger de mulige resultater af første runde, konklusionen svarende til det opnåede resultat. For eksempel når vi opnår 6, som det er tilfældet i billedet nedenfor, spiller vi igen.

Man kan få resultaterne fra andre terningruller, ved hjælp af en "Eller" -funktion og en indeksfunktion indlejret i en "If" -funktion. Denne funktion fortæller Excel, "Hvis det forrige resultat er Win eller Lose," stop med at rulle terningerne, fordi vi engang har vundet eller tabt, er vi færdige. Ellers går vi til kolonnen med følgende mulige konklusioner, og vi identificerer resultatet af resultatet.

Trin 4: Antal terninger ruller

Nu bestemmer vi antallet af terninger, der kræves, før de taber eller vinder. For at gøre dette kan vi bruge en "Countif" -funktion, som kræver, at Excel tæller resultaterne af "Re-roll" og tilføj nummer 1 til det. Det tilføjer en, fordi vi har en ekstra runde, og vi får et endeligt resultat (vinde eller tabe).

Trin 5: Simulation

Vi udvikler en rækkevidde til at spore resultaterne af forskellige simuleringer. For at gøre dette skaber vi tre kolonner. I den første kolonne er en af ​​de inkluderede tal 5 000. I den anden kolonne søger vi resultatet efter 50 terninger. I den tredje kolonne, titlen på søjlen, vil vi se efter antallet af terningruller, før vi får den endelige status (sejr eller tab).

Derefter vil vi oprette en følsomhedsanalysetabel ved at bruge funktionsdata eller tabeldata tabel (denne følsomhed vil blive indsat i den anden tabel og tredje kolonner). I denne følsomhedsanalyse skal antallet af begivenheder på 1 - 5, 000 indsættes i celle A1 i filen. Faktisk kunne man vælge enhver tom celle. Ideen er simpelthen at tvinge en omberegning hver gang og dermed få nye terningerruller (resultater af nye simuleringer) uden at beskadige formlerne på plads.

Trin 6: Sandsynlighed

Vi kan endelig beregne sandsynlighederne for at vinde og tabe. Det gør vi ved hjælp af funktionen "Countif".Formlen tæller antallet af "win" og "lose" og deler derefter med det samlede antal events, 5, 000, for at opnå den respektive andel af den ene og den anden. Vi ses endelig nedenfor, at sandsynligheden for at vinde et resultat er 73. 2% og at få et tab af udfald er derfor 26,8%.