Vad är en Monte Carlo analys och varför används den? I ett försök att försöka förklara detta studera bilden nedan.
Tänk dig att du ska räkna ut arean på formen som du ser nedanför, hur gör du detta?

Du skulle kunna försöka uppskatta att en del av bilden är en cirkel med viss area, en annan del är en mindre cirkel och så vidare. Problemet är att du inte kommer få fram ett exakt resultat på detta tillvägagångssätt. Så hur går vi tillväga för att lösa ett sådant problem?
En lösning på problemet är att du skriver ut bilden och sätter upp den på en vägg. Därefter tar du t.ex. ett luftgevär och laddar det med ett skott. Därefter sätter du på dig en ögonbindel och skjuter mot formen. Träffar du inuti formen noterat du detta och missar du noterar du detta.
Därefter gör du detta flera tusen gånger, då kommer du att ha fått fram hur stor del av skotten som prickar formen och hur stor del som träffar utanför. Eftersom du vet hur stor area pappret som du skrev ut formen på har, långsidan multiplicerat med kortsidan, kan du nu enkelt räkna ut arean av formen. Formen kommer ha samma procentuella del av papprets totala area som sannolikheten är att träffa den.
Det finns dock en del parenteser kring detta exempel, det är t.ex. så att du skjuter på ett visst sätt vilket gör att du kommer att träffa mer på ett visst ställe än andra. Men tänk att istället för att använda sig av ett papper, ögonbindel och ett luftgevär använder vi oss av en dator för att räkna ut detta.
Istället för att vi skjuter på ett slumpvist ställe gör en dator detta och noterar om skottet träffade eller inte. Därefter gör datorn detta flera tusen gånger, vilket går betydligt fortare än att du ska göra det, och räknar då snabbt ut hur stor arean är på denna komplicerade form.
Detta är i princip vad en Monte Carlo analys är, när vi tar hjälp av en dator för att räkna ut en matematisk modell genom att slumpvis applicerade värden på parametrar och därigenom komma fram till resultat av en komplicerad situation.
Att t.ex. räkna ut hur långt jag kan kasta en handboll när vi vet vilken kraft jag skjuter handbollen med och den vinkel jag kastar iväg bollen med är enkelt. Detta tror jag säkert att du kommer ihåg från skolan att du räknade på. I teoriböckernas värld ser ofta problemen ut så, men den riktiga världen är sällan så enkel, det finns betydligt fler parametrar att ta hänsyn till och relationen mellan dem är ofta komplicerad.
En Monte Carlo analys tar alla dessa parametrar och slumpar fram olika scenarion mellan dem och tittar därefter på resultaten. Vi kan enkelt bestämma vilka värden dessa parametrar ska anta. Efter att ha gjort detta väldigt många gånger kommer vi få fram en sannolikhet för hur långt jag troligtvis kommer kasta en handboll.
Vi kommer som exempel få fram att sannolikheten att jag kastar en handboll kring 10 m är 0.5% medans att den ska nå 80 m är 60% och att den ska nå 100 m är 0.5%.
Genom att göra på detta sätt kommer vi få reda på vad det mest troliga utfallet är av denna komplexa situation.
Monte Carlo analysens historia
Den moderna versionen av Monte Carlo analysen föddes under den senaste delen av 40-talet. Grundaren till denna analys är en man vid namn Stanislaw Ulam och kom på metoden under tiden han arbetade med kärnvapenprogrammet under andra världskriget.
I programmet att utveckla kärnvapen hade forskarna all necessär data men trots detta lyckades de inte att lösa de problem de stod inför. Alla de konventionella sätt som tidigare hade varit kända kunde inte lösa problemen. Ulam föreslog då att problemen kunde lösas med slumpmässiga experiment.
Namnet Monte Carlo kom från att projektet var hemligstämplat och så även analysen. Eftersom projektet vad hemligstämplat behövdes ett kodnamn, en kollega kom då på att kalla analysen för Monte Carlo. Detta eftersom Ulams farbror älskade att vadslagning och brukade låna pengar av Ulam för att finansiera detta. De ansåg att Monte Carlo, som var dåtidens Las Vegas, var ett väldigt passande namn.
I sin grund användes alltså Monte Carlo analysen för att simulera kärnvapen men idag används analysen inom finans, energisektorn, ingenjörsvetenskap, försäkring, sjukhus med mera. Detta är ett bra sätt att få fram sannolikheten för ett resultat där ett antal parametrar måste ses över.

Monte Carlo analys och trading
Hur använder vi då Monte Carlo analysen för att få en bättre förståelse för den risk vi tar inom trading. En Monte Carlo analys är relativt enkel och består av fyra steg.
- Ta reda på den matematiska modell du vill analysera, t.ex. att ändra ordning på de affärer vi historiskt har fått, ordningen på affärerna kommer att påverka din drawdown.
- Ta fram värden på de parametrar du vill titta på, detta kan t.ex. vara strategins snittavkastning, hitratio med den kan även vara hur mycket du satsar varje gång.
- Därefter måste vi generera slumpmässiga resultat från den data vi har gett den matematiska modellen.
- Till sist behöver vi analysera våra resultat.
Jag kommer senare gå igenom en Monte Carlo analys på en av mina strategier, så du kan se hur jag går tillväga. När vi har gjort dessa steg kommer vi få fram sannolikheter för olika resultat. Utefter dessa resultat kan vi ta ställning kring våra parametrar t.ex. är jag villiga att satsa så mycket varje gång om sannolikheten för att jag ska få 20% eller mer i drawdown är 70%.
Inom trading är ofta den matematiska modellen som vi analyserar ordningen på affärerna. Som jag nämnde innan har detta en betydelse för den drawdown du får. Tänk dig att du har en strategi som har genererat 10 affärer, 5 av dessa affärer är förluster och 5 av dem är vinster.
Om vinsterna och förlusterna kommer omlott, alltså varannan vinst varannan förlust, kommer drawdownen för denna strategi inte vara speciellt stor, den kommer vara lika stor som den största förlusten.
Om alla förluster istället skulle komma direkt efter varandra kommer drawdownen för strategin bli betydligt större. Nu kommer drawdownen istället vara lika stor som alla förluster tillsammans, en väldigt stor skillnad jämfört med tidigare.
Sannolikheten för att vinsterna och förlusterna ska komma omlott eller att alla förluster kommer direkt efter varandra är inte speciellt stor. Genom att slumpmässigt ändra ordningen på affärerna i en Monte Carlo analys kommer vi få reda på sannolikheterna för olika drawdowns.
Det finns flera fördelar med en Monte Carlo analys och några av dem är:
- Du får ett svar på hur sannolikt ditt resultat är. Låt säga att du har en strategi där du har ett antal affärer. Resultatet för hur affärerna kom enligt historien har gett dig en drawdown på 20%. Om du gör en Monte Carlo analys på detta kommer du se hur sannolik denna drawdown är för din strategi.
- Du kan enkelt ändra dina parametrar och se hur det påverkar ditt resultat. Du kan t.ex. enkelt ändra hur mycket du satsar vi varje tillfälle för att se hur detta påverkar din totala drawdown.
- Du kan enkelt få fram en graf för sannolikheten för olika scenarion, detta gör att du enkelt och snabbt kan ta beslut för de olika parametrarna.
- En Monte Carlo analys är relativt snabb att göra istället för att du manuellt ska sitta och analysera flera 100 olika scenarion.
En Monte Carlo analys av en strategi
Jag tänkte vi skulle titta på en Monte Carlo analys på en strategi. Strategin är backtestad och Monte Carlo analysen kommer att ske på de 100 senaste affärerna som strategin har genererat. Monte Carlo analysen kommer att vara på ordningen av affärerna och jag gör den i ett program som jag själv har kodat upp med hjälp av Python.
Därefter kommer vi att titta på vad sannolikheten är för olika drawdowns om strategin rent potentiellt kommer att generera liknande affärer i framtiden. Bara eftersom vi kommer få liknande affärer i framtiden betyder det inte att förlusterna och vinsterna kommer komma i samma följd. Detta påverkar då vår drawdown och detta är intressant att undersöka med hjälp av en Monte Carlo analys.
Som jag skrev innan kommer vi att slumpmässigt testa ordningen på affärerna, vi kommer att slumpmässigt ändra ordningen på affärerna och se vad drawdownen blir för varje sekvens av affärer. Detta kommer att göras 1000 gånger.
Statistiken för strategin ser ut på följande sätt:
Snittavkastning | 1.05% |
Stdev | 3.22 |
Hitratio | 83% |
Avg win | 2.17% |
Avg loss | -4.68% |
Biggest win | 6.73% |
Biggest loss | 12.36% |
Edge/Stdev | 0.324 |
En Monte Carlo analys av affärerna där jag satsar 100% av mitt kapital varje gång kommer att se ut på följande sätt:

Det vi kan se i grafen på y-axeln är vår drawdown och på x-axeln ser vi hur stor chans det är att vår drawdown är detta eller mindre. Du läser grafen som att värdet på y-axeln har en X% chans att vara så hög eller lägre..
Som vi kan se är den minsta drawdownen vi kan få 12.36%, vilket är logiskt eftersom detta är strategins största förlust. Detta ser vi genom att titta längst till vänster i grafen.
Därefter kan vi se att de är 50% chans att vår drawdown kommer vara 18% eller lägre. Detta i sin tur ser vi genom att vi tittar på 50% på x-axeln och letar upp på kurvan var för drawdown detta leder till.
Jag brukar tittar på vilken den största drawdownen är till 90% sannolikhet. I detta fall blir den drawdownen 25%. Det vill säga att om jag skulle köra denna strategi och de framtida 100 affärerna kommer att efterlikna dessa föregående 100 kommer jag med 90% sannolikhet inte ha en drawdown som är 25% eller lägre.
Vi har alltså med hjälp av Monte Carlo analysen fått en större förståelse för våran risk och vilken sannolikhet det är att vi kommer få en viss drawdown. Efter dessa resultat kan jag ta beslutet att ja, jag kan satsa 100% av mitt kapital varje gång denna strategi får en signal eller så tycker jag att 25% drawdown är för stort och väljer du att satsa mindre varje gång.
Om jag anser att detta är för mycket kan anpassa hur mycket jag satsar och köra Monte Carlo analysen igen. Blir resultatet bättre denna gång vet jag alltså hur mycket jag ska satsa.