Monte Carlo: distribuce místo jednoho čísla
Metoda Monte Carlo se zrodila ve čtyřicátých letech v Los Alamos, když Stanisław Ulam a John von Neumann potřebovali spočítat věci, na které matematika „napřímo" nestačila — a tak je nechali rozhodnout náhodou, tisíckrát za sebou. Jméno dostala po kasinu, kde prohrával Ulamův strýc. O osmdesát let později je to jeden z nejpoctivějších nástrojů, jaké může trader na svou strategii vypustit. Princip zůstal stejný: když si nejsi jistý jedním výsledkem, vygeneruj si jich tisíc a podívej se na celé rozdělení.
Jedna historie je vzorek o velikosti jedna
Backtest — i ten nejpoctivější — má jednu tichou slabinu: běží na trhu, který se stal právě takhle. Jenže konkrétní průběh cen je jen jedna z nekonečna verzí, které se „skoro staly". Kdyby pár obchodů na burze proběhlo o vteřinu jinak, kdyby jedna svíčka měla knot o desetinu procenta delší — vaše strategie mohla vstoupit jinde, stop-loss mohl (ne)cvaknout, a výsledek mohl vypadat úplně jinak.
Pokud výkon strategie stojí na přesném průběhu jedné historie, nemáte strategii — máte sázku na to, že se minulost bude opakovat do puntíku. Nebude. Statistik by řekl: jedna equity křivka je vzorek o velikosti jedna, a na vzorku jedna se závěry nestaví. O tom, jak snadno se strategie na jednu historii „přeučí", píšeme v článku o přeoptimalizaci.
Trhy, které se skoro staly
Monte Carlo simulace tu slabinu řeší přímočaře: vyrobí trhy, které se nestaly, ale klidně mohly. Do historických cen vstříkneme kontrolovaný šum — v řádu desetin procenta, gaussovský (jemné vlnění kolem skutečnosti) nebo rovnoměrný (tvrdší rozhození). Důležitý je přitom řemeslný detail: šum dostává každá cena svíčky zvlášť — open, high, low i close — a slepá úprava by snadno vyrobila svíčku, která nemůže existovat: otevírací cenu nad maximem, závěr pod minimem. Proto se po zašumění stavba každé svíčky znovu vynutí: high musí zůstat nejvyšším a low nejnižším bodem, open i close musí ležet mezi nimi — a rozestup nabídky a poptávky (spread) se nesmí rozpadnout. Jen tak zůstane pozměněný trh trhem; jinak netestujete robustnost, ale chování strategie na datech, která nikdy nemohla nastat.
Každý takový syntetický trh je nová zkouška: strategie na něm odehraje celou historii znovu, se stejnými pravidly a stejnými parametry. Stovky až tisíce běhů (každý s vlastním semínkem náhody, aby šel kdykoliv zopakovat) — a z jednoho čísla je najednou distribuce: histogram zisků, vějíř equity křivek, rozdělení drawdownů.
Pro úplnost: existuje i druhá rodina Monte Carlo testů, která místo dat přeskupuje výsledné obchody (jejich pořadí, výběry) — prověřuje hlavně sekvenční riziko drawdownů. Obě rodiny se doplňují; šum do dat je přísnější, protože strategie musí znovu rozhodovat na cenách, které nikdy neviděla.
Co z distribuce čteme
- Medián a percentily zisku. Medián je poctivější „očekávaný výsledek" než jeden backtest. Kvartily (25.–75. percentil) říkají, jak moc se výsledky rozjíždějí; 95% interval ohraničuje realistické rozpětí.
- Hranice nejhorších scénářů (VaR). Pátý percentil zisku — hodnota, pod kterou spadne jen jeden běh z dvaceti. Tohle číslo odpovídá na otázku, kterou si má trader klást první: kolik můžu realisticky ztratit?
- Distribuce drawdownů. Průměrný a krajní drawdown napříč běhy. Jediný backtest ukáže jeden drawdown; distribuce ukáže, jak zle to může dopadnout, když se sejdou horší okolnosti — na tlusté konce nezapomínejte (psali jsme o nich).
- Podíl ziskových běhů. Strategie zisková v 95 bězích ze 100 stojí na něčem skutečném. Strategie zisková v 55 ze 100 je hod mincí s lepším marketingem.
Rozhodující otázka: kde leží původní běh?
Nejcennější informace celé simulace je poloha původního backtestu uvnitř vějíře. Leží-li poblíž mediánu, výsledek je vlastností strategie — na přesném průběhu historie nezáleželo. Leží-li u horního okraje pásma (nebo dokonce nad ním), znamená to, že skutečná historie byla pro strategii výjimečně přívětivá — měli jste štěstí na data, a co předvedl backtest, od živého trhu nečekejte. To je mimochodem klasický otisk přeoptimalizace: strategie přisátá na šum jedné historie se rozpadne, jakmile jí ten šum vezmete.
Časté chyby
- Málo běhů. Z dvaceti simulací distribuci nepostavíte; percentily z malého vzorku jsou šum. Stovky běhů jsou minimum, tisíce standard.
- Šum bez tržní logiky. Rozhodit ceny bez zachování stavby svíček a spreadů vyrábí nemožné trhy — a výsledky beze smyslu.
- Ladění podle simulace. Kdo upravuje parametry, dokud vějíř nevypadá hezky, přeoptimalizovává o patro výš — Monte Carlo je zkouška, ne další trénink.
- Záměna za předpověď. Simulace neříká, co trh udělá. Říká, jak citlivá je vaše strategie na to, že se minulost nezopakuje přesně. To je jiná — a užitečnější — informace.
Jak s tím pracujeme my
V našem testovacím řetězu je Monte Carlo čtvrtá brána — po backtestu, genetické optimalizaci a walk-forwardu. Do cen vstřikujeme kontrolovaný šum se zachováním stavby svíček i spreadů, každý běh je reprodukovatelný, a výsledky čteme přesně v pořadí popsaném výše: vějíř, medián, percentily, hranice nejhorších scénářů, distribuce drawdownů — a poloha původního běhu v tom všem. Nezajímá nás nejlepší běh. Zajímá nás medián a levý ocas — protože přesně tam se rozhoduje o přežití. Distribuce, ne jedno číslo.
Chcete vidět distribuci výsledků své strategie místo jednoho čísla? Kontaktujte nás →