11. november 2026 · execution

Strategien bestod testene. Så ændrede børsen sin tickstørrelse.

Strategien bestod testene. Så ændrede børsen sin tickstørrelse.

Klokken 08:00 UTC en tirsdag ændrede en handelsplads for krypto tickstørrelsen for en perpetual-kontrakt i mellemprisklassen. Vores basisstrategi opdagede det ikke. Signalet så stadig det samme spænd mellem spot og futures, risikogrænserne var uændrede, og backtesten blev ved med at vise de samme resultater.

Papertrading opdagede det til gengæld. Ordreadapteren rundede en købs-limitordre ned til den nærmeste tilladte pris. Dermed lå ordren én tick under det niveau, backtesten havde modelleret. Markedet ramte den gamle pris, den simulerede ordre blev udført, mens paperordren blev liggende urørt. Ved frokosttid var strategiens beholdning skævt fordelt.

Hændelsen lignede en lille afrundingsfejl. I virkeligheden var det et problem ved modellens grænse: Strategien kendte priserne, men backtesten kendte ikke handelspladsens prisgitter.

Vi handlede på et enkelt basissignal: Vi købte spot og solgte en perpetual, når futurespræmien oversteg en tærskel. Ordrerne var passive, fordi den forventede basisgevinst var lille. Nogle få ticks kunne afgøre, om indgangen gav nok til at dække gebyrerne og den senere udgang.

Hvad ændrede sig, da tickstørrelsen blev ændret?

Før opdateringen accepterede perpetual-kontrakten priser i trin på 0.01. Derefter accepterede den trin på 0.05 i det relevante prisinterval. Signalet beregnede en målpris for salg på 42,318.03, som var gyldig under den gamle regel. Under den nye regel var prisen ugyldig.

Børsen afviste ugyldige priser, men vores adapter havde en reservefunktion: Den rundede salgsprisen ned til 42,318.00. Den var stadig ugyldig. En anden reservefunktion rundede endnu en gang, denne gang til 42,318.05, som var gyldig, men mindre aggressiv for en sælger. Ordren kunne ikke længere sælges til den modellerede pris. Kodevejen var skrevet til et andet marked og lavede i stilhed afvisningen om til en ordre med ny pris.

Den ene ordre rejste to forskellige spørgsmål. For det første: Hvilken pris må handelspladsen acceptere? For det andet: Hvordan skal en strategi reagere, når dens ønskede pris ikke ligger på prisgitteret? Børsen besvarer det første. Strategien eller eksekveringspolitikken skal besvare det andet.

OrdreintentionGitterregelTypisk afrundingsretningMulig konsekvens
Købs-limitordrePrisen skal være et multiplum af tickstørrelsenNed for at holde sig på eller under limitprisenLavere sandsynlighed for fill
Salgs-limitordrePrisen skal være et multiplum af tickstørrelsenOp for at holde sig på eller over limitprisenLavere sandsynlighed for fill
Markedsbar limitordreSkal også overholde prisgrænserneAfhænger af den højeste acceptable prisOm den krydser spændet

Der findes ingen afrundingsregel, der altid er korrekt. Afrunding af et køb ned bevarer køberens prisbegrænsning, men kan sænke sandsynligheden for et fill. Afrunding op kan gøre ordren markedsbar, hvilket ændrer gebyrer og markedspåvirkning. For vores passive basisindgang var det forkert at flytte ordren i stilhed. Strategien havde valgt en målpris; adapteren ændrede dens økonomi.

Hvorfor så backtesten stadig sund ud?

Vores historiske ordresimulator behandlede limitpriser som kontinuerte tal. Hvis barens laveste pris nåede købsprisen, eller den højeste pris nåede salgsprisen, talte den det som et fill. Det er allerede en optimistisk tilnærmelse for en passiv ordre, for en handlet pris på limitprisen siger intet om køens placering. Men tickopdateringen afslørede et mere grundlæggende problem: Ordren kunne slet ikke have eksisteret til den pris.

Vi genafspillede de samme beslutninger med det nye prisgitter gældende fra dets ikrafttrædelsestidspunkt. Flere fills forsvandt. Nogle få ordrer blev rundet til priser, der krydsede spændet, og udløste takergebyrer i stedet for makergebyrer. Den resulterende positionsudvikling afveg, så senere afdækninger og udgange ændrede sig også. En regel, der lignede metadata, havde ændret hele handelssekvensen.

Opdateringen var heller ikke en overraskelse, der gemte sig i et diagram. Handelspladsen havde offentliggjort en ændring af instrumentreglerne med et ikrafttrædelsestidspunkt. Vi lagrede markedsdata omhyggeligt, men instrumentmetadata lå i en cache, der blev opdateret ved opstart. Backtesten brugte dagens regler for alle historiske datoer; papertrading brugte forældede regler, indtil processen blev genstartet. Ingen af miljøerne afspejlede, hvad handelspladsen tillod på hvert tidspunkt.

Hvordan bør en backtest modellere ændringer i tickstørrelsen?

Versionsstyr instrumentregler med gyldighedsintervaller, ligesom andre input, der afhænger af tidspunktet. Gem som minimum ikrafttrædelsestidspunktet og de regelværdier, der skal bruges til at validere en ordre: tickstørrelse, mængdetrin, minimumsmængde og eventuelle prisintervaller. Simulatoren bør indlæse det regelsæt, der gjaldt på det simulerede beslutningstidspunkt.

Gør derefter ordrehåndteringen eksplicit. Hvis en målpris er ugyldig, skal den afvises, rundes efter en dokumenteret politik eller beregnes på ny, så den passer til prisgitteret. Registrér, hvad der skete. En backtest, der automatisk retter hver ordre, kan være nyttig til at estimere en bestemt eksekveringspolitik, men den bør ikke skjule politikken som et fill på børsen.

For passive ordrer er en pris, der overholder tickreglen, kun den første betingelse for et fill. Du skal stadig have en model for, om markedet handlede gennem din pris, køen foran dig, annulleringer og det gebyrniveau, du ville have opnået.

Vi tilføjede to kontroller. Den ene kører hver genereret ordre gennem instrumentreglerne, der gjaldt på det pågældende tidspunkt, og fejler tydeligt ved ugyldige priser eller størrelser. Den anden sammenligner backtestens og paperadapterens endelige normaliserede ordre: side, pris, mængde, time-in-force og gebyrintention. Hvis de er uenige, betragtes kørslen ikke som sammenlignelig.

Derefter genafspillede vi tirsdagens ændring. Backtesten påstod ikke længere, at der var fills til 42,318.03 efter opdateringen af prisgitteret. Papertrading og simuleringen traf samme beslutning om hvert ugyldigt mål, også når beslutningen var at springe ordren over.

Signalen var ikke gået i stykker. Dens antagelser om det instrument, den kunne handle, var blevet forældede. En strategi kan godt klare en ny tickstørrelse, men kun hvis researchesystemet behandler handelspladsens regler som en del af det marked, det simulerer.

børsreglertickstørrelseafrunding af ordrerbacktestingpapertrading
← Alle indlæg