Simulace Monte Carlo, která aplikuje náhodné odchylky parametrů — vynechávání obchodů a úpravy cen — napříč více backtesty k vyhodnocení robustnosti vaší strategie vůči reálným provozním nestabilitám.
V reálném světě obchodování se tržní podmínky neustále vyvíjejí. Volatilita se mění, likvidita kolísá a samotný tok dat může vykazovat drobné odchylky tick od ticku. V důsledku toho nemusí ani dobře optimalizovaná strategie fungovat přesně tak, jak předpovídal backtest, protože její klíčové parametry nebo výpočty indikátorů mohou v živých podmínkách vykazovat mírný „jitter“ nebo nestabilitu. Tato simulace Monte Carlo je navržena tak, aby otestovala, jak odolná je vaše strategie vůči těmto drobným, nepředvídatelným odchylkám od jejího bezchybného chování v backtestu.
Pokud tento test Monte Carlo aplikujeme, simulace zavede dva potenciální efekty na obchody v rámci každého vygenerovaného běhu backtestu:
Míhání podmínek (zmeškané vstupy): Na základě pravděpodobnosti přeskočení (Skip Probability) je náhodné procento obchodů z backtestu jednoduše odstraněno. To simuluje situace, kdy mírný jitter parametrů může způsobit, že vstupní podmínka, která byla v historickém backtestu splněna, je v mírně odlišném živém scénáři těsně zmeškána.
Variace výstupní úrovně (kolísání Z/Z): U obchodů, které nebyly přeskočeny, dojde u dalšího náhodného procenta (definovaného pomocí Adjust Probability) k mírné úpravě jejich konečného výsledku. To se provádí úpravou uzavírací ceny (Close Price) obchodu. Velikost úpravy se vypočítá jako náhodné procento (až do Max Price Adjust Percent) z původního cenového rozpětí daného konkrétního obchodu (Open až Close). Zásadní je, že tato úprava může být kladná i záporná, což znamená, že efekt chvění (jitter) může náhodně vést k mírně lepší nebo mírně horší uzavírací ceně, a simulovat tak drobné odchylky v bodech exekuce Stop Lossu, Profit Targetu nebo trailing stopu.
Jednoduše řečeno, spuštěním 500 (nebo jiného počtu) simulačních backtestů, z nichž každý aplikuje na seznam obchodů jiné náhodné přeskočení a náhodné obousměrné cenové úpravy, získáte pohled metodou Monte Carlo na to, jak citlivá je výkonnost vaší strategie na malé náhodné nestability ve své vlastní logice provádění nebo v reakci na tržní data.
Například spuštění 100 simulací pomocí tohoto testu vygeneruje 100 různých křivek kapitálu (equity curves), přičemž každá z nich představuje věrohodný vývoj výsledků s přihlédnutím k těmto drobným náhodným odchylkám.
Tento test se výrazně liší od aplikace fixního skluzu (slippage) nebo simulace náhodných výpadků. Nevede pouze k trvalému zhoršování výsledků; zavádí pravděpodobnostní narušení přímo spojené s potenciální citlivostí vnitřních parametrů strategie. Jedna simulace může přeskočit obchody č. 3 a č. 25, mírně zhoršit obchod č. 10 a mírně vylepšit obchod č. 42. Jiná simulace může přeskočit pouze obchod č. 15, ale aplikovat větší cenové úpravy (jak kladné, tak záporné) na obchody č. 8, č. 33 a č. 50. Vyhodnocením rozdělení výsledků napříč mnoha simulacemi můžete posoudit skutečnou robustnost strategie vůči jemným provozním odchylkám, se kterými se často setkáváme při živém obchodování.
Jak importovat vlastní snippety (jako je tento Monte Carlo test) do SQX:
Znáte mě jako clonex. Jsem Ivan Hudec — vytvořil jsem bezplatné bloky, které zde používáte, a o výzkumu, který za nimi stojí, píšu na algotrading.space. Potřebujete něco vytvořit? Pojďme spolupracovat.