Zmrazený snímek tržních dat nestačí k tomu, aby byl backtest důvěryhodný. Může pokaždé vrátit stejný výsledek a přitom skrývat, že dodavatel změnil vstupní data, z nichž tento výsledek vzešel.
Snímek si ponechte. Zároveň veďte protokol změn, ze kterého zjistíte, co se změnilo, kdy ke změně došlo a zda na ní strategii záleželo. Je to důležité zejména tehdy, když váš výzkum pracuje s opravenými obchody, revidovanými fundamenty, zpětně sestaveným fundingem nebo historií, kterou dodavatel potichu aktualizoval.
Proč vás může klamat i reprodukovatelný backtest?
Představte si, že v pondělí stáhnete pět let hodinových svíček a spustíte strategii. V pátek už dodavatel opravil chybný obchod, upravil korporátní událost nebo doplnil chybějící úsek. Váš uložený soubor stále přesně vrací pondělní výsledek. To je reprodukovatelné. Když ale spustíte backtest z aktuální historie dodavatele, můžete dostat jiný výsledek a nemít žádný záznam o tom, proč se liší.
Problém se neomezuje na velké opravy. Jedna změněná maximální cena může aktivovat stop; upravená závěrečná cena může indikátor posunout přes jeho prahovou hodnotu. V širokém investičním univerzu může změna historie jednoho symbolu ovlivnit jeho pořadí a vytlačit z portfolia jiné aktivum. Výsledný Sharpe se může změnit, i když jsou kód strategie i konfigurace totožné.
Hash souboru vám řekne, že se dva soubory liší. Neřekne vám, zda úprava kvůli splitu změnila ceny za 40 let, dodavatel opravil tři obchody, nebo parser převedl prázdné pole na nulu.
Co patří do protokolu změn tržních dat?
Zaznamenávejte změny na nejmenší užitečné úrovni a přidejte dost kontextu, aby šlo dotčený výzkum znovu spustit. U dat svíček to obvykle znamená instrument, interval, čas události, původní a nové hodnoty, zdroj a čas, kdy jste aktualizaci zaznamenali. Pokud dodavatel poskytuje původní payload, uchovejte ho.
| Zaznamenat | Proč to uchovat | Příklad |
|---|---|---|
| Verzi zdroje nebo čas stažení | Určí stav dat od dodavatele, který byl použit | Snímek stažen 2026-11-02 08:15 UTC |
| Změněné pole a staré/nové hodnoty | Ukáže, co se skutečně změnilo | ETHUSDT 1h maximum: 3,412.10 → 3,418.60 |
| Klasifikaci změny | Rozliší opravy od transformací | Pozdní oprava obchodu, úprava kvůli splitu, doplnění dat |
| Verzi pipeline a schématu | Odliší změny zdroje od vašeho vlastního zpracování | Normalizer v7, schéma upravených svíček v3 |
U rozsáhlých datasetů ukládejte neměnné snímky a stručný manifest s kontrolními součty, verzemi zdrojů a časy stažení. Pro změněné oddíly přidejte rozdíly na úrovni řádků. Získáte tak praktický kompromis: úplné opětovné přehrání zůstane možné, aniž byste museli zapisovat každý nezměněný řádek do druhé auditní tabulky.
Jak změřím, zda na opravě záleží?
Neskončete u počtu změněných řádků. Znovu spusťte dotčenou strategii se starými i novými daty a použijte stejný kód, parametry, poplatky i předpoklady o provedení obchodů. Porovnejte rozhodnutí i cestu k výsledku.
- Z rozdílu určete dotčené instrumenty a časy událostí.
- Zjistěte, které příznaky, signály, příkazy nebo váhy portfolia tato data využívají.
- Znovu přehrajte nejmenší platné časové okno včetně potřebné historie pro výpočet a stavu otevřených pozic.
- Porovnejte příkazy, plnění, expozici, obrat, drawdown a konečnou výkonnost.
Například oprava dodavatele, která změní maximum 1minutové svíčky o $0.02, se může dotknout milionu řádků, a přesto neovlivnit denní momentum strategii. Jedna opravená svíčka na úrovni stopu může mít větší dopad. Měřte vliv na rozhodnutí; počet změněných záznamů je jeho nepřesným ukazatelem.
Držte odděleně dvě otázky: „Dokážu zopakovat výsledek z uložených dat?“ a „Byla by tato verze dat v danou chvíli strategii dostupná?“ Protokol změn pomáhá odpovědět na obě, ale druhá otázka vyžaduje také záznamy o dostupnosti v daném okamžiku.
Kolik to stojí a kdy se to vyplatí?
Sledování změn přidává náklady na úložiště, práci při načítání dat i provozní rozhodování. Dodavatelé nemusejí nabízet stabilní verze a některé historické datové zdroje se pravidelně přestavují bez jasného oznámení oprav. Změnu, kterou nikdy nezaznamenáte, do protokolu přidat nemůžete.
Začněte tam, kde mohou revize změnit závěry výzkumu: u svíček používaných stop logikou, akcií upravených o korporátní události, fundamentů dostupných v daném okamžiku a řad fundingu nebo otevřeného zájmu, které se zpětně sestavují. U rozsáhlých stabilních datasetů může stačit denní manifest s kontrolními součty oddílů. Rozdíly na úrovni polí přidejte tam, kde jsou aktualizace časté nebo obchodní rozhodnutí citlivá na jednotlivé záznamy.
Kritici správně upozorňují, že úplný a trvalý archiv každé odpovědi dodavatele může být drahý, a přesto nemusí zachytit, co zdroj v danou chvíli věděl. Audit proto omezte na data a rozhodnutí, na kterých záleží, a zdokumentujte mezery. Snímek vám umožní experiment zopakovat. Protokol změn vysvětlí, proč se výsledek experimentu změnil.
← Všechny články


