Backtesting je proces aplikace obchodního pravidla na historická cenová data, aby se zjistilo, jak by se chovalo. Testuje vnitřní logiku pravidla a kvalitu dat, nikoli budoucnost. Jakékoli číslo, které vyprodukuje, je hypotetickým výsledkem, protože na trh nebyl nikdy odeslán žádný příkaz.
Co musí platit, než výsledek začne něco znamenat
Většina backtestů selhává na vstupech, ne na logice.
- Náklady uvnitř testu. Spread, poplatek a financování přes noc se účtují u každé pozice na trhu, takže patří do výpočtu testu. Pravidlo testované na středních cenách je pravidlo testované na cenách, za které nikdo neobchoduje.
- Granularita dat. Data ze svíček zaznamenávají čtyři ceny na svíčku a neříkají nic o cestě mezi nimi. Pokud pravidlo může uvnitř jedné svíčky zasáhnout ochrannou hladinu i cíl, svíčková data neurčí, co přišlo dřív; ticková data ano, a jen za období, které tiková historie pokrývá.
- Délka a pokrytí období. Okno musí obsahovat více než jeden stav trhu — trendový i rozsahový, klidný i volatilní, alespoň jeden cyklus měnové politiky. Pravidlo testované na jediném stavu bylo otestováno jednou, ne mnohokrát.
- Oddělená data. Parametry zvolené na jednom období by měly být prověřeny na období, které k jejich volbě použito nebylo. Bez tohoto oddělení nelze odlišit napasování od nálezu.
Čtyři standardní chyby
Napasování na křivku. Parametry se upravují, dokud historický výstup nevypadá co nejlépe. Každý další parametr přidává způsoby, jak minulost popsat přesně; ten popis pak patří tomu vzorku a ničemu jinému. Méně parametrů a stabilní chování napříč sousedními hodnotami mají větší cenu než jediné lichotivé nastavení.
Zkreslení pohledem dopředu. Test používá informaci, která v okamžiku rozhodnutí nebyla k dispozici: zavírací cenu použitou uvnitř svíčky, kterou uzavírá, revidované ekonomické číslo místo prvního zveřejnění, seznam složek indexu v dnešní podobě. Pravidlo pak zdánlivě ví věci, které vědět nemohlo.
Zkreslení přeživších. Seznam instrumentů obsahuje jen to, co dosud existuje. Vyřazené akcie, ukončené kontrakty a měny, které byly přeukotveny nebo opuštěny, ze vzorku vypadnou, takže vzorek popisuje přeživší.
Ignorované provedení. Předpokládá se plnění za požadovanou cenu. Skutečné tržní a stop příkazy se plní za nejbližší dostupnou cenu, mezery hladiny přeskočí celé a rekvotace nechají zamýšlené obchody nevyplněné.
Proč se historický výsledek nepřenáší dopředu
Podle čl. 44 odst. 5 nařízení v přenesené pravomoci (EU) 2017/565 je backtest simulovanou minulou výkonností a čl. 44 odst. 6 písm. a) zakazuje, aby informace o budoucí výkonnosti vycházely ze simulované minulé výkonnosti nebo na ni odkazovaly. Z tohoto důvodu zde nejsou uváděna žádná čísla výkonnosti.
Podstata ale není regulatorní. Backtest měří jedno pravidlo proti jedné zaznamenané posloupnosti cen, která už proběhla, při jedné sadě nákladů a jednom předpokladu provedení. Režimy volatility se mění, spready a swapové sazby se mění, podmínky likvidity v danou hodinu se mění a vztahy, na kterých pravidlo staví, nejsou stabilní vlastností trhu. Čistý test vám řekne, že pravidlo bylo implementováno správně a přežilo široký vzorek; nepřenáší výsledek toho vzorku na období, které trh ještě nevytvořil. Berte výstup jako filtr, který odstraňuje rozbitá pravidla, nikoli jako předpověď.
Související pojmy
Zdroje
- Nápověda MetaTrader 5: Testování strategií v testeru strategií (anglicky)
- Referenční příručka MQL5: Testování obchodních strategií (anglicky)
- Nápověda MetaTrader 5: Reálné a generované ticky při testování (anglicky)

