En backtest kan ramme tidsstemplet for hvert candle helt præcist og stadig bruge information fra fremtiden. Det sker, når strategien tester dagens overlevende aktiver gennem flere års historik, som om den havde vidst, hvilke markeder der ville forblive likvide, blive børsnoteret og være værd at beholde.
Universkonstruktion er en del af strategien. Hvis live-systemet kun kunne vælge blandt de aktiver, der var tilgængelige på hvert beslutningstidspunkt, skal backtesten respektere den samme grænse. Tre genveje udvisker den rutinemæssigt.
Fejl et: at backteste dagens liste gennem hele historikken
Forestil dig, at du screener de 50 største krypto-perpetualmarkeder i dag og derefter backtester dem fra 2021. Listen udelader kontrakter, der er forsvundet, har mistet likviditet eller er blevet afnoteret. Den giver også tidligere datoer adgang til markeder, der måske ikke fandtes endnu.
Skaden er let at overse: Strategien ser mere stabil ud, fordi aktiverne, der fejlede, er forsvundet fra stikprøven. En momentumregel kan for eksempel se fremragende ud på tværs af dagens 50 markeder, selv om den historiske version gentagne gange ville have allokeret til aktiver, der senere kollapsede eller mistede deres børsnotering. Du har testet en portefølje, der er udvalgt med kendskab til udfaldet.
Registrér medlemskab med datoer. For hvert aktiv skal du holde styr på, hvornår det blev kvalificeret, hvornår det holdt op med at være kvalificeret, og hvorfor. Ved hver rebalancering skal reglerne anvendes med kun den information, der var tilgængelig på det tidspunkt. Et marked bør først komme med efter den faktiske børsnotering og en eventuel påkrævet opvarmningsperiode. Hvis det afnoteres, skal den sidste position have en defineret exit- eller afviklingsbehandling; at fjerne dets rækker er ikke en exitregel.
Fejl to: at rangere efter et nøgletal målt efter beslutningen
Selv et historisk univers kan lække, hvis medlemsreglen bruger et vindue, der først er komplet i fremtiden. »Handl de 20 mest likvide aktier hver måned« lyder fornuftigt, indtil likviditeten rangeres ud fra hele den måned, strategien skal handle i.
Forestil dig, at du rebalancerer på den første handelsdag. Hvis du rangerer efter månedens gennemsnitlige dollaromsætning, bruger du i det skjulte de næste tre uger til at afgøre, hvad der kvalificerede på dag et. Skaden viser sig ofte som usædvanligt god kapacitet: Strategien undgår aktiver, der blev illikvide senere på måneden, selv om den ikke kunne have vidst det ved indgangen.
Fastlæg målingens skæringstidspunkt før udvælgelsen. Ved en månedlig rebalancering på den første handelsdag kan du for eksempel rangere efter de foregående 20 afsluttede handelssessioner, som slutter ved den forrige session. Gør derefter eksekveringsforsinkelsen tydelig: Hvis rangeringen bruger gårsdagens luk, kan ordren så afgives ved åbningen i dag under din antagne arbejdsgang?
| Udvælgelsesregel | Point-in-time-version | Almindelig lækage |
|---|---|---|
| Top 20 efter dollaromsætning | Rangér afsluttede sessioner, der slutter før rebalanceringen | Inkludering af rebalanceringsdagen eller -måneden |
| Børsnoteret på markedspladsen | Brug de faktiske tidspunkter for børsnotering og afnotering | Brug af en aktuel symbol-API til gamle datoer |
| Minimumshistorik | Tæl observationer, der var tilgængelige på udvælgelsestidspunktet | Krav om overlevelse i fremtiden for at bestå filteret |
Fejl tre: at betragte manglende historik som bevis på, at et aktiv ikke var kvalificeret
En dataleverandørs arkiv er ikke nødvendigvis en fuldstændig registrering af det historiske marked. Et manglende symbol kan betyde, at aktivet aldrig fandtes, at markedspladsen ændrede sin navngivningspraksis, at leverandøren ikke bevarede data om afnoterede instrumenter, eller at der blot er et hul i feedet. De situationer har forskellige konsekvenser.
Skaden er et ryddeligt univers med uforklarede huller. Forskere kræver ofte et fuldt tilbagebliksvindue og udelukker derefter stiltiende alt, der ikke har et. Det kan være en fornuftig opvarmningsregel, men den frasorterer også bevidst nyligt børsnoterede aktiver. Værre endnu: Hvis den manglende historik især forekommer blandt markeder, der fejlede, bliver »kun komplette data« endnu et survivorship-filter.
Hold kvalifikation, datatilgængelighed og strategiens opvarmning adskilt som forskellige forhold. Registrér, hvorfor et aktiv blev udelukket på hver dato. Bevar manglende data i research-registret i stedet for at gøre dem til en ubemærket sletning. Hvis kilden ikke kan fastslå, om et marked var børsnoteret eller kunne handles, så sig det, og mål, hvor meget resultatet afhænger af den usikkerhed.
Gør universet reproducerbart
En nyttig audit begynder med én historisk rebalancering. Genopbyg kandidatlisten ud fra daterede børsnoteringer og data, der var tilgængelige ved skæringstidspunktet. Beregn rangeringsinputtene igen med kun afsluttede observationer. Sammenlign derefter det resulterende medlemskab med den liste, din backtest faktisk brugte.
Gem reglen, skæringstidspunktet, beslutningerne om medlemskab og kildeversionen sammen med kørslen. Hvis du ikke kan forklare, hvorfor ét aktiv kom med, mens et andet blev holdt ude på en bestemt dato, kan du endnu ikke afgøre, om strategien fandt en fordel, eller om den arvede en stikprøve formet af fremtiden.
Fejl i universkonstruktionen viser sig sjældent som umulige priser. De viser sig som en strategi, der belejligt nok undgik de markeder, der holdt op med at være belejlige.
← Alle indlæg


