← Kembali ke artikel
July 21, 2026
Bacaan 5 minit

Keputusan maker-taker: tingkat fi, rebat, dan kos sebenar melintasi spread

Keputusan maker-taker: tingkat fi, rebat, dan kos sebenar melintasi spread
#maker taker
#fi dagangan
#rebat
#adverse selection
#market making
#eksekusi
#market microstructure
#backtest

Setiap order yang anda hantar membuat satu keputusan binari sebelum apa-apa keputusan lain: melintasi spread dan bayar fi taker, atau berehat dalam book dan bayar fi maker — mungkin malah mengumpul rebat. Industri membingkaikan ini sebagai pengoptimuman fi, dan jadual fi memang menjadikannya kelihatan begitu: taker 5 bps, maker 2 bps, jimat 3 bps, tandakan post-only, selesai. Bingkai itu adalah kostum. Di sebaliknya, maker berbanding taker ialah dagangan tentang adverse selection: sama ada anda membayar harga yang diketahui untuk keperluan segera, atau menjual kepada pasaran satu opsyen untuk mengisi order anda mengikut budi bicara mereka — opsyen yang dilaksanakan oleh rakan niaga yang bermaklumat tepat pada masa fill itu memudaratkan anda. Jadual fi menetapkan harga opsyen itu untuk peserta purata. Anda bukan peserta purata, dan begitu juga flow yang mengenai quote anda.

Artikel ini melakukan matematik yang disembunyikan oleh jadual fi: titik pulang modal yang telah dibetulkan, mengapa Glosten-Milgrom (1985) membayangkan fill pasif adalah berat sebelah secara struktural terhadap anda, apa yang tingkat fi kripto sebenar dan diskaun token lakukan kepada angka-angka itu, mengapa rebate mining mati dalam ekuiti dan bentuk mutasi apa yang bertahan dalam kripto, bagaimana kedudukan queue menentukan nilai sebenar sesuatu rebat, dan bagaimana memodelkan semua ini dalam backtest tanpa melakukan bug fi yang paling biasa dalam industri ini.

Titik pulang modal yang naif — dan terma yang semua orang lupa

Notasi: spread quote ss, fi taker ftf_t, fi maker fmf_m (negatif jika rebat), semuanya dalam basis points nilai notional, mid sebagai harga penanda aras. Melintas spread menyebabkan anda membayar separuh spread ditambah fi taker; berehat dalam book memperoleh separuh spread dan menanggung fi maker:

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

Masukkan kadar asas Binance USDⓈ-M futures — maker 2 bps, taker 5 bps — pada perp yang quote 2 bps lebar: taker menanggung kos 1+5=61 + 5 = 6 bps, maker "menanggung kos" 21=12 - 1 = 1 bps. Jimat yang kelihatan: 5 bps setiap dagangan, setiap dagangan. Untuk strategi yang membuat 20 round trip sehari, ini didakwa sebagai 100 bps edge harian daripada satu kotak semak.

Perhatikan sesuatu tentang angka-angka ini dahulu: fi bukan pembetulan kepada spread — pada pasangan kripto yang likuid, ia adalah kos itu sendiri. BTCUSDT perp kerap quote di bawah 1 bps lebar sementara taker runcit membayar 5 bps. Separuh-spread adalah ralat pembundaran berbanding fi. Ini bertentangan dengan intuisi ekuiti, di mana spread dan fi berada pada order magnitud yang sama, dan inilah sebabnya dalam kripto setiap perbandingan naif menjerit "sentiasa maker." Ini juga sebabnya setiap backtest market-making pertama menguntungkan tetapi kebanyakan deployment pertama tidak.

Kos maker yang naif hilang tiga terma:

  1. Risiko tidak-fill. Order limit bukan dagangan; ia tiket loteri untuk satu dagangan. Apabila ia tidak fill, anda sama ada terlepas pergerakan atau melintas kemudian pada harga yang lebih buruk.
  2. Adverse selection. Dengan syarat ia fill, harga lebih berkemungkinan bergerak menentang anda berbanding apa yang dicadangkan oleh taburan tanpa syarat. Ini bukan nasib buruk; ia teorem.
  3. Kos re-quote. Mengejar pasaran dengan cancel/replace mengembalikan kedudukan queue anda ke belakang, secara senyap menukar taburan fill anda menjadi kebanyakannya fill jenis-2.

Terma kedua ialah terma yang mempunyai lima puluh tahun teori di sebaliknya, jadi mari kita lakukannya dengan betul.

Glosten-Milgrom: fill itu sendiri berita buruk

Glosten dan Milgrom (1985), "Bid, Ask and Transaction Prices in a Specialist Market with Heterogeneously Informed Traders" (Journal of Financial Economics 14), ialah model paling bersih tentang mengapa spread wujud sama sekali. Market maker yang neutral risiko, kompetitif, dan tanpa kos men-quote bid dan ask. Sebahagian μ\mu daripada peniaga yang masuk adalah bermaklumat — mereka tahu nilai sebenar aset VV — dan selebihnya berdagang atas sebab eksogen, membeli atau menjual dengan kebarangkalian sama. Market maker tidak dapat membezakan mereka. Persaingan memaksa setiap quote menjadi jangkaan bersyarat:

ask=E[Vnext trader buys],bid=E[Vnext trader sells]\text{ask} = \mathbb{E}[V \mid \text{next trader buys}], \qquad \text{bid} = \mathbb{E}[V \mid \text{next trader sells}]

Angka yang dikerjakan. Katakan VV ialah 101 atau 99 dengan kebarangkalian sama, dan μ=0.2\mu = 0.2. Jika V=101V = 101, order beli tiba dengan kebarangkalian μ+(1μ)/2=0.6\mu + (1-\mu)/2 = 0.6 (semua yang bermaklumat membeli, separuh yang tidak bermaklumat membeli); jika V=99V = 99, dengan kebarangkalian 0.40.4. Maka

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

Spread ialah μ(VHVL)=0.4\mu(V_H - V_L) = 0.4 — pampasan adverse-selection semata-mata. Tiada risiko inventori, tiada fi, tiada rent monopoli, dan spread masih wujud, berskala mengikut pecahan yang bermaklumat dan besarnya apa yang mereka tahu.

Akibat yang penting untuk keputusan maker-taker: difillkan itu sendiri adalah maklumat, dan maklumat itu menentang anda. Bid rehat anda membeli lebih kerap apabila nilai sebenar rendah, kerana itulah masa penjual bermaklumat muncul. Bersyaratkan fill anda sendiri menggeser jangkaan nilai apa yang baru anda beli ke bawah — secara struktur, bukan secara nasib malang. Cara piawai untuk mengukur ini ialah markout: untuk order beli yang di-fill pada harga pp, markout pada horizon τ\tau ialah m(τ)=mid(tfill+τ)pm(\tau) = \text{mid}(t_{\text{fill}} + \tau) - p. Markout agregat pada fill pasif adalah negatif untuk hampir semua orang di hampir semua tempat; cara mengiranya tanpa menipu diri sendiri dibincangkan dalam Implementation shortfall dan TCA.

Bingkai setara yang lebih baik digeneralisasikan: order limit yang berehat ialah opsyen percuma yang diberikan kepada pasaran. Rakan niaga — bukan anda — memilih saat untuk melaksanakan, dan mereka melaksanakan apabila ia memberi manfaat kepada mereka. Rebat maker ialah premium yang dibayar oleh venue kepada anda kerana menulis opsyen itu. Persoalannya bukan sekali-kali "adakah premium itu positif" tetapi "adakah premium itu lebih besar daripada nilai opsyen tersebut kepada orang yang melaksanakannya."

Titik pulang modal yang telah dibetulkan

Biarkan pp menjadi kebarangkalian quote anda fill dalam horizon keputusan anda, A=E[adverse movefill]A = \mathbb{E}[\text{adverse move} \mid \text{fill}] kos markout bersyarat dalam bps, dan DD kos tambahan yang anda tanggung apabila tidak fill (drift semasa anda menunggu ditambah melintas pada harga baharu). Kos maker yang jujur ialah:

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 lebih baik daripada taker apabila E[Cmaker]<s/2+ft\mathbb{E}[C_{\text{maker}}] < s/2 + f_t, yang disusun semula kepada satu ketaksamaan bersih:

s+ftfmjimat yang kelihatan  >  Aadverse selection  +  1ppDkos terlepas berpemberat-odds\underbrace{s + f_t - f_m}_{\text{jimat yang kelihatan}} \;>\; \underbrace{A}_{\text{adverse selection}} \;+\; \underbrace{\frac{1-p}{p}\,D}_{\text{kos terlepas berpemberat-odds}}

Penguraian kos taker berbanding kos maker jujur

Contoh yang sama dikerjakan, kini dengan geseran realistik: s=2s = 2, ft=5f_t = 5, fm=2f_m = 2, jadi jimat yang kelihatan ialah 5 bps. Ambil p=0.6p = 0.6, A=3A = 3 bps, D=2D = 2 bps. Sebelah kanan ialah 3+0.40.62=4.333 + \frac{0.4}{0.6} \cdot 2 = 4.33 bps. Maker masih menang — dengan margin 0.67 bps, bukan 5. Dalam jangkaan: 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 berbanding kos taker 6.0. Kotak semak itu bernilai 0.4 bps, bukan 5, dan ralat kecil dalam AA atau pp menukar tanda itu.

Lebih teruk lagi, AA, pp, dan DD bukan alat kawalan yang bebas — ia digerakkan secara bersama oleh sebab anda berdagang. Jika isyarat anda berkorelasi dengan flow jangka pendek (setiap entri momentum begitu), maka semasa tepat-tepat lonjakan yang anda mahu masuk, p1p \to 1 dan AA meletup: anda di-fill dengan segera, oleh pergerakan yang anda ramalkan, pada harga lama, di pihak yang salah. Diskaun maker adalah paling besar dalam jadual fi tepat untuk dagangan-dagangan yang paling negatif pada hakikatnya. Itulah maksudnya apabila pilihan maker-taker dikatakan sebagai dagangan adverse-selection yang berselindung di sebalik jadual fi.

Jadual fi sebenar: tingkat, diskaun token, dan perangkap fi marginal

Jadual perwakilan pada venue-venue utama pada pertengahan 2026 (tingkat asas → tingkat awam teratas; semak halaman venue, ia berubah):

Venue Maker / taker asas Maker / taker tingkat teratas Mekanik diskaun
Binance spot 10 / 10 bps jatuh dengan VIP 1-9 bayar fi dalam BNB: −25%
Binance USDⓈ-M perp 2 / 5 bps 0 / 1.7 bps (VIP 9) BNB: −10%; VIP perlukan volum + baki BNB
Bybit perp 2 / 5.5 bps 0 / 3 bps program MM ke −1.5 bps maker, dengan obligasi
OKX perp 2 / 5 bps ke sekitar −0.5 / 1.5-2 bps pegangan OKB mengangkat tingkat runcit
Hyperliquid perp 1.5 / 4.5 bps rebat maker ke −0.3 bps rebat terikat pada bahagian volum maker; diskaun staking
Coinbase Advanced 40 / 60 bps 0 / 5 bps tingkat volum sahaja
Kraken Pro 25 / 40 bps 0 / 10 bps tingkat volum sahaja

Tiga pemerhatian struktural.

Fi maker runcit adalah positif hampir di mana-mana. Lalai gaya ekuiti "maker dibayar" langsung tidak berlaku untuk anda sehingga wilayah VIP yang dalam atau perjanjian market-maker yang ditandatangani. Pada tingkat asas, keputusan maker-taker ialah "bayar 2 atau bayar 5," bukan "peroleh atau bayar."

Diskaun token ialah kedudukan, bukan kupon. Membayar fi dalam BNB memotong fi Binance spot sebanyak 25% — 2.5 bps setiap sisi pada tingkat asas, wang sebenar pada volum tinggi. Tetapi diskaun itu memerlukan pegangan inventori token bursa, jadi pengoptimuman fi anda dibiayai oleh pendedahan beta kepada aset seakan-ekuiti bursa itu sendiri. Sebuah desk yang membayar $30k/bulan dalam fi dan menjimatkan $7.5k melalui BNB, sambil memegang float BNB bernilai $200k, seluruh jimat fi suku tahunannya terhapus oleh penurunan BNB sebanyak 10%. Layan float itu sebagai kedudukan buku: saizkan ia, lindung nilai ia, atau terima bahawa anda telah menjual volatiliti untuk membeli diskaun. (Beberapa tangga VIP juga menjadikan baki token sebagai keperluan tingkat, yang menukar kedudukan itu daripada pilihan kepada struktural.)

Fi marginal ≠ fi purata. Tingkat dikira berdasarkan volum 30 hari bergerak, jadi fi hari ini ditetapkan oleh dagangan bulan lalu — tetapi melintasi sempadan menetapkan semula harga semua volum anda selama anda mengekalkan tingkat itu. Ini mencipta lengkuk dalam kos marginal volum. Andaikan tingkat seterusnya pada $15M/30h memotong fi taker anda daripada 5 kepada 4 bps. Dengan $14M volum organik, $1M churn pengisi menanggung kos kira-kira 1\text{M} \times (s/2 + f_t) \approx \600danmembelidan membeli1,\text{bps} \times $14\text{M} = $1{,}400/bulan jimat — fi marginal juta terakhir itu adalah *negatif*. Dengan \8M organik, logik yang sama memerlukan $7M churn menanggung kos $4,200 untuk menjimatkan $800 — pertaruhan berleveraj yang membakar spread dan fi sebenar pada volum palsu untuk memperoleh diskaun hipotesis, boleh diperbaharui bulanan. Mengejar tingkat hanya rasional dalam jarak dekat dengan sempadan, dan desk yang memodelkan fi mereka sebagai satu skalar tunggal tidak dapat melihat lengkuk itu langsung.

Rebate mining: kebangkitan, kematian, dan kehidupan-selepas-mati dalam kripto

Rebat maker ialah ciptaan ekuiti. Island ECN memperkenalkannya pada 1997 untuk membangunkan likuiditi menentang bursa sedia ada, dan ia berjaya dengan begitu baik sehingga model itu menakluki struktur pasaran ekuiti AS; Reg NMS (2005) kemudian menghadkan fi akses taker pada $0.003/saham (Rule 610), dan perniagaan bursa piawai menjadi: caj taker ~30 mils, rebat maker ~20-30 mils, simpan bezanya.

Aritmetik itu sebentar mencipta strategi tulen: rebate capture. Post kedua-dua sisi saham besar berspread sesen. Round trip yang scratch — beli dan jual pada harga sama — masih mengumpul dua rebat, kira-kira separuh sen setiap saham pada PnL harga sifar. Tangkap spread sesen itu juga dan anda tigakannya. Pada pertengahan 2000-an ini adalah perniagaan industri yang tulen.

Ia mati akibat tiga sebab, dan setiap satu adalah satu pengajaran:

  1. Rebat itu awam, jadi ia dipersaingi masuk ke dalam queue. Rebat yang diposkan menarik quoting sehingga jangkaan rebat quoter marginal bersih daripada adverse selection adalah sifar. Pada saham yang terikat-tick, harga tidak boleh diperbaiki, jadi persaingan berlaku dalam keutamaan masa — dan rent mengalir kepada sesiapa yang sampai di hadapan queue dahulu. Rebat itu membiayai perlumbaan senjata kelajuan; colocation dan menara microwave memakan margin. Pengumpul rebat yang bertahan adalah firma yang akan quote juga tanpa rebat.
  2. Di mana tick tidak mengikat, rebat itu malah tidak nyata. Colliard dan Foucault (2012), "Trading Fees and Efficiency in Limit Order Markets" (Review of Financial Studies 25), membuktikan keputusan neutraliti: dengan grid harga yang halus, hanya fi bursa keseluruhan yang penting — sebarang pembahagian antara maker dan taker dibatalkan oleh pelarasan quote. Beri maker rebat dan mereka akan quote lebih ketat sepadan, menyerahkannya terus kepada taker melalui spread cum-fee. Pembahagian itu hanya berkesan apabila tick menghalang pelarasan itu — yang membawa anda kembali ke sebab #1. Rebat itu tersebar sama ada melalui harga atau melalui queue; pilih racun anda. (Foucault, Kadan dan Kandel 2013 memberikan pandangan pelengkap: pembahagian fi ialah alat venue untuk mengimbangi penyertaan maker dan taker, bukan hadiah kepada mana-mana pihak.)
  3. Herotan itu menarik perhatian pengawal selia. Angel, Harris dan Spatt, "Equity Trading in the 21st Century" (2011, dan kemas kini 2015 dalam Quarterly Journal of Finance), mengkatalogkan kerosakan itu: spread yang di-quote berhenti mengukur kos sebenar kerana fi dan rebat tidak berada dalam quote, statistik best-execution menjadi fiksyen, dan broker berdepan konflik antara fill klien dan rebat mereka sendiri. Battalio, Corwin dan Jennings (2016, Journal of Finance) menunjukkan konflik itu bukan hipotesis: penghalaan ke venue rebat-tinggi secara terukur memburukkan kualiti eksekusi order limit. SEC berlegar selama satu dekad — 2018 Transaction Fee Pilot mati di mahkamah — dan akhirnya mengadopsi pindaan pada September 2024 memotong siling fi akses daripada 30 kepada 10 mils (pematuhan kini ditolak ke November 2026). Era rebat gemuk dalam ekuiti sedang berakhir melalui dekri pentadbiran.

Apa yang bertahan dalam kripto adalah bermakna kerana ia bukan kebangkitan semula. Tiga bentuk:

  • Rebat VIP awam (tingkat maker teratas OKX pada −0.5 bps dan seumpamanya): hanya tersedia pada tahap volum yang menapis firma yang sudah pun memenangi perlumbaan queue. Kebulatan itu ialah pengakhiran ekuiti yang dimainkan semula: rebat wujud untuk menarik maker, dan maker yang menangkapnya adalah mereka yang akan quote juga tanpanya.
  • Program market-maker yang dirunding (Bybit mengiklankan sehingga −1.5 bps): ini datang dengan siling spread, saiz minimum, dan obligasi uptime. Itu bukan wang percuma; ia kontrak perkhidmatan di mana anda dibayar untuk menulis opsyen adverse-selection secara berterusan — termasuk semasa berita, cascade, dan minit-minit apabila setiap maker budi bicara telah menarik quote mereka. Rebat itu ialah gaji untuk memegang buku opsyen yang tiada siapa mahukan.
  • Insentif berasaskan formula (Hyperliquid membayar sehingga −0.3 bps yang dikaitkan dengan bahagian anda daripada jumlah volum maker): satu kejohanan eksplisit, yang sekurang-kurangnya menetapkan harga perlumbaan queue secara jujur.

Scratch-untuk-rebat tulen kebanyakannya tidak boleh wujud dalam kripto kerana fi maker runcit adalah positif: pada 2 bps maker, round trip scratch merugikan 4 bps. Strategi itu hanya wujud dalam tingkat maker-negatif, dan tingkat itulah moat-nya.

Nilai queue: apa yang sebenarnya bernilai bagi sesuatu rebat

Semua di atas dimampatkan kepada satu persamaan penetapan harga. Nilai jangkaan bagi quote yang berehat ialah:

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

di mana rr ialah rebat (atau tolak fi maker), dan — perincian yang penting — kedua-dua kebarangkalian fill pp dan adverse selection bersyarat AA adalah fungsi kedudukan queue anda qq. Ia bergerak bersama dengan cara yang paling buruk. Order di hadapan queue di-fill terhadap flow yang jinak: taker kecil, hingar, cetakan sentuh-dan-lantun. Order di belakang queue hanya di-fill apabila seluruh tingkat itu disapu bersih — iaitu, hanya dalam keadaan-keadaan dunia di mana harga sedang menembusi anda. Kedudukan queue yang dalam bukan sahaja kurang fill; ia fill dengan lebih teruk. Queue itu ialah penapis adverse-selection, dan kedudukan anda di dalamnya menentukan di sebelah mana penapis itu anda berada.

Kebarangkalian fill dan markout bersyarat berbanding kedudukan queue, dan nilai quote yang terhasil

Angka-angka. Tingkat quote pada s/2=1s/2 = 1 bps dari mid, rebat r=0.5r = 0.5 bps, kos terlepas Cmiss=1.5C_{\text{miss}} = 1.5 bps:

Kedudukan queue pp AA (bps) VquoteV_{\text{quote}} (bps)
Desil hadapan 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
Desil belakang 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

Venue sama, tingkat harga sama, baris rebat sama dalam jadual fi — ayunan nilai jangkaan dua basis point, termasuk tanda, didorong sepenuhnya oleh kedudukan queue. Moallemi dan Yuan (2016), "A Model for Queue Position Valuation in a Limit Order Book," mengukur keputusan umum: pada instrumen tick-besar, nilai keutamaan queue setanding dengan separuh-spread, iaitu, order magnitud yang sama dengan keseluruhan edge teori strategi quoting. Menganggarkan di mana anda sebenarnya berada dalam queue — dan apa yang cancel/replace lakukan kepadanya — ialah mesin bagi Queue inside the wall; menentukur A(q)A(q) daripada fill anda sendiri, dibahagikan mengikut desil queue pada masa fill, ialah latihan markout daripada TCA toolkit.

Peraturan operasi terhasil terus: quote selagi Vquote>CtakerV_{\text{quote}} > -C_{\text{taker}} berbanding alternatif anda, dan melintas apabila ia tidak — apabila queue panjang, flow toksik, atau isyarat anda menyatakan harga sedang beredar. "Bila tepatnya untuk berhenti bersabar" ialah persoalan taktik — kadar pegging, tangga eskalasi, pencetus melintas — yang mendapat layanannya sendiri dalam Child order execution tactics. Intinya di sini ialah input kepada keputusan itu ialah nilai bersyarat-queue, bukan jadual fi.

Backtest tingkat fi: bug VIP-9

Bug fi paling biasa dalam backtesting adalah memalukan kerana kesederhanaannya: config menyatakan maker_fee=0.0, taker_fee=0.00017 kerana seseorang menyalin baris teratas jadual VIP bursa — atau tingkat bekas desk itu, atau tingkat yang strategi itu akan pegang "pada skala" — dan strategi itu berdagang secara live pada 2/5. Panggil ini bug VIP-9.

Ia bukan herotan kecil. Ambil strategi quoting dengan tangkapan kasar (spread tolak adverse selection) sebanyak 2.6 bps setiap round trip, dua kaki maker setiap satu:

Tingkat fi Fi maker Bersih setiap round trip
VIP 9 0.0 bps +2.6 bps
Tingkat-pertengahan 1.0 bps +0.6 bps
Asas (VIP 0) 2.0 bps −1.4 bps

Strategi yang sama identik ialah mesin cetak wang pada tingkat yang anda backtest dan mesin pemarut pada tingkat yang anda dagangkan. Tiada bug alfa untuk dicari, tiada kehalusan model fill — hanya satu skalar dalam fail config yang memisahkan lengkung ekuiti daripada bayangan cerminnya. Dan kerana edge strategi maker biasanya 1-3 bps setiap round trip, ralat tingkat fi sentiasa pada order magnitud yang sama dengan edge itu sendiri.

Melakukannya dengan betul bermakna mengiktiraf bahawa fi anda ialah pemboleh ubah keadaan bergantung-laluan, bukan pemalar:

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

Lima peraturan menjadikan perakaunan itu jujur:

  1. Fi terkumpul setiap peristiwa fill, setiap sisi, pada notional yang di-fill — bukan setiap order dan bukan setiap round trip. Order yang di-fill separa membayar fi hanya pada serpihan yang di-fill; interaksi antara fill separa, cancel, dan pengumpulan fi tepat sama seperti mesin keadaan daripada Fill simulation, yang juga membekalkan kebarangkalian tidak-fill yang diperlukan oleh titik pulang modal yang telah dibetulkan.
  2. Tingkat itu endogen. Volum simulasi anda menentukan tingkat simulasi anda; menaikkan saiz strategi mengubah fi strategi itu sendiri. Backtest yang mengskalakan notional 10x mesti membenarkan tangga tingkat bertindak balas, dalam kedua-dua arah.
  3. Mulakan simulasi pada tingkat yang akan sebenarnya anda pegang pada hari pertama — biasanya asas. Jika tesis itu "menguntungkan pada VIP 4," jalankan tangga itu sebagai senario dan laporkan tingkat titik pulang modal. Tingkat itu ialah keperluan pelancaran dengan prasyarat volum terlampir, bukan nota kaki.
  4. Model diskaun yang dinominasikan dalam token sebagai kedudukan. Jika fi dibayar dalam BNB atau didiskaunkan melalui staking, mark-to-market float itu tergolong dalam PnL strategi, bukan dalam hamparan yang berlainan.
  5. Guna spread cum-fee untuk perbandingan venue. Mengikut Colliard-Foucault dan Angel-Harris-Spatt: kuantiti yang boleh dibandingkan merentas venue ialah s+ft(1)+ft(2)s + f_t^{(1)} + f_t^{(2)} untuk round trip taker (atau dengan fmf_m untuk kaki maker), bukan sekali-kali spread quote mentah. Venue yang quote 1 bps lebar pada 5 bps taker adalah empat kali lebih mahal untuk dilintasi berbanding satu yang quote 4 bps lebar pada 1 bps taker — dan jadual liga spread-skrin akan mengekod mereka secara terbalik.

Keputusan itu, dinyatakan semula

Buang kostum itu dan keputusan maker-taker ialah senarai semak kecil. Kenali baris fi sebenar anda — tingkat semasa, diskaun semasa, marginal bukan aspirasi. Kira spread cum-fee setiap venue dan berhenti mempercayai skrin. Ukur markout bersyarat daripada fill anda sendiri, dibahagikan mengikut kedudukan queue pada masa fill, kerana AA tidak berada dalam dokumentasi sesiapa pun. Tetapkan harga setiap quote rehat dengan p(q)(s/2+rA(q))(1p(q))Cmissp(q)\,(s/2 + r - A(q)) - (1-p(q))\,C_{\text{miss}} dan lintas tanpa sentimen apabila ia menjadi negatif. Layan rebat sebagai gaji untuk menulis opsyen dan tanya siapa yang melaksanakannya. Dan dalam backtest, jadikan fi itu mesin keadaan, bukan skalar.

Jadual fi memberitahu anda apa yang rakan niaga purata bayar kepada venue untuk keperluan segera. Markout anda memberitahu anda apa yang pasaran sebenarnya bayar kepada anda untuk menyediakannya. Hanya satu daripada angka-angka itu tentang anda — dagangkan berdasarkan yang itu.

Penafian: Maklumat yang disediakan dalam artikel ini adalah untuk tujuan pendidikan dan maklumat sahaja dan bukan merupakan nasihat kewangan, pelaburan, atau dagangan. Dagangan mata wang kripto melibatkan risiko kerugian yang ketara.

Pengarang

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

Kekal Mendahului Pasaran

Langgan surat berita kami untuk pandangan dagangan AI eksklusif, analisis pasaran, dan kemas kini platform.

Kami menghormati privasi anda. Berhenti melanggan pada bila-bila masa.