En backtest af et forudsigelsesmarked kan bruge en ticker, der ser rigtig ud, den rigtige prishistorik og den forkerte kontrakt. Den fejl er let at overse, fordi markedsnavne er korte, begivenhedssider bliver opdateret, og en YES-andel altid ligner en pris mellem nul og en.
Forestil dig et hypotetisk marked med betegnelsen “Bliver Clean Transit Act vedtaget?” En strategi køber YES til 0.42 efter et nyhedssignal. Senere værdiansætter backtesten positionen til 1.00. Før jeg stoler på den gevinst, vil jeg vide præcis, hvad kontrakten lovede: hvilket lovforslag, hvad der talte som “vedtaget”, fristen og kilden, der afgjorde udfaldet.
Titlen: “Bliver Clean Transit Act vedtaget?”
En titel er en visningstekst, ikke en stabil identifikator for et instrument. To markeder kan have næsten identiske formuleringer, men handle om forskellige lovgivningsperioder, ændrede lovforslag eller frister. En handelsplads kan også ændre en titel for at tydeliggøre markedet uden at ændre de underliggende vilkår.
Backtesten bør derfor knytte positionen til handelspladsens uforanderlige markeds- eller kontrakt-ID og gemme den fulde regeltekst med versionsnummer. Hvis historiske data kun indeholder en titel og en ticker, kan du ikke fastslå, at prisserien hører til den kontrakt, strategien skulle handle.
| Identitetsfelt | Hvad det fastslår | Fejl, hvis det udelades |
|---|---|---|
| Handelsplads og markeds-ID | Det specifikke børsnoterede marked | Lignende titler bliver slået sammen |
| Regelversion | De vilkår, deltagerne accepterede | En senere ændring anvendes på tidligere handler |
| Udfaldstoken-ID | YES- eller NO-kravet, der handles | YES- og NO-priser byttes om eller blandes sammen |
| Afgørelseskilde | Dokumentationen, der bruges til at fastslå udfaldet | Backtesten antager en anden afgørelsesinstans |
Reglerne: Hvad betyder “vedtaget”?
Antag, at reglerne siger, at lovforslaget skal vedtages i både Repræsentanternes Hus og Senatet senest den 30. juni og derefter underskrives af præsidenten. En backtest, der regner vedtagelse i et af kamrene som en succes, har ændret væddemålet. Det samme gælder en backtest, der medregner et lovforslag med samme navn i den næste samling.
Læs de faktiske afgørelseskriterier som betingelser, der kan eksekveres. Registrer fristen og tidszonen, den kvalificerende begivenhed, eventuelle undtagelser og den navngivne afgørelseskilde. Tvetydighed betyder også noget: Hvis handelspladsens regler ikke afgør et plausibelt scenarie, skal du ikke stiltiende vælge den fortolkning, der passer til det historiske udfald.
Der er en dejligt usexet del af arbejdet: at gemme regelsiden, før noget interessant sker. En side, der først gemmes efter afgørelsen, viser muligvis den endelige ordlyd, selvom strategien gik ind under en tidligere version.
Tidslinjen: Hvornår kunne strategien vide det?
Antag nu, at reglerne er klare, og at nyhedssignalet blev udløst kl. 14:05 UTC. Det historiske feed viser en handel kl. 14:05 til 0.42. Tidsstemplet alene fortæller dig ikke, om informationen var tilgængelig før handlen, om den registrerede pris kunne handles til bagefter, eller om datapunktet repræsenterer et quote, en handel eller et intervalresumé.
Hold signalets tilgængelighedstid adskilt fra markedshændelsens tidspunkt. Læg derefter ordren, når strategien kunne have beregnet og sendt den. I et marked med lav likviditet kan der gå flere minutter, før den næste handel registreres; det er ikke bevis på, at din ordre ville være blevet udført til den pris.
Prisen: Et quote er ikke en udførelse
YES til 0.42 svarer til en pris på 42 cent pr. andel, men en serie med seneste handelspris skjuler spændet mellem købs- og salgsprisen samt den tilgængelige mængde. Hvis bedste salgspris er 0.45 for 20 andele, kan et simuleret køb af 100 andele ikke udføres fuldt ud til 0.42. Ordren kan gå gennem ordrebogen, vente eller forblive uudført.
Priser på forudsigelsesmarkeder lægger også op til en regnskabsmæssig genvej: at behandle 0.42 som en sandsynlighed på 42% og glemme, at beløbet også er indgangsprisen. En YES-position på 100 andele koster $42 før gebyrer. Hvis den afvikles til $1, er bruttoprovenuet $100; hvis den afvikles til $0, er det nul. Gebyrer, delvise udførelser og eventuelle særlige afviklingsregler for handelspladsen hører hjemme i regnskabet.
Afviklingen: Hvad lukker handlen?
En backtest lukker ofte positionen til den endelige markedspris. Men en kontrakt, der holdes til afgørelsen, udbetales efter reglerne, og dens seneste noterede pris kan være forældet, have et stort spænd eller ligge langt fra den endelige udbetaling. Modellér afgørelsen som sin egen hændelse: Udfaldet, afregningstidspunktet og pengestrømmen bør komme fra kontraktregistreringen.
Medregn også markeder, der afgøres som ugyldige eller omstridte, hvis handelspladsens regler definerer sådanne udfald. Det kan betyde, at indsatsen tilbagebetales, at et andet beløb udbetales, eller at afgørelsen forsinkes. En antagelse om binær udbetaling kan ikke dække alle afgørelsesforløb.
Dommen over backtesten
I dette eksempel ville jeg først godkende den rapporterede gevinst, når jeg havde matchet det uforanderlige markeds-ID, den regelversion, der gjaldt ved indgangen, YES-tokenet, signalets tilgængelighedstid, de salgspriser og den mængde, der kunne handles til, gebyrerne og den registrerede afregning. Hvis prisarkivet ikke understøtter de kontroller, er det ærlige resultat et scenarieinterval eller et resultat, der ikke er verificeret.
Det kan lyde strengt for en enkelt lille handel. Men når den samme sammenkoblingsfejl gentages på tusindvis af markeder, kan backtesten ende med at være en omhyggelig måling af kontrakter, strategien aldrig handlede.
← Alle indlæg


