Monte Carlo módszer a részvények, pénzügyek világában

Cikkünkben a Monte Carlo sztochasztikus szimuláció módszer alkalmazását mutatom be elsődlegesen a részvénypiac, a befektetés, a pénzügyek vonatkozásban. A cikkünkben a módszer lényegén túl gyakorlati példákon keresztül nézzük végig a szimuláció lépéseit, az eredmények értelmezését. Témáink:

  • Mit jelent a Monte Carlo szimuláció?
  • Miért van erre szükség a befektetés, tőzsdei kereskedés során?
  • Mi az a robusztusság?
  • Hogyan működik a monte carlo szimuláció a gyakorlatban?
  • Monte carlo szimuláció a múltbeli hozamra

Mit jelent a Monte Carlo szimuláció?

A Monte Carlo szimuláció egy statisztikai módszer, amely véletlenszerű mintavételezésen alapul. Ezen sajátossága miatt széles körben alkalmazható olyan helyzetekben, ahol a folyamatok véletlenszerűsége felmerül. A Monte Carlo szimuláció elsődlegesen abból áll, hogy ismert vagy becsült paraméterek alapján véletlenszerű adatokat generálunk, majd ezeket felhasználjuk a rendszer viselkedésének, teljesítményének vagy kimenetének előrejelzésére, a bizonytalanság modellezésére. A fentiekből látható, hogy ezen sajátosságai miatt nagyon jól használható a pénzügyekben, például befektetési eszközök, hozamgörbék, kereskedési stratégiák eredményeinek tanulmányozására.

Miért van erre szükség a befektetés, tőzsdei kereskedés során?

Hallgatói megkeresésekből kiindulva azt mondhatjuk, hogy a befektetőket, tőzsdei kereskedőket gyakran foglalkoztatják olyan kérdések, hogy a múltbeli adatokon kifejlesztett kereskedési stratégia eredménye vagy a befektetési eszközök múltban mért hozamgörbéje milyen valószínűséggel ismétlődhet meg a jövőben. Konkrétabban fogalmazva, tegyük fel, van egy kereskedési stratégiád, mely a múltbeli adatokon 1000 ügyletkötésen visszatesztelve évi 30 százalékos hozamot hozott, 30 százalékos maximális visszaesés mellett. Honnan tudhatod, hogy ez az eredmény nemcsak a véletlen műve? Honnan tudhatod, hogy ez az eredmény nemcsak azért született, mert túloptimalizáltad (lásd overfitting) a paramétereket?

Hasonló kérdéseket tehetnek fel a részvénypiaci befektetők is. Például azt az ajánlatot kapod brókeredtől, hogy fektesd a pénzedet Coca-Cola részvényekbe, mert az elmúlt öt évben évi 26 százalékot hozott, és ha befektettél 100 dollárt, akkor az ötödik év végére 320 dollárra hízott az egyenleged. Felmerülhet az a kérdés ilyenkor, hogy mekkora esélye van annak, hogy ehhez hasonló, a múltbeli adatok megfigyelt eredmény megismétlődik a jövőben. Erre a kérdésre adnak választ a robusztussági vizsgálatok.

Mi az a robusztusság?

A robusztusság azt jelenti, hogy egy rendszer vagy folyamat ellenálló és megbízható marad a külső zavarokkal vagy hibákkal szemben, és képes fenntartani a működőképességét változó körülmények között. A robusztus stratégia érzéketlen az árak változékonyságára, ami azt jelenti, hogy a piaci feltételek megváltozásakor továbbra is jól teljesít. A robusztusságot jellemzően az alábbi vizsgálatokkal állapítjuk meg:

  • Van rá logikus magyarázat (fundamentális, kockázati, viselkedési)?
  • Mit mutatnak az out of sample tesztek?

Bármilyen befektetési módszerről, összefüggésről, stratégiáról beszélünk, az első feladatunk a logikus magyarázat keresése. Például a momentum-stratégiák alapját adó momentum-anomália azért létezik, mert a befektetők kognitív torzításokat (például overconfidence) követnek el. Ha találunk logikus magyarázatot, akkor ugorhatunk a következő lépésre, azaz mit mutatnak az out of sample tesztek. Ennek megértéséhez tisztában kell lennünk azzal, hogy bármely módszer, stratégia kialakítása jellemzően egy meghatározott adatkörön (in sample) történik. Például a momentum-anomáliát 1926-1990 közötti adaton mutatta ki Jegadeesh és Titman. Ezek az in sample adatok, és időközben eltelt 30 év, azaz újabb, nagyobb mennyiségű out of sample adat áll rendelkezésünkre (1990-2023), melyen vizsgálhatjuk a stratégia eredményességét. Sajnos azonban hosszú távú stratégiák esetében nem mindig tudunk másik időtávot, másik piacot választani. Ilyenkor lesz jelentősége a robusztussági teszteknek, melyek közül az alábbiak a legismertebbek:

  • WRC, - White Reality Check
  • Monte Carlo (random change)
  • Bootstrap (sample replacement)
  • p-value deflation,
  • Cross validation

Hogyan működik a monte carlo szimuláció a gyakorlatban?

Képzeljük magunkat egy tőzsdei kereskedő helyébe, akinek van egy kereskedési stratégiája, melyet múltbeli adatokon visszatesztelt. Most az egyszerűség kedvéért induljunk 10 dolláros kezdeti egyenleggel, és mindössze 25 ügyletkötéssel (valóságban az ideális a több száz, ezer ügylet), melyek eredményeit az alábbi sorban találod:

 10, -10, 1, -12, 5, -1, 5, -1, 5, -1, 5, -1, 5 , -11, 5, -1, 5, -1, 1, -1, 5, -1, 5, -1, 1

A fenti sorban minden egyes szám az egyenlegváltozást írja le, azaz a 10 dolláros kezdeti egyenlegünk 20 dollárra emelkedik, majd visszaesik 10 dollárral, újból 1 dollárral emelkedik. A 25-dik kötés végére 26 dolláros egyenlegünk lesz. A kezdeti tőkére vetítve (10 dollár) ez egy olyan eredmény, amivel meg lehetünk elégedve. A kérdésünk tehát az, hogy a stratégiánk eredménye, mennyire tekinthető a jövőre nézve is megbízhatónak, mennyire robusztus a stratégiánk. Ehhez monte carlo szimulációt fogunk végezni, melynek lényege, hogy a fenti ügyletkötéseket összekeverjük véletlenszerűen, majd az összekevert ügyletekből kiszámolunk egy új végső egyenleget, és ezt a műveletet megismételjük 10 ezer alkalommal, így 10 ezer darab új egyenlegünk lesz, melyet az eredeti ügyletkötésekből képeztünk. A folyamat sematikus ábrája az alábbi képen látható.

forrás: Error propagation by the Monte Carlo method..

Ezzel együtt bemásolom a bootstrap szimuláció metódusát ábrázoló grafikont.

forrás: Error propagation by the Monte Carlo method..

A két módszer között az az alapvető különbség, hogy a monte carlo szimulációban véletlenszerűen cseréljük az adatokat fel, a bootstrap szimuláció során határozott kombinációk alapján zajlik a szimuláció. A fentiek miatt a monte carlo szimuláció kétfajta mintavételezést alkalmaz. Az egyik esetben egyetlen szimuláció során a felhasznált elem már nem kerül vissza, azaz nem lesz ismételten felhasználva. A másik esetben a szimulációk során a felhasznált elemek visszakerülnek, és akár kihúzhatjuk ismételten. Álljon itt egy példa egy egyszerű sorozatra: 1, 2, 3, 4, 5.

Visszatevéses mintavétel esetén a monte carlo szimuláció egyik esete kinézhet így: 1, 1, 1, 1, 1, azaz minden alkalommal az 1-es számot használtuk fel, visszatettük, újra kivettük. Ha nagyon sok szimulációt futtatunk, szükségszerűen bekövetkezik az ilyen, egyébként ritka esemény. Ha a kiválasztott elemet nem tesszük vissza, akkor a kombináció száma sokkal kisebb, például 1,3,2,4,5, de nem lehet két egyforma számjegy (mert nincs a sorozatunkban). Mindkét szimuláció használható a kereskedési stratégiák tesztelése során, de mi nagyrészt a visszatevéses mintavételt használjuk a folytatásban.

Megvan tehát a fenti stratégiánk kötéslistája, kezdjük el a szimulációt. A szimulációhoz én az R statisztikai szoftvert használom (ez ingyenes), de Matlab, IBM SPSS (ezek fizetősek) és sok más programot is használhatunk. Az alábbi képen egyelőre csak 30 szimulációt futtattunk, piros színnel kiemelve az eredeti stratégia egyenlegváltozását követheted nyomon.

A gyors próba után most nézzük meg a 10.000 szimuláció eredményét. A grafikon már teljesen áttekinthetetlenné vált 10 ezer görbével.

Nézzünk inkább egy hisztogramot, ahol az x-tengelyen az időszak végi egyenleg, az y-tengelyen az esetszám látható. Kék függőleges vonallal jelöltem az eredeti stratégia 26 dolláros eredményét.

A 10 ezer esetet bontsuk fel percentilisekre is.

Percentilis

Egyenleg

1st

-38

5th

-19

10th

-8

25th

9

50th

27

75th

43

90th

68

A táblázatból kiderül, hogy a 26 dolláros egyenlegünk a minta közepén (50th) található, azaz a véletlenszerűen generált portfóliók több mint felének jobb eredménye lett, mint a mi stratégiánknak. Ugyanakkor, ha 26 dolláros egyenleg helyett az eredeti stratégiánk eredménye 69 dollár lett volna, akkor azt mondhatjuk, hogy az összes véletlenszerűen generált eset legjobb 10 százalékba esik az eredményünk, mely inkább arról árulkodik, hogy nem a véletlennek köszönhető az eredeti stratégia rendkívül jó eredménye. Természetesen kockázatot (max. drawdown, szórás), átlaghozamot, halmozott hozamot is vizsgálunk a fenti folyamat során, illetve akár arra is lehetőség van, hogy ne kötéslista, hanem heti, havi, éves hozamok alapján futtassuk a szimulációt. Nemcsak arra van lehetőségünk, hogy a stratégia eredményeire futtassunk szimulációt, hanem a múltbeli árváltozásra. Nézzünk erre egy másik példát.

Visszatevés nélküli Monte Carlo szimuláció

Az alábbi grafikonon már egy visszatevés nélküli szimulációt láthatunk. Ebben a példában már 105 ügyletkötés, egyenlegváltozás adatait dolgozzuk fel, de a véletlenszerű eseteket úgy alakítjuk, hogy ha egy ügyletkötést felhasználtunk, akkor már többször nem használjuk fel abban az iterációban. Ennek következménye, hogy az összes eset végső eredménye megegyezik. Az alábbi grafikonon 10 ezer esetet látunk, illetve nem látunk, mert a piros görbék sokasága egy piros foltot ad a grafikonon. Pirossal, vastagon kiemeltem a stratégia eredeti eredményeit. Itt jól látszik, hogy a 25-75 ügyletszám között a görbe a halmaz felső szélébe kerül, azaz az egyik legsikeresebb változat lesz.

Monte Carlo szimuláció a múltbeli hozamra

Képzeljük el azt az esetet, hogy brókerünk Coca-Cola részvényeket ajánl megvásárlásra. Az adatokat vizsgálva azt látjuk, hogy a részvények előző 5 évi hozama évi 26 százalék volt, 0,9-es sharpe-ráta mellett (tőzsdeindex sharpe-rátája kb. 0,4). Az időszak alatt a kezdeti 100 dolláros egyenleg 319 dollárra bővült. Azt szeretnénk tudni, hogy ez a hozamgörbe (lásd alábbi képen) mekkora valószínűséggel ismétlődhet meg a jövőben.

Ezért most is a monte carlo szimulációhoz fordulunk, és felhasználjuk több évtizednyi árfolyamadatát a Coca-Cola részvényeknek, és a havi hozamok alapján generálunk 10 ezer darab véletlenszerű portfóliót. A vizsgálat eredményét az alábbi grafikon foglalja össze. Itt bizony ismét 10 ezer eredménygörbét látunk, de percentilisekben kifejezve. Az is kiderül az adatokból, hogy a 319 dolláros eredmény a 90 percentilissel vethető össze, azaz az 5 éves időszakon megfigyelt eredmény az összes eset legjobb 10 százalékába tartozik, mely erősíti azt a gyanút, hogy rendkívül jó, ritkán megismétlődő múltbeli adatokat vetítünk ki a jövőbe. Ez egyúttal azt is jelenti, hogy a Coca-Cola részvények esetében kb. 10 százalék az esély arra, hogy a következő 5 évben is ilyen rendkívül jó eredményt kapjunk.  

A fenti grafikont a sűrűségfüggvény is megerősíti, lásd alábbi képen.

Összegezve a fentieket. A monte carlo szimuláció jól használható arra, hogy befektetési módszerek, stratégiák múltbeli eredményeiről véleményt formáljunk, robusztusságot vizsgáljunk. Természetesen ez a módszer sem ad garanciát egy stratégia, módszer jövőbeni sikerességére, de nagyon sok túloptimalizált, csak in sample adatokon működő, nem robusztus stratégiát kiszűrhetünk vele.

Ha kérdésed van a fentiekkel kapcsolatban, hozzá szeretnél szólni a témához, csatlakozz facebook csoportunkhoz ide kattintva!

Tanfolyamaink:

Új tartalmak

please do NOT follow this link