22 augusti 2026 · research

Varför dina öppna backtestorder behöver en klocka

Varför dina öppna backtestorder behöver en klocka

En strategi lägger en limitorder kl. 10:00. Signalen ändras kl. 10:03. Backtestet ersätter obemärkt ordern kl. 10:04 och räknar sedan in en exekvering kl. 10:05. I paper trading kan den ursprungliga ordern fortfarande ligga kvar på handelsplatsen. Om den exekveras samtidigt som ersättningsordern också är aktiv har strategin 2 order och en positionsmodell som låtsas att det bara fanns 1.

Öppna order behöver ett eget tillstånd och en egen klocka. Ett backtest bör veta när varje order skickades, när den kan annulleras, om annulleringen nådde handelsplatsen och vad som händer om en exekvering hinner före annulleringen. Tre genvägar raderar regelbundet den informationen.

Misstag 1: Att behandla en ny signal som en omedelbar annullering

Många backtester räknar om målpositionen för varje stapel och skriver sedan över den vilande ordern med det som den senaste signalen vill ha. Då försvinner ordern precis när strategin ändrar sig. Riktiga handelsplatser fungerar inte så. En annulleringsbegäran tar tid, och en order kan gå till exekvering innan handelsplatsen hinner behandla den.

Tänk dig en köp-limitorder på 100 aktier till $50.00. Kl. 10:03 försvagas signalen, så strategin skickar en annulleringsbegäran. Kl. 10:03:00.080 exekveras 60 aktier; annulleringen bekräftas kl. 10:03:00.110. De återstående 40 aktierna annulleras, men positionen omfattar nu 60 aktier. Ett stapelbaserat backtest som raderar ordern kl. 10:03 kan rapportera 0 aktier. Ett backtest som antar omedelbar annullering men ändå registrerar en senare exekvering har hittat på en exponering i motsatt riktning.

Följ uttryckligen orderns livscykel: skickad, bekräftad, delvis exekverad, annullering pågår, annullerad eller helt exekverad. Behåll exekveringar som sker innan annulleringen har bekräftats. I en grovkornig stapelsimulering bör du välja och redovisa en försiktig regel för händelseordningen när båda händelserna kan inträffa inom samma stapel.

Misstag 2: Att ge en vilande order obegränsad livslängd

En limitorder som prissätts utifrån en signal kl. 10:00 kan bli inaktuell även om signalen saknar en uttrycklig exitregel. Orderboken rör sig, volatiliteten förändras och marknadens värdering av instrumentet kan driva iväg. Ändå kan en simulator som låter ordern vara aktiv tills den exekveras få en exekvering månader senare och tillskriva den en tes som inte längre gäller.

Välj en policy för orderns giltighetstid som passar strategin. En 1-minutssignal kan använda en giltighetstid på 30 sekunder; en daglig omviktning kan låta en order vara aktiv fram till stängning. Det är strategival, inga universella standardinställningar. Om strategin omprissätter varje stapel ska du modellera annullerings- och ersättningsförloppet i stället för att magiskt flytta ordern till det nya priset.

OrderpolicyTypisk användningFråga för backtestet
Omedelbar exekvering eller annulleringTa tillgänglig likviditet och avsluta sedanHur stor del kunde exekveras när ordern skickades?
Kort giltighetstidSnabb signal med kort exekveringsfönsterVar ordern fortfarande giltig när priset återvände?
Till handelssessionens slutLångsam omviktning eller avsikt att delta i stängningsauktionenHar handelsplatsen faktiskt stöd för den giltighetstiden?

Misstag 3: Att räkna varje prisberöring som en exekvering

Om en candlesticks lägsta pris når en köp-limitorder betyder det inte nödvändigtvis att ordern exekverades. Det kan ha funnits en kö före ordern, liten omsatt volym till det priset eller en kortvarig notering som kom innan ordern nådde marknaden. En modell för inaktuella order kombinerar ofta alla 3 misstagen: den låter ordern ligga kvar för länge, antar att den står först i kön och tilldelar sedan en full exekvering när priset nuddar gränsen.

Se åtminstone till att inga exekveringar sker före orderns ankomsttid och begränsa den simulerade kvantiteten utifrån en rimlig omsatt volym vid limitpriset. För strategier där positionen i kön spelar roll bör du använda data om avslut och orderbok eller en medvetet försiktig kömodell. Exekvering enbart vid prisberöring kan fortfarande vara användbar för en grov första gallring, men märk den som en optimistisk approximation och jämför med ett strängare antagande.

En praktisk granskning: logga varje orders skapandetid, aktiva tidsfönster, annulleringsbegäran och bekräftelse, exekveringstid, exekverad kvantitet och återstående kvantitet. Spela sedan upp några affärer kring signalvändningar. Om du inte kan förklara varför varje order fortfarande var aktiv när den exekverades behöver backtestets exekveringsräkning ses över.

Modellera den order du tänker köra i paper trading

Ordertillståndet kopplar strategins avsikt till den faktiska exponeringen. Positionen ska ändras vid exekveringar, inte när målpositioner eller annulleringsbegäranden skickas. Ersättningar bör lämna ett spår som går att granska, och delvisa exekveringar ska finnas kvar inför nästa beslut. Det gör backtestet mer omständligt, men också jämförelsen med paper trading meningsfull: systemen kan skilja sig åt i exekveringen av tydligt identifierbara skäl.

När ordermodellen är osäker ska osäkerheten synas i resultatet. Kör med både kort- och långlivade order, variera annulleringsfördröjningen och visa hur mycket resultatet beror på optimistiska antaganden om köposition. Strategin kan vara helt okej. Den skenbara fördelen kan också vara avkastningen från en order som det verkliga systemet skulle ha annullerat för flera timmar sedan.

orderhanteringbacktestingexekveringpaper trading
← Alla inlägg