598 / 736WFA

Walk-forward Analysis

Analýza s postupným posunem v čase

Walk-forward Analysis vybírá pravidla na dostupné minulosti a testuje je v následujícím úseku. Postup se v čase opakuje podle předem určeného protokolu. Vyhodnocuje se celý způsob výběru, ne zpětně nalezený vítěz; ani správné oddělení úseků nezaručuje budoucí výnos.

Walk-forward Analysis je chronologické vyhodnocování postupu, který vybírá nebo nastavuje pravidla na dřívějších datech a používá je na navazující testovací období. Výběrové a testovací role se posouvají v čase, přičemž aktuální rozhodnutí nesmí znát následující výsledek.

Walk-forward Analysis posouvá historickou simulaci v čase: na dosavadních datech vybere nebo nastaví pravidlo a potom vyhodnotí jeho použití v následujícím úseku. QuantConnect popisuje pravidelnou optimalizaci nad koncovým oknem minulosti. Vlastní redakční rozlišení: nehodnotíme jen jednu neměnnou sadu parametrů, ale předem popsaný postup jejich obnovování. Součástí pravidla je i okamžik dalšího výběru, jeho cíl a množina kandidátů. Lepší přizpůsobení nedávným datům samo nepotvrzuje lepší budoucí výsledek. [1]

QuantConnect upozorňuje, že období použité k hledání nejlepších parametrů se stává součástí dat pro vývoj. Použít na něm zpětně vybraného vítěze není poctivé ověření tehdejšího rozhodnutí. Vlastní protokol proto uzavírá výběr před začátkem následujícího testovacího úseku. Data tohoto úseku nesmějí ovlivnit aktuálního vítěze. Jakmile úsek skončí a jeho informace jsou skutečně dostupné, mohou podle předem daného postupu vstoupit do pozdějšího výběru; tím se však nemění dříve zaznamenaná testovací rozhodnutí. [2]

TimeSeriesSplit vytváří časově uspořádané trénovací a testovací indexy; standardně postupně rozšiřuje minulou trénovací množinu a umožňuje omezit její velikost. Vlastní rozlišení: posuvné okno udržuje zvolenou délku minulosti, zatímco rozšiřující se okno ponechává pevný začátek. Délka okna a četnost obnovy jsou součást návrhu, nikoli volné úpravy po zhlédnutí výsledků. Dokumentace pro srovnatelné metriky úseků požaduje stejně vzdálené vzorky; u nepravidelných dat je třeba hlídat skutečný kalendářní rozsah. [3]

Parametr gap v TimeSeriesSplit vynechává vzorky na konci trénovací množiny před testem. Vlastní metodický požadavek je odvodit potřebný odstup od okamžiku dostupnosti vstupů a dokončení cílových výsledků. Pokud výsledek trénovacího pozorování využívá ceny z testovacího období, samotné seřazení řádků únik neodstraní. Délka mezery se proto nemá volit jen podle hezké křivky. Ani vhodná mezera neprokazuje nezávislost sousedních období nebo neodstraňuje všechny formy výběrového zkreslení. [3]

Dokumentace scikit-learn upozorňuje, že normalizace, doplňování chybějících hodnot či výběr příznaků mohou přenést informace z testu do modelu. Parametry těchto transformací se mají naučit jen na trénovací části a potom použít na testovací část. Vlastní kontrola opakuje toto oddělení při každém posunu okna. Dřívější výpočet průměru z celého souboru není napraven tím, že se až následně rozdělí hotová tabulka. Je nutné uchovat i verzi dat a jejich skutečnou časovou dostupnost. [4]

QuantConnect rozlišuje model, který určuje cenu a množství plnění a může zahrnovat spread i Slippage. Vlastní požadavek pro spojení testovacích úseků je jednotně zacházet s kapitálem, otevřenými pozicemi a náklady změny pravidla. Trénovací zisky se nepřičítají k výsledku následného testu a překrývající se testovací období se nesmějí bez vysvětlení započítat vícekrát. Pokud se přenáší pozice, musí být popsán přechod mezi konfiguracemi. Náš níže uvedený model naopak uzavírá každou periodu bez pozice. [5]

Bailey a spoluautoři popisují rostoucí riziko falešných objevů při opakovaném hledání na stejných datech. Vlastní důsledek pro Walk-forward Analysis: pokud podle výsledné testovací řady měníme délku oken, cíl či kandidáty a opakujeme celý běh, řada už ovlivňuje vývoj. Nestačí přejmenovat ji na nezávislou. Report má uvést všechny vyzkoušené protokoly a oddělit případné další dosud nepoužité ověření. Samotný časový posun není odhad pravděpodobnosti přeučení ani automatická statistická záruka. [6]

NFA zdůrazňuje, že hypotetické výsledky nezachycují skutečné obchodování ani celý dopad likvidity, skluzu a chování při skutečné ztrátě. Vlastní report Walk-forward Analysis proto uchovává hranice oken, kandidáty, výběrové skóre, zvolené konfigurace a výsledky následných úseků včetně nákladů. Součet potřebuje kontext rizika, počtu pozorování a srovnání za stejných podmínek. Záporný malý příklad nedokazuje obecnou nefunkčnost metody, stejně jako kladný součet nedokazuje budoucí obchodní výhodu. [7]

PříkladPŘÍKLAD · WFA

Vybrat z minulosti, vyhodnotit až další období

Vlastní smyšlený model používá šest stejně dlouhých období označených 1 až 6 a dvě předem dané varianty A a B. Jejich čisté výsledky při stejné pevné velikosti jsou A [4, -1, 2, -3, 5, -2] USD a B [1, 2, 1, 1, -2, 4] USD. Každý výsledek je dostupný až po skončení příslušného období, zahrnuje všechny modelové náklady a končí bez otevřené pozice. Nejsou žádné další přechodové náklady, dluh ani peněžní toky. Předem stanovený postup vždy sečte poslední tři dokončená období, vybere vyšší součet a vítěze použije pouze v následujícím období; při shodě by vybral A. Okna pro výběr jsou [1, 2, 3], [2, 3, 4] a [3, 4, 5], následné testy [4, 5, 6]. Výběrové součty A jsou [5, -2, 4] USD a B [4, 4, 0] USD, takže se postupně volí A, B a A. Do společného testovacího výsledku vstoupí pouze [-3, -2, -2] USD, dohromady -7 USD. Počáteční testovací hotovost před obdobím 4 je 1000 USD a konečná hotovost 993 USD; velikost se podle hotovosti nemění. Trénovací výsledky se k účtu nepřičítají a každý testovací úsek se počítá jen jednou. Schéma ukazuje posun výběrových oken a následujících testů, nikoli skutečnou tržní historii nebo pravděpodobnost budoucího úspěchu.

Pro nejúplnější obraz čtěte toto heslo společně s Backtesting, Overfitting, Look-ahead Bias, Trading Plan, Trading Journal. Opačným směrem na něj odkazují také Backtesting, Overfitting, Look-ahead Bias, Survivorship Bias.

01Může starší testovací období později vstoupit do tréninku?

Ano, pokud už skončilo, informace jsou dostupné a předem stanovený protokol to dovoluje. Nesmí však zpětně změnit výběr ani výsledek, který byl pro toto období zaznamenán.

02Odstraňuje Walk-forward Analysis přeučení?

Ne automaticky. Stále lze opakovaně vybírat délky oken, kandidáty nebo celý postup podle stejných výsledků. Je nutné přiznat historii pokusů, hlídat únik informací a zachovat rozdíl mezi vývojem a dalším ověřením.

DOC · 001QuantConnect — Walk Forward OptimizationDokumentace DOC · 002QuantConnect — Optimization ParametersDokumentace DOC · 003scikit-learn — TimeSeriesSplitDokumentace DOC · 004scikit-learn — Common Pitfalls: Data LeakageDokumentace DOC · 005QuantConnect — Trade Fills: Key ConceptsDokumentace DOC · 006Bailey et al. — The Probability of Backtest OverfittingPrimární zdroj DOC · 007NFA — Use of Promotional Material Containing Hypothetical Performance ResultsDokumentace
Revidováno: Primární zdroje · Nejde o investiční doporučení