22. august 2026 · research

Hvorfor åpne ordre i backtesten trenger en klokke

Hvorfor åpne ordre i backtesten trenger en klokke

En strategi legger inn en limitordre kl. 10:00. Signalet endres kl. 10:03. Backtesten erstatter stille ordren kl. 10:04 og registrerer deretter en utførelse kl. 10:05. I papirhandel kan den opprinnelige ordren fortsatt ligge hos handelsplassen. Hvis den blir utført mens erstatningsordren også er aktiv, har strategien 2 ordre og en posisjonsmodell som later som om det bare var én.

Åpne ordre trenger sin egen tilstand og klokke. En backtest bør vite når hver ordre ble sendt, når den kan kanselleres, om kanselleringen nådde handelsplassen, og hva som skjer dersom en utførelse kommer samtidig med kanselleringen. 3 snarveier visker jevnlig ut disse opplysningene.

Feil 1: Å behandle et nytt signal som en umiddelbar kansellering

Mange backtester beregner målposisjonen på nytt for hver bar og overskriver deretter den hvilende ordren med det siste signalet tilsier. Da forsvinner ordren i samme øyeblikk som strategien ombestemmer seg. Virkelige handelsplasser fungerer ikke slik. En kanselleringsforespørsel tar tid, og en ordre kan bli utført før handelsplassen behandler den.

Se for deg en kjøpslimitordre på 100 aksjer til $50.00. Kl. 10:03 svekkes signalet, og strategien sender en kansellering. Kl. 10:03:00.080 blir 60 aksjer av ordren utført; kanselleringen bekreftes kl. 10:03:00.110. De resterende 40 aksjene kanselleres, men posisjonen inneholder nå 60 aksjer. En barbasert backtest som sletter ordren kl. 10:03, kan rapportere 0. En backtest som antar umiddelbar kansellering, men likevel registrerer en senere utførelse, har diktet opp eksponering i motsatt retning.

Spor ordrestatusen eksplisitt: sendt, bekreftet, delvis utført, kansellering venter, kansellert eller fullt utført. Behold utførelser som skjer før kanselleringen er bekreftet. For en grovkornet barsimulering bør du velge og opplyse om en konservativ rekkefølge dersom begge hendelsene kan finne sted innenfor samme bar.

Feil 2: Å gi en hvilende ordre ubegrenset holdbarhet

En limitordre priset ut fra et signal kl. 10:00 kan bli utdatert selv om signalet ikke har noen eksplisitt exitregel. Ordreboken endrer seg, volatiliteten skifter, og markedsverdien av instrumentet kan drive. Likevel kan en simulator som lar ordren være aktiv til den blir utført, få en utførelse flere måneder senere og tilskrive den en investeringsidé som ikke lenger finnes.

Fastsett en gyldighetspolicy for ordrene som passer strategien. Et 1-minutts signal kan bruke en utløpstid på 30 sekunder; en daglig rebalansering kan la en ordre være aktiv til børsslutt. Dette er strategivalg, ikke universelle standardinnstillinger. Hvis strategien justerer prisen for hver bar, modeller kansellerings- og erstatningsforløpet i stedet for å teleportere ordren til den nye prisen.

OrdrepolicyTypisk brukSpørsmål til backtesten
Umiddelbar utførelse eller kanselleringTa tilgjengelig likviditet, og stopp deretterHvor stor del kunne blitt utført da ordren ble sendt?
Kort utløpstidRaskt signal med kort utførelsesvinduVar ordren fortsatt gyldig da prisen kom tilbake?
Til økten er sluttLangsom rebalansering eller hensikt om å delta i sluttauksjonenStøtter handelsplassen faktisk denne varigheten?

Feil 3: Å regne hvert pristreff som en utførelse

Hvis bunnen av et candle når en kjøpslimitordre, betyr ikke det nødvendigvis at ordren ble utført. Det kan ha vært en kø foran ordren, lite omsatt volum til den prisen eller en kortvarig handel som skjedde før ordren kom fram. En utdatert ordremodell kombinerer ofte alle 3 feilene: Den lar ordren være aktiv for lenge, antar at den sto først i køen og gir den full utførelse når prisen treffer.

Som et minimum bør du hindre utførelser før ordren ankommer og begrense simulert mengde til et plausibelt omsatt volum på limitprisen. For strategier der køposisjonen betyr noe, bør du bruke handels- og ordrebokdata eller en bevisst konservativ kømodell. Utførelse basert på et pristreff kan fortsatt være nyttig for en grov innledende vurdering, men merk den som en optimistisk tilnærming og sammenlign den med en strengere antakelse.

En praktisk kontroll: Logg opprettelsestidspunkt, aktivt tidsrom, kanselleringsforespørsel og bekreftelse, utførelsestidspunkt, utført mengde og gjenværende mengde for hver ordre. Spill deretter av noen handler rundt signalvendinger. Hvis du ikke kan forklare hvorfor hver ordre fortsatt var aktiv da den ble utført, må du forbedre backtestens utførelsestall.

Modeller ordren du har tenkt å papirhandle

Ordrestatus knytter strategiens hensikt til den faktiske eksponeringen. Posisjonen skal endres ved utførelser, ikke ved målsignaler eller kanselleringsforespørsler. Erstatninger bør etterlate et spor som kan kontrolleres, og delvise utførelser bør tas med videre til neste beslutning. Dette gjør backtesten mer omstendelig, men gjør også sammenligningen med papirhandel meningsfull: Begge systemene kan avvike i utførelsen av grunner som lar seg identifisere.

Når ordremodellen er usikker, bør usikkerheten gjenspeiles i resultatet. Kjør simuleringer med kort og lang levetid på ordrene, varier kanselleringsforsinkelsen, og vis hvor mye resultatet avhenger av optimistiske antakelser om køposisjon. Strategien kan være god. Den tilsynelatende fordelen kan også skyldes avkastningen på en ordre som det virkelige systemet ville ha kansellert for flere timer siden.

ordrehåndteringbacktestingutførelsepapirhandel
← Alle innlegg