← Zurück zu den Artikeln
July 21, 2026
5 min read

Die Maker-Taker-Entscheidung: Gebührenstufen, Rebates und die wahren Kosten des Spread-Crossings

Die Maker-Taker-Entscheidung: Gebührenstufen, Rebates und die wahren Kosten des Spread-Crossings
#maker taker
#trading fees
#rebates
#adverse selection
#market making
#execution
#market microstructure
#backtest

Jede Order, die man abschickt, trifft vor allem anderen eine binäre Entscheidung: den Spread crossen und die Taker-Gebühr zahlen, oder im Orderbuch liegen bleiben, die Maker-Gebühr zahlen — und vielleicht sogar einen Rebate kassieren. Die Branche stellt das als Gebührenoptimierung dar, und die Gebührentabellen lassen es auch so aussehen: Taker 5 bps, Maker 2 bps, Ersparnis 3 bps, Post-Only-Flag an, fertig. Diese Darstellung ist ein Kostüm. Darunter ist Maker versus Taker ein Trade über Adverse Selection: Zahlt man einen bekannten Preis für Sofortigkeit, oder verkauft man dem Markt eine Option, einen nach eigenem Ermessen zu füllen — eine Option, die informierte Gegenparteien genau dann ausüben, wenn der Fill einem schadet. Das Gebührenmodell bepreist diese Option für den durchschnittlichen Teilnehmer. Man selbst ist nicht der durchschnittliche Teilnehmer, und der Flow, der die eigene Quote trifft, ist es auch nicht.

Dieser Artikel macht die Rechnung, die die Gebührentabelle verschweigt: den korrigierten Break-even, warum Glosten-Milgrom (1985) impliziert, dass passive Fills strukturell gegen einen verzerrt sind, was reale Krypto-Gebührenstufen und Token-Rabatte mit den Zahlen anstellen, warum Rebate-Mining bei Aktien starb und welche mutierte Form in Krypto überlebt, wie die Warteschlangenposition den wahren Wert eines Rebates bestimmt, und wie man all das in einem Backtest modelliert, ohne den mit Abstand häufigsten Gebührenfehler der Branche zu begehen.

Der naive Break-even — und der Term, den jeder vergisst

Notation: gequoteter Spread ss, Taker-Gebühr ftf_t, Maker-Gebühr fmf_m (negativ bei einem Rebate), alle in Basispunkten des Nominalwerts, Mid als Benchmark-Preis. Crossen kostet den halben Spread plus die Taker-Gebühr; Liegenbleiben bringt den halben Spread ein und kostet die Maker-Gebühr:

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

Setzt man die Basissätze der Binance USDⓈ-M Futures ein — Maker 2 bps, Taker 5 bps — bei einem 2 bps breit gequoteten Perp: Taker kostet 1+5=61 + 5 = 6 bps, Maker "kostet" 21=12 - 1 = 1 bps. Scheinbare Ersparnis: 5 bps pro Trade, bei jedem Trade. Bei einer Strategie mit 20 Round Trips am Tag ergibt das angeblich 100 bps täglichen Edge aus einer Checkbox.

Zunächst fällt etwas an diesen Zahlen auf: Die Gebühr ist keine Korrektur des Spreads — bei liquiden Krypto-Paaren ist sie die Kosten. BTCUSDT-Perp quotet häufig unter 1 bps breit, während ein Retail-Taker 5 bps zahlt. Der Halbspread ist ein Rundungsfehler neben der Gebühr. Das ist das Gegenteil der Aktienintuition, wo Spread und Gebühr in derselben Größenordnung liegen, und deshalb schreit jeder naive Vergleich in Krypto "immer Maker sein". Deshalb ist auch jeder erste Market-Making-Backtest profitabel und die meisten ersten Live-Einsätze sind es nicht.

Den naiven Maker-Kosten fehlen drei Terme:

  1. Non-Fill-Risiko. Eine Limit-Order ist kein Trade, sondern ein Lottery-Ticket für einen Trade. Füllt sie nicht, verpasst man entweder die Bewegung oder crosst später zu einem schlechteren Preis.
  2. Adverse Selection. Unter der Bedingung, dass gefüllt wird, bewegt sich der Preis mit höherer Wahrscheinlichkeit gegen einen, als es die unbedingte Verteilung nahelegt. Das ist kein Pech, sondern ein Theorem.
  3. Requote-Kosten. Dem Markt mit Cancel/Replace hinterherzujagen setzt die Warteschlangenposition ans Ende zurück und verwandelt die Fill-Verteilung stillschweigend überwiegend in Fills des zweiten Typs.

Der zweite Term ist derjenige mit fünfzig Jahren Theorie im Rücken, machen wir ihn also richtig.

Glosten-Milgrom: Der Fill ist die schlechte Nachricht

Glosten und Milgrom (1985), "Bid, Ask and Transaction Prices in a Specialist Market with Heterogeneously Informed Traders" (Journal of Financial Economics 14), ist das sauberste Modell dafür, warum überhaupt ein Spread existiert. Ein risikoneutraler, kompetitiver Market Maker ohne Kosten quotet Bid und Ask. Ein Anteil μ\mu der eingehenden Trader ist informiert — sie kennen den wahren Wert VV des Assets — der Rest handelt aus exogenen Gründen, kauft oder verkauft mit gleicher Wahrscheinlichkeit. Der Market Maker kann sie nicht unterscheiden. Wettbewerb zwingt jede Quote dazu, ein bedingter Erwartungswert zu sein:

ask=E[Vna¨chster Trader kauft],bid=E[Vna¨chster Trader verkauft]\text{ask} = \mathbb{E}[V \mid \text{nächster Trader kauft}], \qquad \text{bid} = \mathbb{E}[V \mid \text{nächster Trader verkauft}]

Durchgerechnetes Beispiel. Sei VV mit gleicher Wahrscheinlichkeit 101 oder 99, und μ=0,2\mu = 0{,}2. Wenn V=101V = 101, kommt ein Kauf mit Wahrscheinlichkeit μ+(1μ)/2=0,6\mu + (1-\mu)/2 = 0{,}6 (alle Informierten kaufen, die Hälfte der Uninformierten kauft); wenn V=99V = 99, mit Wahrscheinlichkeit 0,40{,}4. Dann

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

Der Spread beträgt μ(VHVL)=0,4\mu(V_H - V_L) = 0{,}4 — reine Kompensation für Adverse Selection. Kein Inventarrisiko, keine Gebühren, keine Monopolrenten, und der Spread ist trotzdem da, skaliert mit dem informierten Anteil und dem Umfang dessen, was sie wissen.

Die Konsequenz, die für die Maker-Taker-Entscheidung zählt: Gefüllt zu werden ist selbst eine Information, und die Information spricht gegen einen. Der eigene ruhende Bid kauft häufiger dann, wenn der wahre Wert niedrig ist, weil genau dann informierte Verkäufer auftauchen. Die Bedingung auf den eigenen Fill verschiebt den erwarteten Wert dessen, was man gerade gekauft hat, nach unten — konstruktionsbedingt, nicht durch Pech. Die Standardmethode, das zu messen, ist der Markout: Für einen Kauf-Fill zum Preis pp ist der Markout auf Horizont τ\tau definiert als m(τ)=mid(tfill+τ)pm(\tau) = \text{mid}(t_{\text{fill}} + \tau) - p. Aggregierte Markouts auf passiven Fills sind für fast jeden fast überall negativ; wie man sie berechnet, ohne sich selbst zu täuschen, behandelt Implementation Shortfall und TCA.

Ein äquivalenter Rahmen, der besser verallgemeinert: Eine ruhende Limit-Order ist eine kostenlose Option, die man dem Markt einräumt. Die Gegenpartei — nicht man selbst — wählt den Ausübungszeitpunkt, und sie übt aus, wenn es in ihrem Interesse liegt. Der Maker-Rebate ist die Prämie, die der Venue dafür zahlt, diese Option zu schreiben. Die Frage lautet nie "ist die Prämie positiv", sondern "ist die Prämie größer als der Wert der Option für diejenigen, die sie ausüben."

Der korrigierte Break-even

Sei pp die Wahrscheinlichkeit, dass die eigene Quote innerhalb des Entscheidungshorizonts füllt, A=E[adverse BewegungFill]A = \mathbb{E}[\text{adverse Bewegung} \mid \text{Fill}] die bedingten Markout-Kosten in bps, und DD die zusätzlichen Kosten, wenn nicht gefüllt wird (Drift während des Wartens plus Crossen zum neuen Preis). Die ehrlichen Maker-Kosten sind:

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)

Maker-Sein wird gegenüber Taker-Sein bevorzugt, wenn E[Cmaker]<s/2+ft\mathbb{E}[C_{\text{maker}}] < s/2 + f_t, was sich zu einer sauberen Ungleichung umformen lässt:

s+ftfmscheinbare Ersparnis  >  AAdverse Selection  +  1ppDodds-gewichtete Verpasskosten\underbrace{s + f_t - f_m}_{\text{scheinbare Ersparnis}} \;>\; \underbrace{A}_{\text{Adverse Selection}} \;+\; \underbrace{\frac{1-p}{p}\,D}_{\text{odds-gewichtete Verpasskosten}}

Taker-Kosten versus ehrliche Maker-Kosten-Zerlegung

Dasselbe durchgerechnete Beispiel, jetzt mit realistischen Friktionen: s=2s = 2, ft=5f_t = 5, fm=2f_m = 2, sodass die scheinbare Ersparnis 5 bps beträgt. Setze p=0,6p = 0{,}6, A=3A = 3 bps, D=2D = 2 bps. Die rechte Seite ist 3+0,40,62=4,333 + \frac{0{,}4}{0{,}6} \cdot 2 = 4{,}33 bps. Maker-Sein gewinnt immer noch — mit 0,67 bps Marge, nicht 5. Im Erwartungswert: 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 gegenüber Taker-Kosten von 6,0. Die Checkbox war 0,4 bps wert, nicht 5, und ein moderater Fehler in AA oder pp kippt das Vorzeichen.

Schlimmer noch: AA, pp und DD sind keine unabhängigen Stellschrauben — sie werden gemeinsam davon getrieben, warum man überhaupt handelt. Ist das eigene Signal mit kurzfristigem Flow korreliert (jeder Momentum-Einstieg ist es), dann gilt: genau während der Bursts, in denen man einsteigen will, p1p \to 1 und AA explodiert: Man wird sofort gefüllt, durch genau die Bewegung, die man vorhergesagt hat, zum alten Preis, auf der falschen Seite davon. Der Maker-Rabatt ist in der Gebührentabelle genau für die Trades am größten, für die er in der Realität am negativsten ist. In diesem Sinne ist die Maker-Taker-Wahl ein Adverse-Selection-Trade im Gewand eines Gebührenmodells.

Reale Gebührenmodelle: Stufen, Token-Rabatte und die Grenzgebühren-Falle

Repräsentative Modelle bei großen Venues (Stand Mitte 2026, Basisstufe → oberste öffentliche Stufe; die Venue-Seiten prüfen, das ändert sich):

Venue Maker/Taker Basis Maker/Taker Top-Stufe Rabatt-Mechanik
Binance Spot 10 / 10 bps fällt mit VIP 1-9 Gebühren in BNB zahlen: −25%
Binance USDⓈ-M Perp 2 / 5 bps 0 / 1,7 bps (VIP 9) BNB: −10%; VIP braucht Volumen + BNB-Bestand
Bybit Perp 2 / 5,5 bps 0 / 3 bps MM-Programm bis −1,5 bps Maker, mit Auflagen
OKX Perp 2 / 5 bps bis etwa −0,5 / 1,5-2 bps OKB-Bestände staffeln das Retail-Band
Hyperliquid Perp 1,5 / 4,5 bps Maker-Rebates bis −0,3 bps Rebate an Anteil am Maker-Volumen gekoppelt; Staking-Rabatte
Coinbase Advanced 40 / 60 bps 0 / 5 bps nur Volumenstufen
Kraken Pro 25 / 40 bps 0 / 10 bps nur Volumenstufen

Drei strukturelle Beobachtungen.

Retail-Maker-Gebühren sind fast überall positiv. Der Aktien-typische Default "Maker werden bezahlt" gilt für einen selbst schlicht nicht, bis man tief in VIP-Territorium ist oder einen unterschriebenen Market-Maker-Vertrag hat. Auf Basisstufe lautet die Maker-Taker-Entscheidung "2 zahlen oder 5 zahlen", nicht "verdienen oder zahlen".

Token-Rabatte sind eine Position, kein Coupon. Gebühren in BNB zu zahlen senkt Binance-Spot-Gebühren um 25% — 2,5 bps pro Seite auf Basisstufe, bei Volumen echtes Geld. Aber der Rabatt setzt voraus, einen Bestand des Exchange-Tokens zu halten, sodass die eigene Gebührenoptimierung durch Beta-Exposure zum Exchange-eigenen aktienähnlichen Asset finanziert wird. Ein Desk, das 30.000 /MonatanGebu¨hrenzahltundviaBNB7.500/Monat an Gebühren zahlt und via BNB 7.500 spart, während es einen 200.000-$-BNB-Float hält, sieht seine gesamte Quartalsersparnis durch einen 10%igen BNB-Drawdown ausgelöscht. Den Float als Buchposition behandeln: dimensionieren, hedgen, oder akzeptieren, dass man Volatilität verkauft hat, um einen Rabatt zu kaufen. (Mehrere VIP-Leitern machen den Token-Bestand zudem zur Stufenanforderung, was die Position von optional zu strukturell macht.)

Grenzgebühr ≠ Durchschnittsgebühr. Stufen werden auf gleitendem 30-Tage-Volumen berechnet, sodass die heutige Gebühr durch das Trading des letzten Monats festgelegt wurde — aber das Überschreiten einer Grenze bepreist das gesamte Volumen neu, solange die Stufe gehalten wird. Das erzeugt einen Knick in den Grenzkosten des Volumens. Angenommen, die nächste Stufe bei 15 Mio. /30TagesenktdieTakerGebu¨hrvon5auf4bps.Bei14Mio./30 Tage senkt die Taker-Gebühr von 5 auf 4 bps. Bei 14 Mio. organischem Volumen kostet 1 Mio. FillerChurnetwaFiller-Churn etwa1\text{Mio.} \times (s/2 + f_t) \approx 600,$undkauftund kauft1,\text{bps} \times 14\text{Mio.},$ = 1.400,$/MonatanErsparnisdieGrenzgebu¨hrdieserletztenMillionistnegativ.Bei8Mio./Monat an Ersparnis — die Grenzgebühr dieser letzten Million ist *negativ*. Bei 8 Mio. organisch erfordert dieselbe Logik 7 Mio. Churnmit4.200Churn mit 4.200 Kosten, um 800 $ zu sparen — eine gehebelte Wette, die echten Spread und echte Gebühren auf gefälschtes Volumen verbrennt, um hypothetische Rabatte zu verdienen, monatlich erneuerbar. Stufenjagd ist nur in Reichweite einer Grenze überhaupt rational, und Desks, die ihre Gebühr als einzelnen Skalar modellieren, können den Knick gar nicht sehen.

Rebate-Mining: Aufstieg, Tod und das Krypto-Nachleben

Der Maker-Rebate ist eine Aktienerfindung. Island ECN führte ihn 1997 ein, um gegen die etablierten Börsen Liquidität aufzubauen, und es funktionierte so gut, dass das Modell die US-Aktienmarktstruktur eroberte; Reg NMS (2005) deckelte dann die Taker-Access-Fee bei 0,003 $/Aktie (Rule 610), und das Standard-Börsengeschäft wurde: Takern etwa 30 Mils berechnen, Makern etwa 20-30 Mils Rebate geben, die Differenz behalten.

Diese Arithmetik schuf kurzzeitig eine reine Strategie: Rebate Capture. Beide Seiten einer Large-Cap mit Penny-Spread posten. Ein Round Trip, der scratcht — zum gleichen Preis kauft und verkauft — kassiert trotzdem zwei Rebates, etwa einen halben Cent pro Aktie bei null Preis-PnL. Fängt man auch noch den Penny-Spread ein, verdreifacht sich das. Mitte der 2000er war das ein echtes Industriegeschäft.

Es starb an drei Ursachen, und jede ist eine Lektion:

  1. Der Rebate ist öffentlich, also wird er in die Warteschlange hinein wegkonkurriert. Ein ausgeschriebener Rebate zieht Quoting an, bis der marginale Quoter einen erwarteten Rebate netto Adverse Selection von null hat. Bei einer Tick-beschränkten Aktie kann der Preis sich nicht verbessern, also findet der Wettbewerb in der Zeitpriorität statt — und die Rente fließt zu wem auch immer als Erstes die Spitze der Warteschlange erreicht. Der Rebate finanzierte das Speed-Wettrüsten; Colocation und Mikrowellentürme fraßen die Marge auf. Die überlebenden Rebate-Verdiener waren die Firmen, die sowieso schon gequotet hätten.
  2. Wo der Tick nicht bindet, ist der Rebate nicht einmal real. Colliard und Foucault (2012), "Trading Fees and Efficiency in Limit Order Markets" (Review of Financial Studies 25), beweisen das Neutralitätsresultat: Bei einem feinen Preisraster zählt nur die gesamte Börsengebühr — jede Aufteilung zwischen Maker und Taker wird durch Quote-Anpassung wieder aufgehoben. Gibt man Makern einen Rebate, quoten sie entsprechend enger und reichen ihn über den gebührenbereinigten Spread direkt an die Taker weiter. Die Aufteilung hat nur dann Biss, wenn der Tick diese Anpassung verhindert — was direkt zu Ursache 1 zurückführt. Der Rebate wird entweder über den Preis oder über die Warteschlange abgebaut; man sucht sich sein Gift aus. (Foucault, Kadan und Kandel 2013 liefern die komplementäre Sicht: Die Gebührenaufteilung ist das Werkzeug des Venue, um Maker- und Taker-Teilnahme auszubalancieren, kein Geschenk an eine der beiden Seiten.)
  3. Die Verzerrungen zogen Regulatoren an. Angel, Harris und Spatt, "Equity Trading in the 21st Century" (2011, und das Update von 2015 im Quarterly Journal of Finance), katalogisierten den Schaden: Gequotete Spreads messen die wahren Kosten nicht mehr, weil Gebühren und Rebates nicht in der Quote stecken, Best-Execution-Statistiken werden zur Fiktion, und Broker geraten in einen Konflikt zwischen dem Fill des Kunden und dem eigenen Rebate. Battalio, Corwin und Jennings (2016, Journal of Finance) zeigten, dass der Konflikt nicht hypothetisch war: Das Routing zu Venues mit hohem Rebate verschlechterte die Ausführungsqualität von Limit-Orders messbar. Die SEC kreiste ein Jahrzehnt lang — der Transaction Fee Pilot von 2018 starb vor Gericht — und verabschiedete schließlich im September 2024 Änderungen, die den Access-Fee-Cap von 30 auf 10 Mils senkten (Compliance-Frist inzwischen auf November 2026 verschoben). Die Ära der fetten Rebates bei Aktien endet per Verwaltungsverfügung.

Was in Krypto überlebt, ist aufschlussreich, weil es keine Wiederbelebung ist. Drei Formen:

  • Öffentliche VIP-Rebates (OKXs oberste Maker-Stufe von −0,5 bps und Ähnliches): nur bei Volumenniveaus verfügbar, die genau die Firmen selektieren, die das Warteschlangenrennen bereits gewonnen haben. Die Zirkularität ist das Aktien-Endspiel neu aufgeführt: Der Rebate existiert, um Maker anzuziehen, und die Maker, die ihn einfangen, sind jene, die sowieso quoten würden.
  • Verhandelte Market-Maker-Programme (Bybit wirbt mit bis zu −1,5 bps): Diese kommen mit Spread-Obergrenzen, Mindestgröße und Uptime-Verpflichtungen. Das ist kein freies Geld; es ist ein Dienstleistungsvertrag, in dem man dafür bezahlt wird, die Adverse-Selection-Option durchgehend zu schreiben — auch während News, Kaskaden, und den Minuten, in denen jeder diskretionäre Maker seine Quotes zurückgezogen hat. Der Rebate ist der Lohn dafür, das Optionsbuch zu halten, das niemand will.
  • Formelgetriebene Anreize (Hyperliquid zahlt bis zu −0,3 bps gekoppelt an den Anteil am gesamten Maker-Volumen): ein explizites Turnier, das das Warteschlangenrennen wenigstens ehrlich bepreist.

Reines Scratch-für-Rebate kann in Krypto meist gar nicht existieren, weil Retail-Maker-Gebühren positiv sind: Bei 2 bps Maker verliert ein scratchender Round Trip 4 bps. Die Strategie existiert nur innerhalb negativer Maker-Stufen, und die Stufen sind der Burggraben.

Warteschlangenwert: Was ein Rebate tatsächlich wert ist

Alles Obige komprimiert sich in eine einzige Bewertungsgleichung. Der Erwartungswert einer ruhenden Quote ist:

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}}

wobei rr der Rebate ist (oder minus die Maker-Gebühr), und — das entscheidende Detail — sowohl die Füllwahrscheinlichkeit pp als auch die bedingte Adverse Selection AA Funktionen der Warteschlangenposition qq sind. Sie bewegen sich gemeinsam in die denkbar schlechteste Richtung. Eine Order an der Spitze der Warteschlange füllt gegen gutartigen Flow: kleine Taker, Rauschen, Touch-and-Bounce-Prints. Eine Order am Ende der Warteschlange füllt nur, wenn das gesamte Level weggefegt wird — also nur in genau den Zuständen der Welt, in denen der Preis durch einen hindurchgeht. Tiefe Warteschlangenpositionen füllen nicht nur seltener; sie füllen schlechter. Die Warteschlange ist ein Adverse-Selection-Filter, und die eigene Position darin entscheidet, auf welcher Seite des Filters man steht.

Füllwahrscheinlichkeit und bedingter Markout versus Warteschlangenposition, und der resultierende Quote-Wert

Zahlen. Level 1 bps vom Mid gequotet, Rebate r=0,5r = 0{,}5 bps, Verpasskosten Cmiss=1,5C_{\text{miss}} = 1{,}5 bps:

Warteschlangenposition pp AA (bps) VquoteV_{\text{quote}} (bps)
Vorderes Dezil 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
Hinteres Dezil 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

Derselbe Venue, dasselbe Preislevel, dieselbe Rebate-Zeile im Gebührenmodell — eine Schwankung von zwei Basispunkten im Erwartungswert, Vorzeichen inklusive, allein getrieben von der Warteschlangenposition. Moallemi und Yuan (2016), "A Model for Queue Position Valuation in a Limit Order Book," quantifizieren das allgemeine Resultat: Bei Instrumenten mit großem Tick ist der Wert der Warteschlangenpriorität vergleichbar mit dem Halbspread — also derselben Größenordnung wie der gesamte theoretische Edge einer Quoting-Strategie. Zu schätzen, wo man sich tatsächlich in der Warteschlange befindet — und was Cancel/Replace damit anstellt — ist die Maschinerie aus Queue inside the wall; A(q)A(q) aus den eigenen Fills zu kalibrieren, gebündelt nach Warteschlangen-Dezil zum Fill-Zeitpunkt, ist eine Markout-Übung aus dem TCA-Toolkit.

Die operative Regel ergibt sich direkt daraus: Quoten, solange Vquote>CtakerV_{\text{quote}} > -C_{\text{taker}} relativ zur eigenen Alternative, und crossen, wenn das nicht der Fall ist — wenn die Warteschlange lang ist, der Flow toxisch, oder das eigene Signal sagt, der Preis läuft davon. "Wann genau man aufhört, geduldig zu sein" ist eine Taktikfrage — Pegging-Kadenz, Eskalationsleitern, Cross-Trigger — die eine eigene Behandlung in Child Order Execution Tactics bekommt. Der Punkt hier ist, dass der Input für diese Entscheidung der warteschlangenbedingte Wert ist, nicht die Gebührentabelle.

Gestaffelte Gebühren backtesten: der VIP-9-Bug

Der häufigste Gebührenfehler beim Backtesting ist peinlich simpel: Die Konfiguration sagt maker_fee=0.0, taker_fee=0.00017, weil jemand die oberste Zeile der VIP-Tabelle der Börse kopiert hat — oder die frühere Stufe des Desks, oder die Stufe, die die Strategie "im großen Maßstab" halten würde — aber die Strategie handelt live bei 2/5. Nennen wir das den VIP-9-Bug.

Es ist keine kleine Verzerrung. Nehmen wir eine Quoting-Strategie mit einer Brutto-Capture (Spread minus Adverse Selection) von 2,6 bps pro Round Trip, zwei Maker-Legs jeweils:

Gebührenstufe Maker-Gebühr Netto pro Round Trip
VIP 9 0,0 bps +2,6 bps
Mittlere Stufe 1,0 bps +0,6 bps
Basis (VIP 0) 2,0 bps −1,4 bps

Dieselbe Strategie ist auf der Stufe, die man gebacktestet hat, eine Geldmaschine und auf der Stufe, die man tatsächlich handelt, ein Schredder. Es gibt keinen Alpha-Bug zu finden, keine Fill-Modell-Feinheit — nur einen Skalar in einer Konfigdatei, der die Equity-Kurve von ihrem Spiegelbild trennt. Und weil Maker-Strategie-Edges routinemäßig bei 1-3 bps pro Round Trip liegen, sind Gebührenstufenfehler immer dieselbe Größenordnung wie der Edge selbst.

Es richtig zu machen bedeutet, anzuerkennen, dass die eigene Gebühr eine pfadabhängige Zustandsvariable ist, keine Konstante:

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

Fünf Regeln machen die Buchhaltung ehrlich:

  1. Gebühren fallen pro Fill-Ereignis, pro Seite, auf gefülltem Nominalwert an — nicht pro Order und nicht pro Round Trip. Eine teilgefüllte Order zahlt Gebühren nur auf das gefüllte Fragment; das Zusammenspiel zwischen Partial Fills, Cancels und Gebührenabgrenzung ist genau die Zustandsmaschine aus Fill Simulation, die auch die Non-Fill-Wahrscheinlichkeiten liefert, die der korrigierte Break-even braucht.
  2. Die Stufe ist endogen. Das eigene simulierte Volumen bestimmt die eigene simulierte Stufe; die Strategie hochzuskalieren verändert deren eigene Gebühr. Ein Backtest, der den Nominalwert um das 10-Fache skaliert, muss die Stufenleiter in beide Richtungen reagieren lassen.
  3. Die Simulation auf der Stufe starten, die man am ersten Tag tatsächlich halten wird — meist die Basisstufe. Wenn die These "profitabel bei VIP 4" lautet, die Leiter als Szenarien durchlaufen lassen und die Break-even-Stufe berichten. Diese Stufe ist eine Launch-Voraussetzung mit angehängter Volumenbedingung, keine Fußnote.
  4. Token-denominierte Rabatte als Positionen modellieren. Wenn Gebühren in BNB gezahlt oder durch Staking rabattiert werden, gehört das Mark-to-Market des Floats in die Strategie-PnL, nicht in eine andere Tabelle.
  5. Den gebührenbereinigten Spread für den Venue-Vergleich verwenden. Nach Colliard-Foucault und Angel-Harris-Spatt: Die vergleichbare Größe über Venues hinweg ist s+ft(1)+ft(2)s + f_t^{(1)} + f_t^{(2)} für einen Taker-Round-Trip (oder mit fmf_m für Maker-Legs), niemals der rohe gequotete Spread. Ein Venue, der 1 bps breit bei 5 bps Taker quotet, ist viermal teurer zu crossen als einer, der 4 bps breit bei 1 bps Taker quotet — und Screen-Spread-Ranglisten werden sie rückwärts ordnen.

Die Entscheidung, neu formuliert

Zieht man das Kostüm aus, ist die Maker-Taker-Entscheidung eine kleine Checkliste. Die eigene reale Gebührenzeile kennen — aktuelle Stufe, aktuelle Rabatte, Grenz- nicht Wunschwerte. Den gebührenbereinigten Spread pro Venue berechnen und aufhören, den Bildschirmen zu vertrauen. Bedingte Markouts aus den eigenen Fills messen, gebündelt nach Warteschlangenposition zum Fill-Zeitpunkt, denn AA steht in keiner Dokumentation. Jede ruhende Quote mit p(q)(s/2+rA(q))(1p(q))Cmissp(q)\,(s/2 + r - A(q)) - (1-p(q))\,C_{\text{miss}} bepreisen und ohne Sentiment crossen, wenn es negativ wird. Rebates als Löhne fürs Schreiben von Optionen behandeln und fragen, wer sie ausübt. Und im Backtest die Gebühr zu einer Zustandsmaschine machen, nicht zu einem Skalar.

Die Gebührentabelle sagt, was die durchschnittliche Gegenpartei dem Venue für Sofortigkeit zahlt. Die eigenen Markouts sagen, was der Markt tatsächlich einem selbst dafür zahlt, sie bereitzustellen. Nur eine dieser Zahlen betrifft einen selbst — auf die sollte man handeln.

blog.disclaimer

Authors

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

Dem Markt einen Schritt voraus

Abonniere unseren Newsletter für exklusive KI-Trading-Einblicke, Marktanalysen und Plattform-Updates.

Wir respektieren deine Privatsphäre. Jederzeit abbestellbar.