Backtest může správně časově označit každou svíčku, a přesto používat informace z budoucnosti. Stává se to, když strategie testuje dnešní přeživší aktiva napříč roky historie, jako by věděla, které trhy zůstanou likvidní, zalistované a natolik zajímavé, aby v seznamu zůstaly.
Sestavení univerza je součástí strategie. Pokud si živý systém mohl vybírat jen z aktiv dostupných v daný okamžik rozhodování, backtest musí respektovat stejnou hranici. Tři běžné zkratky ji pravidelně stírají.
První chyba: backtestování dnešního seznamu napříč celou historií
Představte si, že dnes vyberete 50 největších kryptoměnových perpetual trhů a pak je backtestujete od roku 2021. Seznam nezahrnuje kontrakty, které zanikly, ztratily likviditu nebo byly delistovány. Zároveň ale dává starším datům přístup k trhům, které tehdy možná ještě neexistovaly.
Škody se snadno přehlédnou: strategie vypadá stabilněji, protože aktiva, která selhala, z jejího vzorku zmizela. Například momentum pravidlo může vypadat skvěle na dnešních 50 trzích, zatímco historická verze by opakovaně alokovala prostředky do aktiv, která později zkolabovala nebo přišla o zalistování na burze. Testovali jste portfolio vybrané se znalostí výsledku.
Zaznamenávejte členství jako časově označený záznam. U každého aktiva sledujte, kdy se stalo způsobilým, kdy způsobilost skončila a proč. Při každém rebalancování uplatněte pravidla pouze s využitím tehdy dostupných informací. Trh by měl být zařazen až po skutečném zalistování a případné požadované zahřívací době. Pokud je delistován, musí být pro jeho konečnou pozici definován postup pro výstup nebo vypořádání; smazání jeho řádků není pravidlo pro výstup.
Druhá chyba: řazení podle statistiky vypočtené až po rozhodnutí
I historické univerzum může propouštět budoucí informace, pokud jeho pravidlo pro zařazení používá okno, jehož konec leží v budoucnosti. „Každý měsíc obchodovat 20 nejlikvidnějších akcií“ zní rozumně, dokud se likvidita neřadí podle celého měsíce, během kterého má strategie obchodovat.
Představte si, že rebalancujete první obchodní den. Řazení podle průměrného dolarového objemu za daný měsíc nenápadně využívá následující tři týdny k rozhodnutí, co splňovalo podmínky první den. Škody se často projeví jako neobvykle dobrá kapacita: strategie se vyhne aktivům, která později během měsíce ztratila likviditu, ačkoli to při vstupu nemohla vědět.
Stanovte konec měřicího období před okamžikem výběru. Při měsíčním rebalancování během první obchodní seance můžete například řadit podle předchozích 20 dokončených seancí, které končí předchozí seancí. Pak výslovně uveďte zpoždění při provedení: pokud řazení používá včerejší závěrečnou cenu, lze podle předpokládaného pracovního postupu zadat pokyn dnes při otevření trhu?
| Pravidlo výběru | Verze platná k danému okamžiku | Častý únik budoucích informací |
|---|---|---|
| 20 nejlepších podle dolarového objemu | Řadit dokončené seance končící před rebalancováním | Zahrnutí dne nebo měsíce rebalancování |
| Zalistování na burze | Použít časy nabytí účinnosti zalistování a delistování | Použití aktuálního endpointu se symboly pro historická data |
| Minimální historie | Počítat pozorování dostupná k okamžiku výběru | Vyžadovat přežití do budoucna, aby aktivum filtrem prošlo |
Třetí chyba: považovat chybějící historii za důkaz, že aktivum nebylo způsobilé
Archiv datového dodavatele nemusí být úplným záznamem historického trhu. Chybějící symbol může znamenat, že aktivum nikdy neexistovalo, burza změnila konvenci pojmenování, dodavatel neuchoval záznamy o delistovaných instrumentech nebo ve feedu jednoduše vznikla mezera. Každý z těchto případů má jiné důsledky.
Výsledkem je úhledné univerzum s nevysvětlenými mezerami. Výzkumníci často vyžadují úplné období zpětného pohledu a pak bez vysvětlení vyloučí vše, co takové období nemá. To může být rozumné pravidlo pro zahřívací období, záměrně však také vyřazuje nově zalistovaná aktiva. A co hůř, pokud chybějící historie připadá hlavně na neúspěšné trhy, pravidlo „jen úplná data“ se stává dalším filtrem zvýhodňujícím přeživší.
Vedení v univerzu, dostupnost dat a zahřívací období strategie uchovávejte jako samostatné údaje. Zaznamenejte, proč bylo aktivum v každém datu vyloučeno. Chybějící údaje ponechte ve výzkumném záznamu, místo abyste je nenápadně převáděli na odstranění. Pokud zdroj nedokáže potvrdit, zda byl trh zalistovaný nebo obchodovatelný, uveďte to a změřte, nakolik výsledek závisí na této nejistotě.
Udělejte univerzum reprodukovatelným
Užitečný audit začíná jedním historickým rebalancováním. Znovu sestavte seznam kandidátů z časově označených údajů o zalistování a dat dostupných k danému okamžiku. Přepočítejte vstupy pro řazení pouze z dokončených pozorování. Pak porovnejte výsledné členství se seznamem, který skutečně použil váš backtest.
Spolu s během ukládejte pravidlo, jeho časový cutoff, rozhodnutí o členství a verzi zdroje. Pokud nedokážete vysvětlit, proč bylo určité aktivum v konkrétní datum zařazeno a jiné zůstalo mimo, zatím nemůžete poznat, zda strategie objevila výhodu, nebo zdědila vzorek utvářený podle budoucnosti.
Chyby při sestavování univerza se zřídkakdy prozradí nemožnými cenami. Projeví se strategií, která se náhodou vyhnula trhům, jež přestaly být výhodné.
← Všechny články


