13. října 2026 · výzkum

Váš backtest ukázal výhodu 20 %. Kolik z ní způsobilo jediné chybné časové razítko?

Váš backtest ukázal výhodu 20 %. Kolik z ní způsobilo jediné chybné časové razítko?

Backtest vykázal anualizovaný výnos 20 %. Použil 8 let dat, 1,640 obchodů a čisté rozdělení pro testování po jednotlivých obdobích. Pak jsme aktuální historii od dodavatele nahradili hodnotami zaznamenanými v dané době a výhoda klesla na 3 %.

Překvapivým číslem nebyl původní výnos. Bylo to 17 procentních bodů, které závisely na revidovaných datech. Takové zpětné vědění se může skrývat v ekonomických statistikách, firemních fundamentálních údajích, složení indexů, a dokonce i ve zdánlivě jednoduchých tržních datech. Historická data ukazují, co zdroj říká nyní. Datový soubor k určitému okamžiku vám ukáže, co vaše strategie mohla vědět tehdy.

Proč se mohou historická data po události změnit?

Některé hodnoty jsou nejprve odhady a teprve později se opravují. Ekonomický ukazatel zveřejněný v pátek může být následující měsíc revidován. Firma může znovu vykázat hospodářský výsledek. Dodavatel dat může opravit chybný údaj, doplnit chybějící interval nebo nahradit předběžnou hodnotu konečnou. Databáze, která uchovává pouze nejnovější hodnotu, způsobí, že všechny tyto změny vypadají, jako by tak platily odjakživa.

Na tom záleží, když strategie řadí firmy podle vykázaných tržeb nebo obchoduje na trhu po plánovaném zveřejnění dat. Pokud uvidí opravené číslo o několik měsíců dřív, backtest jí poskytl informaci, která v době rozhodnutí na trhu nebyla. Výpočet signálu může být bezchybný, ale jeho vstup stále pochází z nesprávné verze historie.

Snadno se tu dá chytit do pasti: pole s názvem date často označuje období, kterého se hodnota týká, nikoli okamžik, kdy byla dostupná. Řádek s čtvrtletními tržbami označený datem 31. března mohl být zveřejněn až v květnu. Štítek popisuje období hospodaření firmy, nikoli informační sadu strategie.

Které časové razítko má backtest použít?

Samostatně sledujte období, ke kterému se hodnota vztahuje, a čas její dostupnosti. Pokud možno uchovávejte také čas zveřejnění a čas přijetí do systému. Strategie mohla hodnotu použít až poté, co byla zveřejněna a systém ji přijal; pokud se tyto časy liší, použijte pro konzervativní rekonstrukci ten pozdější.

Časové razítkoCo popisujeK čemu slouží
Čas platnostiObdobí nebo událost, ke které se hodnota vztahujeUmožňuje seskupit pozorování podle měřené veličiny
Čas zveřejněníKdy zdroj zveřejnil tuto verziZabrání zobrazení údaje dříve, než existoval
Čas přijetíKdy váš systém tuto verzi přijalZachycuje zpoždění při doručení a pozdější doplnění dat

Představme si například, že čtvrtletní tržby firmy pokrývají období od ledna do března, jsou vykázány 8. května v 16:15 východoamerického času a do vašeho výzkumného úložiště dorazí v 16:17. Strategie, která rozhoduje při zavření trhu 8. května, tuto zprávu nemůže použít, pokud k rozhodnutí došlo v 16:00. Strategie, která rozhoduje následující ráno, ji použít může. Samotné datum konce čtvrtletí neodpoví ani na jednu otázku.

Jak ověřím, zda výsledek nezpůsobují revize?

Spusťte stejnou strategii dvakrát: jednou s verzí dat dostupnou v každém historickém okamžiku rozhodnutí a podruhé s nejnovější revidovanou historií. Ponechte stejné předpoklady provedení, investiční univerzum i kód. Rozdíl je výsledkem analýzy citlivosti na revize, nikoli porovnáním nové strategie.

Pak zjistěte, odkud rozdíl pochází. Mění se výkonnost ve dnech zveřejnění? Soustřeďují se největší rozdíly u několika firem, které znovu vykázaly výsledky, nebo u opravených pozorování? Obchoduje strategie před příslušným zveřejněním? Audit několika jednotlivých událostí často vysvětlí víc než další graf kumulativních výnosů.

20%výnos s použitím nejnovější historie
3%výnos s použitím hodnot k danému okamžiku
17 pprozdíl citlivý na revize

Tato čísla jsou pouze ilustrativní, nejde o univerzální postih. Užitečným výstupem je párové srovnání výsledků vaší vlastní strategie, pokud možno se stejnými obchody a náklady. Pokud revidovaná verze výrazně překonává původní, zjistěte, která pole a data rozdíl způsobují, než začnete věřit hlavnímu výsledku backtestu.

Co má audit dat k určitému okamžiku zaznamenávat?

Začněte poli, která vaše strategie skutečně používá. U každého určete zdroj, význam časového razítka, zásady revizí a to, zda lze získat předchozí verze. Zeptejte se dodavatele, jak zaznamenává opravy: přepisem řádků, přidáním řádků s novými verzemi, nebo v samostatném protokolu auditu. Označení „historická data“ na stránce produktu tuto otázku neřeší.

Rozsah auditu přizpůsobte praxi. Pokud vaše strategie používá pouze obchody a svíčky z burzy, mohou být revize ekonomických dat nepodstatné. Opravy svíček a dodatečné doplňování dat od dodavatele však mohou hrát roli, zejména když signál závisí na málo likvidním trhu nebo přesně vymezeném časovém okně události.

Když historie k určitému okamžiku není dostupná

Neberte potichu dnešní hodnotu jako včerejší. Označte dané pole jako omezení, vyřaďte ho z tvrzení závislých na historické dostupnosti nebo použijte konzervativní zpoždění a ukažte, jak moc se výsledek změní. Zpožděná náhradní hodnota může být pro výzkum užitečná, pokud zpoždění výslovně uvedete a omezení zůstane součástí výsledku.

Úkolem backtestu je zrekonstruovat rozhodnutí na základě informační sady, která v danou chvíli existovala. Pokud vaše data ukazují pouze nejnovější verzi, má poctivý výsledek své hranice: může strategii otestovat vůči dnešní rekonstruované historii, ale nemůže přesně doložit, co historický obchodník mohl vidět.

backtestovánídatové inženýrstvíkorporátní událostidata k určitému okamžiku
← Všechny články