Skapa en Monte Carlo-simulering med Excel

Målsökning med Excel på en Investeringskalkyl (Swedish) (November 2024)

Målsökning med Excel på en Investeringskalkyl (Swedish) (November 2024)
Skapa en Monte Carlo-simulering med Excel

Innehållsförteckning:

Anonim

Vi kommer att utveckla en Monte Carlo-simulering med hjälp av Microsoft Excel och ett tärningsspel. Monte Carlo-simuleringen är en matematisk numerisk metod som använder slumpmässiga drag för att utföra beräkningar och komplexa problem. Idag används den allmänt och spelar en nyckelroll inom olika områden som ekonomi, fysik, kemi, ekonomi och många andra.

Monte Carlo Simulation

Monte Carlo-metoden uppfanns av Nicolas Metropolis 1947 och syftar till att lösa komplexa problem med hjälp av slumpmässiga och probabilistiska metoder. Termen "Monte Carlo" härstammar från det administrativa området Monaco, populärt kallat en plats där europeiska eliter spelar. Vi använder Monte Carlo-metoden när problemet är för komplicerat och svårt att göra genom direktberäkning. Ett stort antal iterationer möjliggör en simulering av normalfördelningen.

Monte Carlo-simuleringsmetoden beräknar sannolikheterna för integraler och löser partiella differentialekvationer, varigenom en statistisk riskanalys införs i ett probabilistiskt beslut. Även om många avancerade statistiska verktyg finns för att skapa Monte Carlo-simuleringar, är det enklare att simulera den normala lagen och den enhetliga lagen med hjälp av Microsoft Excel och kringgå de matematiska grunden.

För Monte Carlo-simuleringen isolerar vi ett antal nyckelvariabler som styr och beskriver resultatet av experimentet och tilldelar en sannolikhetsfördelning efter att ett stort antal slumpmässiga prover utförs. Låt oss ta ett tärningsspel som modell.

Tärningsspel

Så här spelar tärningsspelet:

• Spelaren kastar tre tärningar som har 6 sidor 3 gånger.

• Om totalt 3 kast är 7 eller 11, vinner spelaren.

• Om totalt 3 kast är: 3, 4, 5, 16, 17 eller 18, förlorar spelaren.

• Om summan är något annat resultat spelar spelaren igen och rullar om den igen.

• När spelaren släpper döden igen, fortsätter spelet på samma sätt, förutom att spelaren vinner när summan är lika med summan bestämd i första omgången.

Det rekommenderas också att använda en datatabell för att generera resultaten. Dessutom krävs 5 000 resultat för att förbereda Monte Carlo-simuleringen.

Steg 1: Dice Rolling Events

Först utvecklar vi en rad data med resultaten av var och en av de 3 tärningarna för 50 rullar. För att göra detta föreslås att man använder funktionen "RANDBETWEEN (1. 6)". Således skapar vi varje gång vi klickar på F9 en ny uppsättning rullresultat. "Utfall" -cellen är summan av resultaten från de 3 rullarna.

Steg 2: Utfallssortiment

Då måste vi utveckla en rad data för att identifiera de möjliga resultaten för första omgången och efterföljande rundor. Det tillhandahålls under ett 3-kolonnsdataområde.I den första kolumnen har vi siffrorna 1 till 18. Dessa siffror representerar de möjliga resultaten efter att rulla tärningarna 3 gånger: maximum är 3 * 6 = 18. Du kommer att notera att för cellerna 1 och 2 är fynden N / A eftersom det är omöjligt att få en 1 eller 2 med 3 tärningar. Minsta är 3.

I den andra kolumnen ingår de möjliga slutsatserna efter första omgången. Som sagt i inledande uttalande vinner spelaren (Win) eller förlorar (Lose) eller replays (Re-roll), beroende på resultatet (totalt 3 tärningsrullar).

I den tredje kolumnen är de möjliga slutsatserna för följande omgångar registrerade. Vi kan uppnå dessa resultat med hjälp av en funktion "If. "Detta säkerställer att om resultatet erhålls motsvarar resultatet som uppnåtts i första omgången vinner vi, annars följer vi de ursprungliga reglerna för det ursprungliga spelet för att avgöra om vi rullar tärningarna igen.

Steg 3: Slutsatser

I detta steg identifierar vi resultatet av de 50 tärningsrullarna. Den första slutsatsen kan erhållas med en indexfunktion. Denna funktion söker efter de möjliga resultaten av första omgången, slutsatsen som motsvarar det erhållna resultatet. Till exempel när vi får 6, som det är fallet på bilden nedan, spelar vi igen.

Man kan få resultat från andra tärningsrullar med hjälp av en "Eller" -funktion och en indexfunktion som är inbäddad i en "If" -funktion. Denna funktion berättar Excel, "Om det föregående resultatet är Win eller Lose," sluta rulla tärningen, för när vi väl har vunnit eller förlorat är vi färdiga. Annars går vi till kolumnen av följande möjliga slutsatser och vi identifierar resultatet av resultatet.

Steg 4: Antal tärningsrullar

Nu bestämmer vi antalet tärningsrullar som krävs innan vi förlorar eller vinner. För att göra detta kan vi använda en "Countif" -funktion, som kräver att Excel räknar resultaten från "Re-roll" och lägger till nummer 1 till den. Det lägger till en för att vi har en extra omgång, och vi får ett slutresultat (vinst eller förlora).

Steg 5: Simulering

Vi utvecklar ett intervall för att spåra resultaten från olika simuleringar. För att göra detta ska vi skapa tre kolumner. I den första kolumnen är en av de angivna siffrorna 5 000. I den andra kolumnen kommer vi att leta efter resultatet efter 50 tärningsrullar. I den tredje kolumnen, kolumnens titel, kommer vi att leta efter antalet tärningsrullar innan du får den slutliga statusen (vinna eller förlora).

Då ska vi skapa en känslighetsanalys tabell genom att använda funktionen data eller tabell data tabellen (denna känslighet kommer att införas i den andra tabellen och tredje kolumner). I denna känslighetsanalys måste antalet händelser på 1 - 5, 000 införas i cell A1 i filen. Faktum är att man kan välja vilken tom cell som helst. Tanken är helt enkelt att tvinga en omräkning varje gång och därmed få nya tärningsrullar (resultat av nya simuleringar) utan att skada formlerna på plats.

Steg 6: Sannolikhet

Vi kan slutligen beräkna sannolikheten för att vinna och förlora. Vi gör detta med funktionen "Countif".Formeln räknar antalet "vinna" och "förlora" och delar sedan med totalt antal händelser, 5 000, för att erhålla respektive andel av den ena. Vi ser slutligen nedan att sannolikheten för att få ett vinnutfall är 73. 2% och att få ett förlustresultat är därför 26,8%.