24 juni 2021 11:10

Een Monte Carlo-simulatie maken met Excel

Een Monte Carlo-simulatie kan worden ontwikkeld met behulp van Microsoft Excel en een dobbelspel. De Monte Carlo-simulatie is een wiskundige numerieke methode die willekeurige trekkingen gebruikt om berekeningen en complexe problemen uit te voeren. Tegenwoordig wordt het veel gebruikt en speelt het een sleutelrol op verschillende gebieden, zoals financiën, natuurkunde, scheikunde en economie.

Belangrijkste leerpunten

  • De Monte Carlo-methode probeert complexe problemen op te lossen met behulp van willekeurige en probabilistische methoden.
  • Een Monte Carlo-simulatie kan worden ontwikkeld met behulp van Microsoft Excel en een dobbelspel.
  • Een gegevenstabel kan worden gebruikt om de resultaten te genereren – in totaal zijn er 5000 resultaten nodig om de Monte Carlo-simulatie voor te bereiden. 

Monte Carlo simulatie

De Monte Carlo-methode is uitgevonden door John von Neumann en Stanislaw Ulam in de jaren veertig en probeert complexe problemen op te lossen met behulp van willekeurige en probabilistische methoden. De term Monte Carlo verwijst naar het administratieve gebied van Monaco dat in de volksmond bekend staat als een plaats waar Europese elites gokken. 

De Monte Carlo-simulatiemethode berekent de waarschijnlijkheden voor integralen en lost partiële differentiaalvergelijkingen op, waardoor een statistische benadering van risico in een probabilistische beslissing wordt geïntroduceerd. Hoewel er veel geavanceerde statistische hulpmiddelen bestaan ​​om Monte Carlo-simulaties te maken, is het gemakkelijker om de normale wet en de uniforme wet te simuleren met Microsoft Excel en de wiskundige onderbouwing te omzeilen.

Wanneer moet u de Monte Carlo-simulatie gebruiken?

We gebruiken de Monte Carlo-methode wanneer een probleem te complex en moeilijk direct te berekenen is. Het gebruik van de simulatie kan helpen oplossingen te bieden voor situaties die onzeker blijken te zijn. Een groot aantal iteraties maakt een simulatie van de normale verdeling mogelijk. Het kan ook worden gebruikt om te begrijpen hoe risico werkt, en om de onzekerheid in prognosemodellen te begrijpen.

Zoals hierboven vermeld, wordt de simulatie vaak gebruikt in veel verschillende disciplines, waaronder financiën, wetenschap, engineering en supply chain management – vooral in gevallen waarin er veel te veel willekeurige variabelen in het spel zijn. Analisten kunnen bijvoorbeeld Monte Carlo-simulaties gebruiken om derivaten inclusief opties te evalueren of om risico’s te bepalen, waaronder de waarschijnlijkheid dat een bedrijf zijn schulden niet nakomt.

Spel van dobbelstenen

Voor de Monte Carlo-simulatie isoleren we een aantal sleutelvariabelen die de uitkomst van het experiment controleren en beschrijven, en vervolgens een kansverdeling toewijzen   nadat een groot aantal willekeurige steekproeven is uitgevoerd. Laten we, om dit te demonstreren, een dobbelspel als model nemen. Hier is hoe het dobbelspel rolt:

• De speler gooit driemaal drie dobbelstenen die zes zijden hebben.

• Als het totaal van de drie worpen zeven of 11 is, wint de speler.

• Als het totaal van de drie worpen drie, vier, vijf, 16, 17 of 18 is, verliest de speler.

• Als het totaal een andere uitkomst is, speelt de speler opnieuw en gooit hij de dobbelstenen opnieuw.

• Als de speler de dobbelstenen opnieuw gooit, gaat het spel op dezelfde manier verder, behalve dat de speler wint wanneer het totaal gelijk is aan de som die in de eerste ronde is bepaald.

Het wordt ook aanbevolen om een ​​gegevenstabel te gebruiken om de resultaten te genereren. Bovendien zijn 5.000 resultaten nodig om de Monte Carlo-simulatie voor te bereiden. 



Om de Monte Carlo-simulatie voor te bereiden, heb je 5.000 resultaten nodig.

Stap 1: Dice Rolling Events

Eerst ontwikkelen we een reeks gegevens met de resultaten van elk van de drie dobbelstenen voor 50 worpen. Om dit te doen, wordt voorgesteld om de functie “RANDBETWEEN (1,6)” te gebruiken. Dus elke keer dat we op F9 klikken, genereren we een nieuwe set rolresultaten. De cel “Uitkomst” is het totaal van de resultaten van de drie worpen.

Stap 2: Bereik van resultaten

Vervolgens moeten we een reeks gegevens ontwikkelen om de mogelijke uitkomsten voor de eerste ronde en volgende rondes te identificeren. Er is een gegevensbereik met drie kolommen. In de eerste kolom hebben we de nummers één tot en met 18. Deze cijfers vertegenwoordigen de mogelijke uitkomsten na het driemaal gooien van de dobbelstenen: het maximum is 3 x 6 = 18. U zult opmerken dat voor cel één en twee de bevindingen N / A aangezien het onmogelijk is om een ​​één of twee te krijgen met drie dobbelstenen. Het minimum is drie.

In de tweede kolom zijn de mogelijke conclusies na de eerste ronde opgenomen. Zoals vermeld in de eerste verklaring, wint (wint) of verliest (verliest) de speler, of ze spelen opnieuw (opnieuw rollen), afhankelijk van het resultaat (het totaal van drie dobbelstenen werpt).

In de derde kolom worden de mogelijke conclusies voor volgende rondes geregistreerd. We kunnen deze resultaten bereiken met de “ALS” -functie. Dit zorgt ervoor dat als het verkregen resultaat gelijk is aan het resultaat behaald in de eerste ronde, we winnen, anders volgen we de oorspronkelijke regels van het oorspronkelijke spel om te bepalen of we de dobbelstenen opnieuw gooien.

Stap 3: Conclusies

In deze stap identificeren we de uitkomst van de worpen met 50 dobbelstenen. De eerste conclusie kan worden getrokken met een indexfunctie. Deze functie zoekt de mogelijke resultaten van de eerste ronde, waarbij de conclusie overeenkomt met het verkregen resultaat. Als we bijvoorbeeld een zes gooien, spelen we opnieuw.

Men kan de bevindingen van andere dobbelstenen rollen krijgen, met behulp van een “OR” -functie en een indexfunctie genest in een “ALS” -functie. Deze functie vertelt Excel: “Als het vorige resultaat winnen of verliezen is”, stop dan met het gooien van de dobbelstenen, want als we eenmaal hebben gewonnen of verloren, zijn we klaar. Anders gaan we naar de kolom met de volgende mogelijke conclusies en identificeren we de conclusie van het resultaat.

Stap 4: Aantal dobbelstenen rollen

Nu bepalen we het aantal dobbelstenen dat nodig is voordat we verliezen of winnen. Om dit te doen, kunnen we een “AANTAL. ALS” -functie gebruiken, die Excel vereist om de resultaten van “Opnieuw rollen” te tellen en de nummer één eraan toe te voegen. Het voegt er een toe omdat we een extra ronde hebben, en we krijgen een eindresultaat (winnen of verliezen).

Stap 5: simulatie

We ontwikkelen een reeks om de resultaten van verschillende simulaties bij te houden. Om dit te doen, zullen we drie kolommen maken. In de eerste kolom is een van de opgenomen cijfers 5.000. In de tweede kolom zoeken we het resultaat na het gooien van 50 dobbelstenen. In de derde kolom, de titel van de kolom, zoeken we naar het aantal dobbelstenen dat wordt gegooid voordat we de uiteindelijke status (winnen of verliezen) verkrijgen.

Vervolgens maken we een gevoeligheidsanalysetabel met behulp van de feature data of Table Data-tabel (deze gevoeligheid wordt ingevoegd in de tweede tabel en de derde kolom). Bij deze gevoeligheidsanalyse moeten het aantal gebeurtenissen van één tot 5.000 worden ingevoegd in cel A1 van het bestand. In feite zou je elke lege cel kunnen kiezen. Het idee is simpelweg om elke keer een herberekening te forceren en zo nieuwe dobbelstenen rollen te krijgen (resultaten van nieuwe simulaties) zonder de bestaande formules te beschadigen.

Stap 6: waarschijnlijkheid

We kunnen eindelijk de kansen op winnen en verliezen berekenen. Dit doen we met de functie “AANTAL. ALS”. De formule telt het aantal “winnen” en “verliezen” en wordt vervolgens gedeeld door het totale aantal evenementen, 5.000, om de respectievelijke verhouding van de ene en de andere te verkrijgen. We zien eindelijk dat de kans om een ​​Win-uitkomst te krijgen 73,2% is en een Lose-uitkomst dus 26,8%.