← Terug naar artikelen
July 21, 2026
5 min leestijd

De maker-taker-beslissing: fee tiers, rebates en de werkelijke kosten van het kruisen van de spread

De maker-taker-beslissing: fee tiers, rebates en de werkelijke kosten van het kruisen van de spread
#maker taker
#handelskosten
#rebates
#adverse selection
#market making
#executie
#market microstructure
#backtest

Elke order die je verstuurt, maakt eerst één binaire keuze voordat er iets anders gebeurt: de spread kruisen en de taker fee betalen, of blijven liggen in het orderboek en de maker fee betalen — misschien zelfs een rebate incasseren. De industrie framet dit als een fee-optimalisatie, en de fee-tabellen laten het er ook zo uitzien: taker 5 bps, maker 2 bps, besparing 3 bps, post-only-vlag aan, klaar. Dat frame is een vermomming. Eronder is maker versus taker een trade over adverse selection: betaal je een bekende prijs voor onmiddellijkheid, of verkoop je de markt een optie om jou naar eigen goeddunken te vullen — een optie die geïnformeerde tegenpartijen precies uitoefenen wanneer de fill jou pijn doet. Het fee schedule prijst die optie voor de gemiddelde deelnemer. Jij bent niet de gemiddelde deelnemer, en de flow die jouw quote raakt evenmin.

Dit artikel doet de rekensom die de fee-tabel verbergt: de gecorrigeerde break-even, waarom Glosten-Milgrom (1985) impliceert dat passieve fills structureel tegen je gebiast zijn, wat echte crypto fee tiers en token-kortingen met de cijfers doen, waarom rebate mining stierf in aandelen en welke gemuteerde vorm overleeft in crypto, hoe queue-positie de werkelijke waarde van een rebate bepaalt, en hoe je dit alles modelleert in een backtest zonder de meest voorkomende fee-bug in het vak te maken.

De naïeve break-even — en de term die iedereen vergeet

Notatie: gequoteerde spread ss, taker fee ftf_t, maker fee fmf_m (negatief bij een rebate), allemaal in basispunten van notional, mid als benchmarkprijs. Kruisen kost je een halve spread plus de taker fee; blijven liggen levert je een halve spread op en kost de maker fee:

Ctaker=s2+ft,Cmakernaive=fms2C_{\text{taker}} = \frac{s}{2} + f_t, \qquad C_{\text{maker}}^{\text{naive}} = f_m - \frac{s}{2}

Vul de basistarieven van Binance USDⓈ-M futures in — maker 2 bps, taker 5 bps — op een perp die 2 bps breed quoteert: taker kost 1+5=61 + 5 = 6 bps, maker "kost" 21=12 - 1 = 1 bps. Ogenschijnlijke besparing: 5 bps per trade, elke trade. Voor een strategie die 20 round trips per dag doet, wordt dat gepresenteerd als 100 bps dagelijkse edge uit een vinkje.

Let eerst op iets in deze cijfers: de fee is geen correctie op de spread — op liquide cryptoparen is het de kostenpost. BTCUSDT perp quoteert vaak onder de 1 bps breed terwijl een retail taker 5 bps betaalt. De halve spread is een afrondingsfout naast de fee. Dit is het tegenovergestelde van de intuïtie uit aandelen, waar spreads en fees dezelfde orde van grootte hebben, en het is de reden waarom in crypto elke naïeve vergelijking schreeuwt "altijd maken." Het is ook de reden waarom elke eerste market-making backtest winstgevend is en de meeste eerste live-deployments niet.

De naïeve maker-kost mist drie termen:

  1. Non-fill risico. Een limit order is geen trade; het is een lot voor een trade. Als hij niet vult, mis je ofwel de beweging, of kruis je later tegen een slechtere prijs.
  2. Adverse selection. Gegeven dat er gevuld wordt, is de kans groter dat de prijs tegen je in beweegt dan de onvoorwaardelijke verdeling suggereert. Dat is geen pech; het is een stelling.
  3. Re-quote-kosten. De markt achtervolgen met cancel/replace zet je queue-positie terug naar achteren, wat je fill-verdeling stilletjes ombouwt naar overwegend type-2-fills.

De tweede term is degene met vijftig jaar theorie erachter, dus laten we die goed doen.

Glosten-Milgrom: de fill is het slechte nieuws

Glosten en Milgrom (1985), "Bid, Ask and Transaction Prices in a Specialist Market with Heterogeneously Informed Traders" (Journal of Financial Economics 14), is het meest zuivere model voor waarom een spread überhaupt bestaat. Een risiconeutrale, competitieve market maker zonder kosten quoteert een bid en een ask. Een fractie μ\mu van de binnenkomende traders is geïnformeerd — zij kennen de werkelijke waarde VV van het asset — en de rest handelt om exogene redenen, met gelijke kans kopend of verkopend. De market maker kan ze niet uit elkaar houden. Concurrentie dwingt elke quote tot een conditionele verwachting:

ask=E[Vvolgende trader koopt],bid=E[Vvolgende trader verkoopt]\text{ask} = \mathbb{E}[V \mid \text{volgende trader koopt}], \qquad \text{bid} = \mathbb{E}[V \mid \text{volgende trader verkoopt}]

Uitgewerkt voorbeeld. Laat VV met gelijke kans 101 of 99 zijn, en μ=0,2\mu = 0{,}2. Als V=101V = 101, arriveert een koop met kans μ+(1μ)/2=0,6\mu + (1-\mu)/2 = 0{,}6 (alle geïnformeerden kopen, de helft van de ongeïnformeerden koopt); als V=99V = 99, met kans 0,40{,}4. Dan

ask=0,50,6101+0,50,4990,5=100,2,bid=99,8\text{ask} = \frac{0{,}5 \cdot 0{,}6 \cdot 101 + 0{,}5 \cdot 0{,}4 \cdot 99}{0{,}5} = 100{,}2, \qquad \text{bid} = 99{,}8

De spread is μ(VHVL)=0,4\mu(V_H - V_L) = 0{,}4 — pure adverse-selection-compensatie. Geen inventory-risico, geen fees, geen monopolierente, en de spread is er nog steeds, schalend met de geïnformeerde fractie en de omvang van wat zij weten.

De consequentie die telt voor de maker-taker-beslissing: gevuld worden is zelf informatie, en die informatie is tegen je. Je liggende bid koopt vaker wanneer de werkelijke waarde laag is, omdat dat het moment is waarop geïnformeerde verkopers opduiken. Conditioneren op je eigen fill verschuift de verwachte waarde van wat je net kocht naar beneden — door constructie, niet door pech. De standaardmanier om dit te meten is de markout: voor een koop gevuld tegen prijs pp, is de markout op horizon τ\tau gelijk aan m(τ)=mid(tfill+τ)pm(\tau) = \text{mid}(t_{\text{fill}} + \tau) - p. Geaggregeerde markouts op passieve fills zijn voor bijna iedereen bijna overal negatief; hoe je ze berekent zonder jezelf voor de gek te houden staat beschreven in Implementation shortfall en TCA.

Een equivalente framing die beter generaliseert: een liggende limit order is een gratis optie, verleend aan de markt. De tegenpartij — niet jij — kiest het moment van uitoefening, en die oefent uit wanneer het in zijn belang is. De maker rebate is de premie die het venue je betaalt voor het schrijven van die optie. De vraag is nooit "is de premie positief" maar "is de premie groter dan de waarde van de optie voor degenen die haar uitoefenen."

De gecorrigeerde break-even

Laat pp de kans zijn dat je quote vult binnen je beslissingshorizon, A=E[adverse movefill]A = \mathbb{E}[\text{adverse move} \mid \text{fill}] de conditionele markout-kost in bps, en DD de extra kost die je betaalt wanneer je niet gevuld wordt (drift tijdens het wachten plus kruisen tegen de nieuwe prijs). De eerlijke maker-kost is:

E[Cmaker]=p(fms2+A)+(1p)(s2+ft+D)\mathbb{E}[C_{\text{maker}}] = p\left(f_m - \frac{s}{2} + A\right) + (1-p)\left(\frac{s}{2} + f_t + D\right)

Maken heeft de voorkeur boven nemen wanneer E[Cmaker]<s/2+ft\mathbb{E}[C_{\text{maker}}] < s/2 + f_t, wat herschrijft tot een nette ongelijkheid:

s+ftfmschijnbare besparing  >  Aadverse selection  +  1ppDodds-gewogen misskost\underbrace{s + f_t - f_m}_{\text{schijnbare besparing}} \;>\; \underbrace{A}_{\text{adverse selection}} \;+\; \underbrace{\frac{1-p}{p}\,D}_{\text{odds-gewogen misskost}}

Vergelijking tussen taker-kosten en de eerlijke maker-kostenontleding

Hetzelfde uitgewerkte voorbeeld, nu met realistische frictie: s=2s = 2, ft=5f_t = 5, fm=2f_m = 2, dus de schijnbare besparing is 5 bps. Neem p=0,6p = 0{,}6, A=3A = 3 bps, D=2D = 2 bps. De rechterkant is 3+0,40,62=4,333 + \frac{0{,}4}{0{,}6} \cdot 2 = 4{,}33 bps. Maken wint nog steeds — met een marge van 0,67 bps, niet 5. In verwachting: E[Cmaker]=0,6(21+3)+0,4(1+5+2)=5,6\mathbb{E}[C_{\text{maker}}] = 0{,}6(2 - 1 + 3) + 0{,}4(1 + 5 + 2) = 5{,}6 bps tegenover een taker-kost van 6,0. Het vinkje was 0,4 bps waard, niet 5, en een bescheiden fout in AA of pp kantelt het teken.

Erger nog: AA, pp en DD zijn geen onafhankelijke knoppen — ze worden gezamenlijk aangestuurd door waarom je handelt. Als je signaal gecorreleerd is met kortetermijnflow (elke momentum-entry is dat), dan geldt tijdens precies de uitbarstingen waarin je wilt instappen: p1p \to 1 en AA explodeert: je wordt onmiddellijk gevuld, door precies de beweging die je voorspelde, tegen de oude prijs, aan de verkeerde kant ervan. De maker-korting is het grootst in de fee-tabel precies voor de trades waar hij in werkelijkheid het meest negatief is. Dat is de zin waarin de maker-taker-keuze een adverse-selection trade is die een fee schedule draagt.

Echte fee schedules: tiers, token-kortingen en de valkuil van de marginale fee

Representatieve schedules op grote venues per medio 2026 (basistier → hoogste publieke tier; check de venue-pagina's, dit verandert):

Venue Basis maker / taker Hoogste tier maker / taker Kortingsmechaniek
Binance spot 10 / 10 bps daalt met VIP 1-9 fees betalen in BNB: −25%
Binance USDⓈ-M perp 2 / 5 bps 0 / 1,7 bps (VIP 9) BNB: −10%; VIP vereist volume + BNB-saldo
Bybit perp 2 / 5,5 bps 0 / 3 bps MM-programma tot −1,5 bps maker, met verplichtingen
OKX perp 2 / 5 bps tot ongeveer −0,5 / 1,5-2 bps OKB-bezit bepaalt de retailband
Hyperliquid perp 1,5 / 4,5 bps maker rebates tot −0,3 bps rebate gekoppeld aan aandeel in maker-volume; staking-kortingen
Coinbase Advanced 40 / 60 bps 0 / 5 bps alleen volumetiers
Kraken Pro 25 / 40 bps 0 / 10 bps alleen volumetiers

Drie structurele observaties.

Retail maker fees zijn bijna overal positief. De equities-stijl default van "makers worden betaald" geldt gewoon niet voor jou totdat je diep in VIP-territorium zit of een getekend market-maker-contract hebt. Op basistier is de maker-taker-beslissing "betaal 2 of betaal 5," niet "verdien of betaal."

Token-kortingen zijn een positie, geen coupon. Fees betalen in BNB verlaagt Binance spot-fees met 25% — 2,5 bps per kant op basistier, echt geld bij volume. Maar de korting vereist het aanhouden van een voorraad exchange-token, dus je fee-optimalisatie wordt gefinancierd door beta-exposure naar het aandeelachtige asset van de exchange zelf. Een desk die $30k/maand aan fees betaalt en $7,5k bespaart via BNB, terwijl hij een BNB-float van $200k aanhoudt, ziet zijn hele kwartaal fee-besparing weggevaagd door een BNB-drawdown van 10%. Behandel de float als een boekpositie: sizeer hem, hedge hem, of accepteer dat je volatiliteit hebt verkocht om een korting te kopen. (Verschillende VIP-ladders maken token-saldo ook een tiervereiste, wat de positie omzet van optioneel naar structureel.)

Marginale fee ≠ gemiddelde fee. Tiers worden berekend op trailing 30-daags volume, dus de fee van vandaag werd bepaald door het handelen van vorige maand — maar het passeren van een grens herprijst al je volume voor zolang je de tier vasthoudt. Dit creëert een knik in de marginale kost van volume. Stel dat de volgende tier bij $15M/30d je taker fee verlaagt van 5 naar 4 bps. Bij $14M organisch volume kost $1M aan filler-churn ongeveer 1\text{M} \times (s/2 + f_t) \approx \600enleverten levert1,\text{bps} \times $14\text{M} = $1{.}400/maand aan besparing op — de marginale fee van dat laatste miljoen is *negatief*. Bij \8M organisch vereist dezelfde logica $7M aan churn die $4.200 kost om $800 te besparen — een gehefboomde weddenschap die echte spread en fees verbrandt op nepvolume om hypothetische kortingen te verdienen, maandelijks te herhalen. Tier-chasen is alleen ooit rationeel binnen bereikafstand van een grens, en desks die hun fee modelleren als één scalar kunnen de knik niet eens zien.

Rebate mining: opkomst, dood en het crypto-hiernamaals

De maker rebate is een uitvinding uit aandelen. Island ECN introduceerde het in 1997 om liquiditeit op te bouwen tegen de gevestigde exchanges, en het werkte zo goed dat het model de Amerikaanse aandelenmarktstructuur veroverde; Reg NMS (2005) plafonneerde daarna de taker access fee op $0,003/aandeel (Rule 610), en het standaard exchange-verdienmodel werd: reken takers ~30 mils, geef makers ~20-30 mils rebate, houd het verschil.

Die rekensom creëerde kortstondig een pure strategie: rebate capture. Post beide kanten van een large-cap met een spread van één cent. Een round trip die scratcht — koopt en verkoopt tegen dezelfde prijs — incasseert nog steeds twee rebates, ruwweg een halve cent per aandeel op nul prijs-PnL. Vang ook de spread van één cent en je verdrievoudigt het. Midden jaren 2000 was dit een echte industriële business.

Het stierf aan drie oorzaken, en elk is een les:

  1. De rebate is publiek, dus hij wordt weggeconcurreerd in de queue. Een gepubliceerde rebate trekt quoting aan totdat de verwachte rebate van de marginale quoter, na aftrek van adverse selection, nul is. Bij een tick-beperkt aandeel kan de prijs niet verbeteren, dus concurrentie vindt plaats in tijdprioriteit — en de rente vloeit naar wie het eerst de voorkant van de queue bereikt. De rebate financierde de snelheidswedloop; colocation en microgolftorens vraten de marge op. De overblijvende rebate-verdieners waren de firma's die toch al zouden quoten.
  2. Waar de tick niet bindt, is de rebate niet eens echt. Colliard en Foucault (2012), "Trading Fees and Efficiency in Limit Order Markets" (Review of Financial Studies 25), bewijzen het neutraliteitsresultaat: bij een fijn prijsraster telt alleen de totale exchange fee; elke splitsing tussen maker en taker wordt ongedaan gemaakt door quote-aanpassing. Geef makers een rebate en ze quoteren navenant krapper, en geven het rechtstreeks door aan takers via de cum-fee spread. De splitsing heeft alleen bite wanneer de tick die aanpassing verhindert — wat je terugleidt naar oorzaak #1. De rebate lost op via prijs of via de queue; kies je gif. (Foucault, Kadan en Kandel 2013 geven het complementaire beeld: de fee-splitsing is het instrument van het venue om maker- en taker-participatie in balans te brengen, geen geschenk aan een van beide zijden.)
  3. De verstoringen trokken toezichthouders aan. Angel, Harris en Spatt, "Equity Trading in the 21st Century" (2011, en de update van 2015 in Quarterly Journal of Finance), catalogiseerden de schade: gequoteerde spreads meten de werkelijke kost niet meer omdat fees en rebates niet in de quote zitten, best-execution-statistieken worden fictie, en brokers krijgen een belangenconflict tussen de fill van de klant en hun eigen rebate. Battalio, Corwin en Jennings (2016, Journal of Finance) toonden aan dat het conflict niet hypothetisch was: routeren naar high-rebate venues verslechterde meetbaar de executiekwaliteit van limit orders. De SEC cirkelde er een decennium omheen — de Transaction Fee Pilot van 2018 sneuvelde bij de rechter — en nam uiteindelijk in september 2024 amendementen aan die het access-fee-plafond van 30 naar 10 mils verlaagden (compliance inmiddels uitgesteld naar november 2026). Het tijdperk van de vette rebate in aandelen eindigt bij bestuurlijk decreet.

Wat overleeft in crypto is leerzaam omdat het geen wedergeboorte is. Drie vormen:

  • Publieke VIP-rebates (OKX's −0,5 bps hoogste maker-tier en vergelijkbare): alleen beschikbaar op volumeniveaus die selecteren voor firma's die de queue-race al gewonnen hebben. De circulariteit is het aandelen-eindspel opnieuw afgespeeld: de rebate bestaat om makers aan te trekken, en de makers die hem incasseren zijn degenen die toch al zouden quoten.
  • Onderhandelde market-maker-programma's (Bybit adverteert tot −1,5 bps): deze komen met spread-plafonds, minimumgrootte en uptime-verplichtingen. Dat is geen gratis geld; het is een dienstencontract waarin je betaald wordt om de adverse-selection-optie continu te schrijven — inclusief tijdens nieuws, cascades en de minuten waarin elke discretionaire maker zijn quotes heeft teruggetrokken. De rebate is het loon voor het aanhouden van het optieboek dat niemand wil.
  • Formulegedreven incentives (Hyperliquid betaalt tot −0,3 bps, gekoppeld aan je aandeel in het totale maker-volume): een expliciet toernooi, dat de queue-race op zijn minst eerlijk prijst.

Pure scratch-for-rebate kan in crypto grotendeels niet bestaan omdat retail maker fees positief zijn: bij 2 bps maker verliest een scratch round trip 4 bps. De strategie bestaat alleen binnen negatieve-maker-tiers, en die tiers zijn de gracht.

Queue-waarde: wat een rebate werkelijk waard is

Alles hierboven comprimeert tot één prijsvergelijking. De verwachte waarde van een liggende quote is:

Vquote=p(q)(s2+rA(q))(1p(q))CmissV_{\text{quote}} = p(q)\left(\frac{s}{2} + r - A(q)\right) - \big(1 - p(q)\big)\,C_{\text{miss}}

waarbij rr de rebate is (of min de maker fee), en — het cruciale detail — zowel de fill-kans pp als de conditionele adverse selection AA functies zijn van je queue-positie qq. Ze bewegen samen op de slechtst mogelijke manier. Een order vooraan in de queue vult tegen onschuldige flow: kleine takers, ruis, de touch-and-bounce prints. Een order achteraan in de queue vult alleen wanneer het hele niveau wordt weggeveegd — wat wil zeggen, alleen in die toestanden van de wereld waarin de prijs dwars door je heen gaat. Diepe queue-posities vullen niet alleen minder vaak; ze vullen slechter. De queue is een adverse-selection-filter, en je positie erin bepaalt aan welke kant van het filter je staat.

Fill-kans en conditionele markout versus queue-positie, en de resulterende quote-waarde

Cijfers. Niveau gequoteerd s/2=1s/2 = 1 bps van mid, rebate r=0,5r = 0{,}5 bps, misskost Cmiss=1,5C_{\text{miss}} = 1{,}5 bps:

Queue-positie pp AA (bps) VquoteV_{\text{quote}} (bps)
Voorste deciel 0,85 0,8 0,85(1+0,50,8)0,151,5=+0,370{,}85(1 + 0{,}5 - 0{,}8) - 0{,}15 \cdot 1{,}5 = +0{,}37
Achterste deciel 0,35 3,5 0,35(1+0,53,5)0,651,5=1,680{,}35(1 + 0{,}5 - 3{,}5) - 0{,}65 \cdot 1{,}5 = -1{,}68

Zelfde venue, zelfde prijsniveau, zelfde rebate-regel in het fee schedule — een schommeling van twee basispunten in verwachte waarde, teken inbegrepen, volledig gedreven door queue-positie. Moallemi en Yuan (2016), "A Model for Queue Position Valuation in a Limit Order Book," kwantificeren het algemene resultaat: bij instrumenten met grote tick is de waarde van queue-prioriteit vergelijkbaar met de halve spread, dat wil zeggen dezelfde orde van grootte als de gehele theoretische edge van een quotingstrategie. Schatten waar je je werkelijk in de queue bevindt — en wat cancel/replace daarmee doet — is de machinerie van Queue inside the wall; A(q)A(q) kalibreren op basis van je eigen fills, gebucket naar queue-deciel op het moment van fill, is een markout-oefening uit de TCA-toolkit.

De operationele regel volgt direct: quote zolang Vquote>CtakerV_{\text{quote}} > -C_{\text{taker}} ten opzichte van je alternatief, en kruis wanneer dat niet zo is — wanneer de queue lang is, de flow toxisch is, of je signaal zegt dat de prijs wegloopt. "Wanneer precies stoppen met geduldig zijn" is een tactiekvraag — pegging-cadans, escalatieladders, kruistriggers — die zijn eigen behandeling krijgt in Child order execution tactics. Het punt hier is dat de input voor die beslissing queue-conditionele waarde is, niet de fee-tabel.

Gelaagde fees backtesten: de VIP-9-bug

De meest voorkomende fee-bug bij backtesten is beschamend simpel: de config zegt maker_fee=0.0, taker_fee=0.00017 omdat iemand de bovenste rij van de VIP-tabel van de exchange heeft overgenomen — of de voormalige tier van de desk, of de tier die de strategie "op schaal" zou aanhouden — en de strategie handelt live op 2/5. Noem het de VIP-9-bug.

Het is geen kleine vertekening. Neem een quotingstrategie met een bruto capture (spread minus adverse selection) van 2,6 bps per round trip, met twee maker-legs elk:

Fee tier Maker fee Netto per round trip
VIP 9 0,0 bps +2,6 bps
Middentier 1,0 bps +0,6 bps
Basis (VIP 0) 2,0 bps −1,4 bps

Dezelfde strategie is een geldpers op de tier waarop je backtest hebt gedaan en een versnipperaar op de tier waarop je live handelt. Er is geen alpha-bug te vinden, geen fill-model-subtiliteit — gewoon een scalar in een configbestand die de equity curve scheidt van zijn spiegelbeeld. En omdat maker-strategie-edges routinematig 1-3 bps per round trip bedragen, zijn fee-tier-fouten altijd dezelfde orde van grootte als de edge zelf.

Het correct doen betekent erkennen dat je fee een padafhankelijke toestandsvariabele is, geen constante:

from bisect import bisect_right

class FeeEngine:
    """Tiered fees driven by simulated rolling 30d volume. All rates in bps."""
    TIERS = [(0e6, 2.0, 5.0), (15e6, 1.6, 4.5), (50e6, 1.2, 4.0),
             (100e6, 0.8, 3.5), (600e6, 0.4, 2.5), (4e9, 0.0, 1.7)]
    token_discount = 0.90          # e.g. BNB payment: multiply fees by 0.9

    def __init__(self):
        self.fills = []            # (timestamp, notional)

    def _rolling_volume(self, ts):
        cutoff = ts - 30 * 86_400
        self.fills = [(t, n) for t, n in self.fills if t >= cutoff]
        return sum(n for _, n in self.fills)

    def fee(self, ts, notional, is_maker):
        vol = self._rolling_volume(ts)          # tier from PAST volume
        i = bisect_right([v for v, _, _ in self.TIERS], vol) - 1
        rate = self.TIERS[i][1] if is_maker else self.TIERS[i][2]
        self.fills.append((ts, notional))       # this fill counts toward FUTURE tiers
        return notional * rate * 1e-4 * self.token_discount

Vijf regels maken de boekhouding eerlijk:

  1. Fees lopen op per fill-gebeurtenis, per kant, op gevulde notional — niet per order en niet per round trip. Een deels gevulde order betaalt fees alleen op het gevulde fragment; de interactie tussen partial fills, cancels en fee-accrual is precies de state machine uit Fill simulation, die ook de non-fill-kansen levert die de gecorrigeerde break-even nodig heeft.
  2. De tier is endogeen. Je gesimuleerde volume bepaalt je gesimuleerde tier; de strategie opschalen verandert haar eigen fee. Een backtest die notional 10x opschaalt, moet de tier-ladder in beide richtingen laten reageren.
  3. Start de simulatie op de tier die je op dag één werkelijk zult aanhouden — meestal basis. Als de these is "winstgevend op VIP 4," draai de ladder dan als scenario's en rapporteer de break-even-tier. Die tier is een lanceervereiste met een volumevoorwaarde eraan vast, geen voetnoot.
  4. Modelleer token-gedenomineerde kortingen als posities. Als fees betaald worden in BNB of gekort door staking, hoort de mark-to-market van de float thuis in de strategie-PnL, niet in een aparte spreadsheet.
  5. Gebruik de cum-fee spread voor venue-vergelijking. Volgens Colliard-Foucault en Angel-Harris-Spatt: de vergelijkbare grootheid tussen venues is s+ft(1)+ft(2)s + f_t^{(1)} + f_t^{(2)} voor een taker round trip (of met fmf_m voor maker-legs), nooit de rauwe gequoteerde spread. Een venue die 1 bps breed quoteert tegen 5 bps taker is vier keer zo duur om te kruisen als een venue die 4 bps breed quoteert tegen 1 bps taker — en screen-spread-ranglijsten zetten ze in de verkeerde volgorde.

De beslissing, herformuleerd

Strip het kostuum eraf en de maker-taker-beslissing is een korte checklist. Ken je werkelijke fee-regel — huidige tier, huidige kortingen, marginaal, niet aspiratief. Bereken de cum-fee spread per venue en stop met het vertrouwen op schermen. Meet conditionele markouts uit je eigen fills, gebucket naar queue-positie op fill-moment, want AA staat in niemands documentatie. Prijs elke liggende quote met p(q)(s/2+rA(q))(1p(q))Cmissp(q)\,(s/2 + r - A(q)) - (1-p(q))\,C_{\text{miss}} en kruis zonder sentiment wanneer dat negatief wordt. Behandel rebates als loon voor het schrijven van opties en vraag wie ze uitoefent. En maak in de backtest de fee een state machine, geen scalar.

Het fee schedule vertelt je wat de gemiddelde tegenpartij het venue betaalt voor onmiddellijkheid. Je markouts vertellen je wat de markt werkelijk aan jou betaalt voor het leveren ervan. Slechts een van die cijfers gaat over jou — handel op dat ene.

Disclaimer: De informatie in dit artikel is uitsluitend bedoeld voor educatieve en informatieve doeleinden en vormt geen financieel, beleggings- of handelsadvies. Het handelen in cryptovaluta brengt een aanzienlijk risico op verlies met zich mee.

Auteurs

Eugen Soloviov
Eugen Soloviov

Trading-systems engineer

Trading-systems engineer building bots since 2017: cross-exchange arbitrage (connected up to 30 venues), cointegration-based pairs arbitrage across spot and futures, scalping, news and sentiment-driven strategies, trend algorithms, and portfolio management and balancing algorithms. Also builds sub-millisecond order execution, big-data warehouses, backtesting engines, AI agents, and trading interfaces (incl. open-source profitmaker.cc). Stack: JS/TS, Python, Rust/Zig/Go, DevOps, backend, frontend, architecture.

Newsletter

Blijf de markt voor

Abonneer je op onze nieuwsbrief voor exclusieve AI-handelsinzichten, marktanalyses en platformupdates.

We respecteren je privacy. Je kunt je op elk moment afmelden.