2 oktober 2026 · research

Din edge försvann när avgiftsnivån ändrades. Gick strategin sönder, eller kontot?

Din edge försvann när avgiftsnivån ändrades. Gick strategin sönder, eller kontot?

Du har just kört om din BTC-perpetualstrategi och Sharpe efter avgifter har sjunkit med en tredjedel. Signalerna är identiska. Fyllningarna är identiska. Du ändrade en sak: avgiftsmodellen utgår nu från kontots volym under de senaste 30 dagarna, och kontot börjar testet på en lägre nivå än den du nådde i produktion.

Innan du skriver om signalen bör du skilja på två frågor: vad skulle strategin ha betalat med en fast avgift, och vilken avgift skulle det här kontot faktiskt ha fått vid varje tidpunkt? Det är två olika experiment. Om du blandar ihop dem kan strategin se bättre ut eftersom den handlar tillräckligt mycket för att få rabatt, och sedan behandlar du rabatten som om den vore gratis.

Börja med avgiftstabellen, inte en enda avgift

De flesta börsers avgiftssidor visar en tabell: maker- och takeravgifter för olika volymnivåer, ibland med separata regler för spot och derivat. Din backtest behöver den faktiska avgiftsmodellen och regeln som avgör vilken nivå som gäller. Mäts volymen över 30 dagar? Per kalendermånad? Räknar börsen ihop spot och terminer? Kan en rabatt baserad på tokensaldo kombineras med volymnivån?

Dokumentera reglerna som daterade indata. I ett förenklat exempel antar vi att en handelsplats sätter nästa dags avgift utifrån den föregående periodens 30 dagars genomförda terminshandel:

Volym senaste 30 dagarnaMakeravgiftTakeravgift
Under $1 million0.020%0.050%
$1 million till $10 million0.016%0.040%
Över $10 million0.012%0.035%

Siffrorna är illustrativa; börsernas avgiftsmodeller och behörighetsregler ändras. Det viktiga är tidpunkten: gårdagens fyllningar kan påverka morgondagens avgift, men dagens fyllningar kan inte retroaktivt ge rabatt på dagens avgift.

Backtestkontot behöver en volymhistorik

Anta att din strategi omsätter $80,000 per dag, enbart som taker. På ingångsnivån kostar en affär tur och retur på $100,000 ungefär $50: $100,000 i nominellt handelsvärde för köp och försäljning, multiplicerat med 0.050%. På mellannivån kostar den $40. Skillnaden på tio dollar verkar liten tills du gör samma affär tur och retur 800 gånger. Då blir det $8,000 under testperioden, och avgiftsnivån kan ha ändrats just för att de affärerna bidrog med volymen.

Den återkopplingen finns på riktigt, men den skapar en fallgrop i modelleringen. Om du startar strategin på mellannivån för att den nådde dit i slutet av backtestet har du läckt framtida kontoaktivitet bakåt i tiden. Ange en inledande volymhistorik, uppdatera det rullande fönstret efter varje kvalificerande fyllning och tillämpa nivåändringar först när börsens regler säger att de träder i kraft.

Håll isär tre storheter: strategins nominella handelsvärde, kontovolymen som får räknas in när avgiftsnivån fastställs och den avgift som faktiskt tas ut för varje fyllning. De kan skilja sig åt om handelsplatsen undantar vissa produkter, bara räknar ena sidan av vissa affärer eller ger rabatt baserat på saldon som du inte har modellerat.

Kör ett test med fast avgift parallellt med ett kontoanpassat test

Du behöver två resultat. Börja med att köra om hela strategin med en enda försiktig, fast takeravgift. Då ser du hur känslig idén är för handelskostnader utan att dess egen omsättning flyttar målstolparna. Kör sedan med avgiftsmodellen som tar hänsyn till kontot, med dokumenterat startsaldo och volymhistorik. Det uppskattar vilken utveckling just det här kontot kunde ha fått under de angivna reglerna.

Jämför sedan avgiftskostnaden, omsättningen, netto-P&L och nedgången. Om bara den kontoanpassade körningen förbättras bör du fråga hur mycket som kom från en rimlig nivåändring och hur mycket som beror på starthistorik, volym från flera produktkategorier eller en rabatt som kontot kanske inte har rätt till. Om båda körningarna tappar sin edge var avgiftsnivån troligen inte huvudproblemet.

Låt inte heller makerfyllningar automatiskt få den lägsta avgiften medan din fyllningsmodell i tysthet antar att varje passiv order blev träffad. Avgiftsmodellen kan vara exakt samtidigt som dina antaganden om fyllningar är rena fantasier. Granska dem var för sig.

Gör resultatet reproducerbart

Spara versionen av avgiftsmodellen, tillbakablicksperioden för nivåberäkningen, tidpunkten för återställning, kvalificerande produkter och startvolym tillsammans med backtestet. Ta med en enkel daglig logg: ingående rullande volym, tillagda fyllningar, tillämpad nivå och debiterade avgifter. När resultatet ändras efter att en börs justerat avgifterna vet du om det berodde på strategin, kontots utveckling eller antagandena.

Du försöker besvara en avgränsad och användbar fråga: givet en avgiftsmodell och en kontohistorik som du faktiskt kan beskriva, vad betalade strategin? Om du inte kan återskapa vilken nivå som gällde en viss dag vet du ännu inte vad backtestets nettoresultat betyder.

research
← Alla inlägg