8. oktober 2026 · research

Hvorfor blir limitordren min fylt i backtesten når markedet aldri nådde den?

Hvorfor blir limitordren min fylt i backtesten når markedet aldri nådde den?

En backtest kan fylle limitordren din selv om det ikke fantes noen omsettelig mulighet. Hvis barens laveste kurs krysset kjøpslimiten din, registrerer mange motorer en fill. Men den lave kursen forteller bare at minst én rapportert handel fant sted på den kursen eller lavere. Den sier ingenting om hvor mye som ble omsatt, hva som lå foran deg i køen, eller om ordren din var aktiv i tide.

Dette skillet betyr mest når strategiens fortrinn avhenger av hyppige passive fills. En modell som behandler hver prisberøring som en full fill, kan gjøre en tålmodig inngang til en innbilt kilde til alfa.

Betyr det at ordren min ble fylt når en bar berører limitprisen min?

Nei. Det betyr at barens registrerte prisintervall omfattet limiten din. Om ordren din kunne bli fylt, avhenger av ordreboken i markedet, handelsflyten, køposisjonen din og når ordren kom fram.

Tenk deg en kjøpslimit på $100.00. Baren åpner på $100.20, når et lavpunkt på $99.98 og stenger på $100.10. En handel kan ha blitt registrert to cent under prisen din, men hvis det lå en stor kø foran deg på $100.00 og bare et lite volum ble omsatt der, kan ordren din ha forblitt urørt. Med bare OHLCV kan du ikke se køen.

Det er også en annen komplikasjon: En bar samler hendelser over tid. Hvis signalet ditt beregnes ut fra barens sluttkurs, kan du ikke gå ut fra at ordren din lå ute tidligere i baren da lavpunktet inntraff. Baren komprimerer hendelsesforløpet som kunne gitt svar på spørsmålet.

Hva kan OHLCV-data faktisk fortelle meg om en limitfill?

OHLCV kan utelukke enkelte fills og gjøre andre sannsynlige. Dataene kan ikke fastslå køprioritet eller garantere hvilket volum som var tilgjengelig for ordren din.

ObservasjonHva den støtterHva den ikke kan bevise
Barens laveste kurs holdt seg over en kjøpslimitIngen rapportert handel nådde prisen i løpet av barenAt ordren ville blitt fylt
Barens laveste kurs berørte kjøpslimitenPrisen ble rapportert på limitnivåetAt noe volum ble omsatt etter at ordren din kom fram
Barens laveste kurs falt under kjøpslimitenHandler fant sted på eller under prisenAt nok volum nådde køposisjonen din
Barens totalvolum oversteg ordrestørrelsen dinMarkedet omsatte minst så mye et eller annet sted i barenAt volumet ble omsatt på prisen din, etter at ordren kom fram

En motor som bygger på barer, trenger altså en antakelse om fills. Behandle antakelsen som en modell med en kjent blindflekk, ikke som et faktum hentet ut av lysestaken.

Hvordan bør jeg modellere limitfills i en backtest?

Begynn med tidspunktet for ordren. Bestem når signalet blir tilgjengelig, når ordren når handelsplassen, og hvilke påfølgende markedshendelser som kan påvirke den. For et signal som er kjent ved barens slutt, er en konservativ regel basert på barer å gjøre ordren aktuell fra og med neste bar.

Skill deretter mellom prisvilkår og fillvolum. At en limit blir aktuell for handel, betyr ikke at hele ordren fylles. Hvis du har registrerte handler, men ikke historikk over ordreboken, kan du kreve at omsatt volum på limitprisen eller bedre overstiger et multiplum av ordrestørrelsen din. Dette multiplumet er en grov sikkerhetsmargin for køen, ikke en universell konstant. Test flere verdier, og rapporter hvordan resultatet endrer seg.

Anta for eksempel at strategien legger inn en kjøpslimit på 2 BTC, og at 3 BTC omsettes på den valgte prisen etter at ordren blir aktuell. En modell som krever 5 BTC i kvalifiserende volum, lar ordren stå ufyllt; en modell med et volummultiplum på 1.0 fyller den. Ingen av resultatene gjenskaper køen. Sammenligningen viser hvor avhengig strategien er av en antakelse du ikke kan observere.

La ufylte ordrer bli værende i simuleringen. Kanseller dem når strategien ville ha kansellert dem, og la tapte handler forbli tapte. Hvis strategien får en fill hver gang limiten berøres, samtidig som ordrer som utløper uten å bli berørt, ignoreres, skaper det skjevhet i både utførelsen og antallet muligheter.

Når trenger jeg ordrebokdata?

Bruk oppdateringer av ordreboken og handler når køposisjon eller delvise fills er sentralt for strategien: market making, kortvarige passive kurser eller innganger som avhenger av å være nær fronten av et tettpakket prisnivå. Selv da viser historiske offentlige data kanskje ikke den nøyaktige køposisjonen din. Du må modellere når ordren kommer fram, kanselleringer foran deg, matchingsregler og din egen markedspåvirkning.

For strategier med lengre tidshorisont kan detaljerte ordrebøker øke kompleksiteten uten å løse den viktigste usikkerheten. En nyttig studie basert på barer kan fortsatt sammenligne en øvre grense der enhver berøring gir fill, med strengere scenarioer der volumet må oppfylle bestemte krav. Hvis det tilsynelatende fortrinnet forsvinner så snart du krever plausible fills, er det verdifull informasjon for analysen.

Hvordan finner jeg ut om resultatet mitt avhenger av optimistiske fills?

Kjør den samme strategien med et lite sett tydelige fillregler, og sammenlign mer enn sluttavkastningen. Følg med på antall fylte ordrer, andel delvise fills, tid i markedet, kansellert volum, tapte bevegelser etter ufylte ordrer og omsetningshastighet. Strategien kan beholde avkastningen den framhever, samtidig som den bygger på langt færre og mer beleilige handler.

Papirhandel er neste nyttige kontroll: Send inn den faktiske ordrelogikken, og registrer bekreftelser, fills og kanselleringer. Papirfills avhenger fortsatt av reglene til handelsplassen eller simulatoren, men de tester timing og ordrehåndtering som en lysestake ikke kan vise.

En berørt limit sier noe om prisen. En fill er en påstand om utførelse. Backtesten din bør synliggjøre avstanden mellom disse påstandene.

limitordrerbacktestingmarkedsmikrostrukturfillmodellerutførelse
← Alle innlegg