24. august 2026 · research

Hvorfor handler backtesten min oftere enn papirstrategien?

Hvorfor handler backtesten min oftere enn papirstrategien?

En backtest teller ofte handler som om et signal umiddelbart ble til en posisjon. Papirhandel legger inn en ordre imellom. Ordren kan bli liggende, fylles delvis, kanselleres, avvises eller fortsatt være aktiv etter at signalet har endret seg. Hvis den simulerte strategien hopper over denne ordreprosessen, kan antallet handler og eksponeringen ha lite til felles med det papirkontoen registrerer.

Den praktiske løsningen er å gjøre ordre til vedvarende objekter med tilstander og tidsstempler. Et signal er en instruks om å forsøke å handle; det er ikke bevis på at en handel fant sted.

Hvorfor har papirstrategien min færre handler enn backtesten?

Begynn med ordre som aldri ble fylt. En backtest kan anta at alle limitordre ble fylt så snart markedet var innom prisen deres. I et live-marked forteller en berøring ikke om ordren din lå foran i køen, om det ble omsatt nok volum, eller om prisen fortsatt var tilgjengelig da ordren nådde handelsplassen.

Se for deg en strategi som legger inn en kjøpslimit på $100 og kansellerer den etter 30 sekunder. Markedet handler til $100.00, men bare et lite volum omsettes der, og andre ordre har prioritet. Ordren din kan bli fylt delvis, eller ikke i det hele tatt. En backtest basert på prisberøring registrerer en full posisjon. En papirkonto som tar hensyn til køforutsetninger, kan registrere ingen fylling.

Markedsordre gir et annet avvik. En backtest kan fylle hele kvantumet ved åpningen av neste bar, mens papirhandel avviser et kvantum som bryter med et børsfilter, eller fyller ordren i flere deler mens ordreboken endrer seg. En bar er et sammendrag av handler; den lover ikke at hele ordren din kunne blitt utført til én pris.

Hva bør en backtest gjøre når et signal endrer seg før ordren blir fylt?

La den gamle ordren være aktiv til simulatoren mottar og behandler en kansellering. Hvis signalet snur mens en kjøpsordre ligger og venter, vil strategien kanskje kansellere den og sende inn en salgsordre. Den intensjonen fjerner ikke kjøpsordren umiddelbart. Den kan bli fylt mens kanselleringen er underveis, slik at kontoen blir long akkurat idet det nye signalet sier short.

Modeller dette som en sekvens: Signalet endres, strategien sender en kanselleringsforespørsel, handelsplassen bekrefter den eller melder om en fylling, og først da kjenner strategien den endelige ordrestatusen. Selv en enkel, fast forsinkelse kan avdekke kappløp som en backtest med øyeblikkelig kansellering skjuler.

I en bevisst enkel modell kan 1 sekunds forsinkelse på kansellering og behandling ved neste hendelse være mer opplysende enn å late som kansellering skjer umiddelbart. Riktig forsinkelse avhenger av handelsplass og system; poenget er å representere en forsinkelse i det hele tatt. Hvis ordren din er en markedsordre uten kanselleringsvindu, er det samme problemet fortsatt relevant for delvise fyllinger og forsinkede meldinger.

Hvilke ordretilstander bør en papirhandelssimulator registrere?

Bruk en liten tilstandsmaskin og lagre hvert tilstandsskifte med tidspunkt. Den nøyaktige terminologien varierer fra handelsplass til handelsplass, men de viktigste skillene er de samme:

Registrer fylt kvantum separat fra forespurt kvantum, sammen med fyllingspriser og gebyrer. En delvis fylt ordre er både en handel og en utestående forpliktelse for resten. Hvis den bare behandles som åpen eller ferdig, går informasjon tapt som strategien trenger for å dimensjonere neste handling.

OrdrehendelseDette bør strategien viteVanlig snarvei i backtester
Delvis fyllingUtført kvantum, gjenstående kvantum, gjennomsnittsprisMarker hele ordren som fylt til én pris
KanselleringsforespørselTidspunkt for forespørselen og endelig bekreftelse på kansellering eller fyllingFjern ordren umiddelbart
AvvisningÅrsak og om et nytt forsøk er gyldigAnta at den forespurte handelen fant sted
UtløpTidspunktet da ordren sluttet å kunne fyllesLa den stå åpen til en senere prisberøring

Hvordan sammenligner jeg handler i backtest og papirhandel på en rettferdig måte?

Sammenlign ordrehendelser først, deretter posisjoner og til slutt P&L. Hvis backtesten fylte en ordre som papirkontoen aldri gjorde, er den senere forskjellen i P&L en konsekvens, ikke stedet der du bør lete etter feilen.

Knytt hver tiltenkte ordre i de to kjøringene sammen ved hjelp av en stabil strategi- eller ordre-ID. Undersøk deretter innsendingstidspunkt, forespurt pris og kvantum, gyldighetstid, fyllinger, kanselleringer, avvisninger, gebyrer og sluttposisjon. Ta også vare på årsaken til at simuleringen ikke fikk noen fylling: Prisen nådde aldri limitprisen, antatt kø foran ordren ble ikke tømt, eller ordren utløp.

Et lite eksempel tydeliggjør sekvensen. Signalet ber om 10 enheter. Begge systemene sender inn ordren kl. 10:00:00. Backtesten antar full fylling kl. 10:00:01. Papirhandel fyller 4 enheter kl. 10:00:01, mottar en kanselleringsforespørsel kl. 10:00:02 og melder deretter om en ny fylling på 2 enheter før kanselleringen bekreftes kl. 10:00:03. Den ærlige sammenligningen er 6 fylte enheter mot 10, med 4 kansellert. Hvis begge slås sammen til én «handel», skjules eksponeringen strategien faktisk hadde.

Trenger jeg en fullstendig børssimulator for å få dette riktig?

Nei. En backtest kan begynne med noen få eksplisitte forutsetninger: om det holder at limitprisen berøres, hvor mye volum som må handles gjennom prisen for å tømme antatt kø foran ordren, hvor lenge ordre forblir åpne, og hvordan forsinkelser ved kansellering fungerer. Kjør strategien med mer enn én plausibel innstilling. Hvis resultatene avhenger av at alle hvilende limitordre fylles helt, har du lært noe nyttig om modellen.

Papirhandel er heller ikke fasiten på gjennomføringskvalitet. Den kan bruke simulerte fyllinger og mangle en reell kø. Verdien her er mer avgrenset: Den viser om strategien og ordrehåndteringen er enige om ventende kvantum, kansellering, posisjon og ny forsøksatferd etter hvert som hendelser kommer inn over tid.

En liten glede ved dette arbeidet: En god ordrelogg kan gjøre et ellers forvirrende avvik ganske kjedelig. «Den andre underordren ble fylt etter kanselleringsforespørselen» er bedre enn «papirhandel oppfører seg rart». Når backtesten og papirkontoen er uenige, følg ordreprosessen før du endrer signalet.

papirhandelordrehåndteringbacktestinggjennomføringstrategiforskning
← Alle innlegg