100 affärer. En takeravgift på 0.04%. Ett antagande om 0.02% slippage. De siffrorna kan få ett backtest att se noggrant uppmätt ut, men den sista är den överraskande: en enda slippage-nivå säger nästan ingenting om huruvida dina ordrar hade kunnat handlas till de priserna.
Slippage beror på vad du handlar, när du handlar och hur stor din order är i förhållande till den likviditet som finns tillgänglig just då. Ett backtest byggt på candlesticks känner vanligtvis bara till de två första faktorerna ungefärligt, och den tredje inte alls. Om du behandlar den genomsnittliga fillen som ett faktum kan strategin få ett exekveringsresultat den inte har förtjänat.
Varför kan OHLCV inte tala om min genomsnittliga fill?
En candle visar intervallets prisintervall och sammanlagda volym. Den visar inte hur volymen fördelades mellan olika priser, hur mycket som fanns på bästa köp- och säljkurs eller om din order kom in före eller efter affärerna som satte candlens lägsta kurs. En lägstanotering från en enda liten affär och en lägstanotering som absorberade jämn volym ger samma OHLC-värde.
Föreställ dig en 1-minutsstapel med $200,000 i omsättning och ett marknadsköp på $50,000. Ordern motsvarar 25% av stapelns omsättning. Det bevisar inte att den skulle flytta marknaden med 25% eller att den hade kunnat fyllas vid stapelns öppning. Det visar att ordern är tillräckligt stor i förhållande till stapeln för att ett antagande om noll marknadspåverkan bör ifrågasättas. Om samma order bara motsvarar 0.2% av omsättningen är risken mindre, även om omsättningen i sig inte visar orderbokens djup eller hur snabbt den fylls på.
Därför är ”slippage är 2 baspunkter” ett modellval, inte en egenskap hos symbolen. Det kan vara en användbar grundnivå. Det kan inte vara ett universellt svar.
Hur bör jag uppskatta marknadspåverkan utifrån stapeldata?
Börja med en skala som dina data kan stödja. Beräkna deltagandegraden för varje order: ordervärdet delat med stapelns omsättning. Undersök sedan hur strategins resultat förändras mellan olika intervall av deltagandegrad. Här är en avsiktligt enkel illustration; de antagna marknadspåverkansvärdena är stresstestnivåer, inte uppskattningar av exekvering på någon särskild handelsplats.
| Ordervärde / stapelns omsättning | Illustrativ marknadspåverkan enkel väg | Vad bör du fråga dig? |
|---|---|---|
| 0.2% | 1 bp | Är spreaden och takeravgiften redan högre än detta? |
| 2% | 5 bp | Klarar sig fördelen med en bredare spread och långsammare fill? |
| 20% | 25 bp | Skulle själva deltagandegraden förändra prisutvecklingen? |
En baspunkt är 0.01%. Om en strategi omsätter $100,000 i vardera riktningen kostar 5 bp i marknadspåverkan på båda sidor omkring $100 tur och retur, före avgifter. Den uträkningen är enkel; att avgöra om 5 bp är rimligt kräver mer underlag. Om din signal handlar precis när volymen skjuter i höjden kan en volymnämnare som omfattar hela stapeln till och med få deltagandegraden att verka mindre riskfylld än den är under de minuter då din order faktiskt kommer in.
Vad bör ett stresstest av slippage innehålla?
Göm inte osäkerheten kring exekvering i ett enda genomsnitt för hela portföljen. Håll de faktorer som ändrar resultatet synliga:
- Riktning: köpordrar tar säljkursen och säljordrar tar köpkursen; spreadkostnaden tillkommer vid varje ingång och utgång.
- Orderstorlek: redovisa deltagandegraden per affär och likviditetsregim, inte bara som ett genomsnitt för backtestet.
- Ordertyp: en marknadsorder betalar för omedelbarhet; en vilande limitorder kan missa rörelsen eller hamna bakom andra ordrar i kön.
- Tidpunkt: en signal vid stapelns stängning kan inte göra anspråk på stängningskursen som fill efter att ha sett den stängningen.
- Marknadsläge: använd bredare antaganden vid snabba rörelser, under timmar med tunn handel och exakt när strategins utlösande villkor inträffar.
Kör minst ett grundscenario och ett tuffare scenario. Dubblera till exempel den antagna spreaden och marknadspåverkan och undersök sedan vilka affärer och perioder som står för förändringen. Om strategin bara fungerar med de allra gynnsammaste fillsen är det ett forskningsresultat. Det är bättre att upptäcka det före pappershandel.
Redovisa avgifter, spread och marknadspåverkan som separata poster. Avgifterna följer kontots prislista; spread och marknadspåverkan beror på exekveringen. Om du slår ihop dem blir det svårare att se vilket antagande som driver resultatet.
När behöver jag data från orderboken?
Använd data om avslut och köp- och säljkurser när strategins fördel är jämförbar med spreaden, när den handlar ofta eller när den är beroende av kortlivad likviditet. Använd djupsnapshots eller händelsedata från orderboken när köposition, delleveranser eller tömning av orderboken avgör om signalen går att exekvera. Även då kan en historisk uppspelning inte återskapa din egen marknadspåverkan perfekt; den observerade likviditeten registrerades utan din hypotetiska order.
För långsammare strategier kan stapeldata fortfarande användas för att sålla bland idéer. Håll positionsstorlekarna små i förhållande till den observerade omsättningen, redovisa den marknadspåverkanskurva du antagit och testa om rimliga förändringar suddar ut resultatet. Det är ett försvarbart sätt att använda en grov fillmodell. Att kalla den en exakt genomsnittlig fill är det inte.
Det praktiska målet är inte att gissa den enda sanna slippage-siffran. Målet är att hitta intervallet där strategin slutar vara meningsfull och sedan se om dina data och din orderstorlek håller dig på tryggt avstånd från den gränsen. Om inte, är nästa användbara forskningsuppgift bättre exekveringsdata, inte ytterligare en decimal i backtestrapporten.
← Alla inlägg


