27 september 2026 · research

Backtestet klarade sig. Paperstrategin missade 37 % av sina ordrar.

Backtestet klarade sig. Paperstrategin missade 37 % av sina ordrar.

Vårt backtest räknade med 91 avslut av 100 skickade ordrar. I paper trading fick samma strategi 63. Medianen för tiden från signal till orderbekräftelse var 84 millisekunder, och 12 av de paperavslut som uteblev var limitordrar som backtestet antog hade fyllts så fort priset nådde dem.

Skillnaden på 28 procentenheter såg ut som ett strategiproblem tills vi skilde på orderbeslut och avslutsbeslut. Strategin valde nästan samma riktning, storlek och pris i båda körningarna. Exekveringsförloppet skilde sig åt: vissa ordrar kom fram sent, andra förblev öppna och några mötte en marknad som redan hade rört sig.

Vad innebär orderparitet mellan backtest och paper trading?

Paritet innebär att backtestet och papersystemet fattar jämförbara beslut utifrån samma tillgängliga information och sedan uttryckligen tar hänsyn till sina olika exekveringsmodeller. Det innebär inte att varje simulerat avslut ska motsvara ett paperavslut. Historiska staplar kan inte återskapa positionen i orderboken, och en paperhandelsplats kan använda en annan matchningsmodell än en livebörs.

Den användbara frågan är mer avgränsad: kan du förklara vad som hände härnäst för varje order som strategin avsåg att lägga? Antalet affärer och den slutliga avkastningen döljer för mycket. Spara en sammanfogad post för varje beslut, med ett stabilt ID för strategibeslutet som följer med genom signal-, order-, bekräftelse-, annullerings- och avslutshändelser.

JämförelseVad den fångar uppExempel
Beslutstid och riktningOlika indata eller schemaläggningPaper-signalen utlöses en stapel senare
Begärd storlek och prisAvrundning, risk- eller handelsplatsreglerBacktestet skickar 0.013 BTC; paper avrundar till 0.01
Övergångar mellan orderstatusarGlapp vid skickande, avvisning och annulleringBacktestet behandlar en annulleringsbegäran som slutförd
Avslutsvolym och prisÖveroptimistisk avslutsmodell eller marknadsrörelseEn limitorder som nås får ett fullständigt avslut i backtestet, men inget paperavslut

Varför stod limitordrarna som nåddes för så många missade avslut?

Vårt backtest använde minutstaplar. Om limitpriset låg inom stapelns intervall mellan högsta och lägsta pris markerades ordern som avslutad. Den regeln visar om marknaden handlades till det priset någon gång under minuten. Den visar inte om vår order var aktiv då, om den låg först i kön eller om tillräcklig volym handlades efter att den kommit fram.

Paperloggarna blottlade timingproblemet. Strategin beräknade en signal kl. 12:03:00.000, men marknadsdatahändelsen nådde orderprocessen 31 millisekunder senare. Riskkontrollerna tog ytterligare 22 millisekunder, och handelssimuleringen bekräftade ordern 31 millisekunder efter det. Vid snabba rörelser kan en historisk stapel få ett pris att se nåbart ut, trots att limitordern kom fram efter att marknaden lämnat priset.

Det fanns ytterligare en komplikation: tolv paperordrar var fortfarande öppna när backtestet redan hade gått vidare. Simulatorn accepterade en annulleringsbegäran som om ordern hade försvunnit omedelbart. I papersystemet kom annulleringsbekräftelsen senare; tre ordrar avslutades under tiden. Det förändrade positionen som nästa signal utgick från.

Hur mäter jag skillnaden utan att lura mig själv?

Börja med en enkel avstämningsrapport grupperad efter orderavsikt. Visa alltid nämnaren. ”Avslutsgrad” kan betyda avslut per skickad order, avslutad volym dividerad med begärd volym eller avslutade ordrar dividerat med ordrar som nådde handelsplatsen. De måtten besvarar olika frågor.

  1. Koppla ihop händelser med ett besluts-ID eller klientorder-ID, inte med en tidsstämpel som uppskattats i efterhand.
  2. Jämför först besluten: signaltid, riktning, begärd volym, ordertyp och limitpris.
  3. För beslut som matchar jämför du bekräftelsefördröjning, avvisningar, tid som öppen, annulleringstid, avslutad volym och volymvägt avslutspris.
  4. Redovisa andelar per ordertyp och marknadsförhållande. En total avslutsgrad på 63 % kan dölja 90 % för marknadsordrar och 35 % för passiva limitordrar.

Håll kategorierna tydliga och åtskilda. En avvisad order är inte en order utan avslut; en delvis avslutad order är inte ett fullständigt avslut; och en order som annulleras efter ett delavslut har ändå förändrat positionen. Räkna både ordrar och begärd volym, så att en mängd små ordrar inte får resultatet att se bättre ut än det är.

91 %backtestets orderavslutsgrad
63 %paperhandelns orderavslutsgrad
28 procentenheterskillnad att undersöka

Vad bör ändras i backtestet?

Använd en avslutsregel som stämmer med datans upplösning och det avsedda orderbeteendet. Med staplar är en limitorder som nås ett tecken på ett möjligt avslut, inte ett bevis. Du kan modellera delavslut konservativt, kräva att priset passerar limitpriset eller utesluta passiva ordrar vars position i kön inte går att uppskatta. Varje val besvarar en egen fråga; dokumentera det och jämför resultatet med mer än en rimlig regel.

Modellera också orderstatus. En order är aktiv tills systemet tar emot en slutlig händelse, och en annulleringsbegäran tar inte bort exponeringen. Om strategin kan skicka en andra order medan den första väntar, behöver backtestet återge den kapplöpningen eller förhindra den genom konstruktionen.

En avslutsmodell är ett påstående om vad din order hade kunnat åstadkomma. Ge den en regel du kan förklara och kontrollera sedan regeln mot paperloggarna.

För vår skillnad på 28 procentenheter var det överraskande inte att ett backtest med minutstaplar överskattade passiva avslut. Det var att strategins position hann avvika redan före nästa beslut eftersom annulleringstiden hade utelämnats. När vi rättade modellen för orderstatus och slutade behandla varje limitpris som nåddes som ett avslut blev jämförelsen med paper mindre smickrande och mer användbar.

Det är den praktiska ribban för paritet: varje betydande skillnad mellan simulerat beteende och paperbeteende har en dokumenterad orsak, och backtestet gör inte anspråk på säkerhet där datan inte kan ge den.

paper tradingorderhanteringbacktestingexekveringhandelssystem
← Alla inlägg