Backtesting, walk-forward-optimalisering og godkjenningskrav
Hvordan resultater produseres med faktiske kostnader, hvordan parametere velges utenfor utvalget, og hvordan en strategi kvalifiserer for opprykk.
Reelle børsgebyrer og kostnader
Backtester bruker hver handelsplass' publiserte maker- og takergebyrer, finansieringsbetalinger på evigvarende futureskontrakter, lånekostnader ved shortposisjoner, spread og en modell for markedspåvirkning ved hver utførelse. Egenkapitalen verdsettes til markedspris for hver bar, og belånte posisjoner kan tvangslukkes ved handelsplassens vedlikeholdsmargin. Ingen resultater rapporteres før kostnader.
Posisjonsstørrelse og belåning
Forex-strategier fastsetter posisjonsstørrelser i hele enheter av basisvalutaen, målt mot egenkapitalen på kontoen. Motoren bruker den konfigurerte FX-grensen for giring, marginkrav og konvertering til noteringsvaluta. Meglerspesifikke lotstørrelser krever en separat, validert tilordning.
Slik fungerer optimalisering
Optimaliseringen bruker hele den tilgjengelige historikken for strategien. Den nyeste delen holdes tilbake som holdout. Resten, utviklingsperioden, deles inn i en sekvens av walk-forward-vinduer: Parametere søkes frem på treningsperioden i hvert vindu og vurderes på testperioden som følger. Dermed bygger hvert resultat fra data utenfor utvalget på data som søket aldri har sett.
Deretter velges de endelige parameterne én gang basert på hele utviklingsperioden, og de testes nøyaktig én gang på holdout-perioden. Målinger av sensitivitet, stabilitet og statistisk signifikans rapporteres ved siden av, og godkjenningsportene vurderer grunnlaget fra data utenfor utvalget og holdout-perioden, aldri tilpasningen til treningsdataene.
Holdout-perioden
Holdout-perioden er den siste delen av historikken: minst 20 % av den, minst 15 dager og lang nok til at man kan forvente rundt 20 handler, opptil 35 % av historikken. En holdout-periode som når grensen på 35 %, merkes som underdimensjonert. Den brukes aldri til å velge parametere, og agentene ser bare resultater frem til holdout-perioden starter, slik at avgjørelsene deres ikke kan tilpasses til den. Som eier ser du hele historikken på strategisiden.
Nestede walk-forward-vinduer
Walk-forward-vinduer dimensjoneres etter antall handler, ikke bare tid: hvert testvindu forlenges til man kan forvente rundt 20 handler. Vinduene flyttes månedlig, eller kvartalsvis for lange historikker, med et kort opphold mellom trening og test. Søket er nestet i hver treningsperiode: Den deles på nytt i forholdet 70/30, slik at parameterne velges på indre valideringsdata. Det kreves minst 3 vinduer og tilstrekkelig dekning utenfor utvalget for et konkluderende resultat. Ellers merkes resultatet som inkonklusivt på grunn av for få handler.
Parametersøk og endelig nytilpasning
Parametere søkes frem med bayesiansk optimalisering, med omtrent 30 forsøk per justerbar parameter per vindu, og mellom 30 og 150 forsøk totalt. I stedet for å velge det ene beste forsøket prioriterer utvelgeren parametere der også nærliggende verdier gir gode resultater, innenfor strategiens risikobegrensninger. Den endelige nytilpasningen bruker samme utvelger på hele utviklingsperioden. Deretter tester holdout-perioden nøyaktig disse parameterne. Hver optimalisering har en tidsramme, og lange søk kan kjøres på ekstern datakraft.
Sensitivitet og platåer
Hver numeriske parameter justeres med 10 %, 25 % og 50 % i begge retninger, og parametere med heltallsverdier med ett og to trinn. Platået viser hvor mye en parameter kan endres før Sharpe-forholdet faller med mer enn den statistiske usikkerheten; et brattere fall rapporteres som et stup. Et bredt platå er et betryggende tegn, et stup er et varselsignal. Dette er en rapport, ikke et godkjenningskrav.
Parametrenes stabilitet
Stabilitet sammenligner hvor mye de valgte parameterne varierer fra vindu til vindu, med hvor mye et tilfeldig valg ville variert. Parametere som holder seg samlet, merkes som stabile; parametere som varierer mye, merkes som ustabile. Dette vises som et varsel sammen med resultatene, og utgjør aldri en godkjenningsport alene. En gjenspilling per vindu med de endelige parameterne vises også, merket som delvis innenfor utvalget fordi parameterne ble valgt på de samme dataene.
Statistisk signifikans og deflatert Sharpe-ratio
Avkastning fra data utenfor utvalget testes med en t-test som tar hensyn til autokorrelasjon, og med en deflatert Sharpe-ratio. Den deflaterte Sharpe-ratioen undersøker om resultatet er bedre enn det beste man kunne oppnådd gjennom mange tilfeldige forsøk, ved å telle det effektive antallet forsøk: variantene basert på data utenfor utvalget som faktisk ble prøvd, inkludert hver ekstra revisjon etter en gjennomgang. Interne søkeforsøk belastes ikke strategien, fordi de aldri ser data utenfor utvalget.
Kombinatorisk kryssvalidering og sannsynligheten for overtilpasning av backtester beregnes på treningsdataene som diagnostikk. De gir analytikeren informasjon, men avgjør ikke lenger alene om strategien skal videreføres.
Avkastningsvinduer og bredde
Langsomme strategier handler kanskje for sjelden til å fylle vinduer basert på antall handler. I slike tilfeller vurderes de i stedet over tidsvinduer med avkastning målt for hver periode, ved hjelp av tester som tar hensyn til autokorrelasjon. En breddeprøve kjører den uendrede regelen på 5 eller flere beslektede markeder: Konsistente resultater på tvers av markeder kan gjøre et resultat uten konklusjon til et bestått resultat, mens et dårlig resultat et annet sted kan gjøre et bestått resultat til et varsel.
Resultater med lav sikkerhet
Når grunnlaget ikke er sterkt nok til å trekke en konklusjon, men ingen tester har feilet direkte, kan strategien gå videre til papirhandel med merkelappen lav sikkerhet, ikke statistisk bekreftet, dersom analytikeren fortsatt anbefaler videreføring. Merket vises på strategi- og papirsidene og i varsler. En strategi med lav sikkerhet er ikke klar for livehandel før dens egen historikk fra papirhandel blir statistisk signifikant.
Forfremmelsesporter
Minstekravene for videreføring håndheves i kode på grunnlag av en publisert kriteriefil. Harde godkjenningsporter kan ikke fravikes: Tilstrekkelig historikk, lønnsom i de fleste kalenderår der strategien hadde eksponering, gjennomsnittlig avkastning per handel som dekker kostnaden for en tur-retur-handel, ingen for høy marginbruk, resultater fra data utenfor utvalget og fra holdout-perioden som foreligger og ikke er statistisk forkastet, verdifall innenfor den registrerte grensen og fullstendig, konsistent regnskapsføring.
Myke godkjenningsporter og unntak
Myke godkjenningsporter omfatter verdifall sett opp mot strategiens egen grense, Calmar-ratio, profittfaktor, treffrate sammen med gevinst/tap-forhold, beholdningstid, holdout-perioden sammenlignet med walk-forward-resultatene, deflatert Sharpe-ratio, andel av overskuddet fra ett enkelt år, kostnader ved markedspåvirkning og tap i perioder med høy volatilitet. Analytikeren kan bare fravike en myk godkjenningsport med en skriftlig begrunnelse som navngir måltallet. Unntaket lagres på kjøringen, risikolederen kan avvise det, og porteføljeforvalteren kontrollerer det på nytt.
Å lese en backtest ærlig
Sammenlign egenkapitalkurven med drawdown, sjekk hvor mange handler resultatet hviler på, og vurder gjennomsnittlig avkastning per handel opp mot kostnaden for en fullstendig handelsrunde (round-trip). En høy avkastning fra en håndfull handler, eller en Sharpe-ratio som forsvinner utenfor utvalget, er et varselsignal snarere enn et resultat.