← Макалаларга кайтуу
July 21, 2026
5 мүн окуу

Maker-taker чечими: fee тиерлери, ребейттер жана спредди кесип өтүүнүн чыныгы баасы

Maker-taker чечими: fee тиерлери, ребейттер жана спредди кесип өтүүнүн чыныгы баасы
#maker taker
#соода fee'лери
#ребейттер
#adverse selection
#маркет-мейкинг
#аткаруу
#market microstructure
#backtest

Сиз жиберген ар бир ордер башка бардык нерседен мурун бир эле бинардык тандоо жасайт: спредди кесип өтүп taker fee'син төлөө, же китепте жатып maker fee төлөө — кээде ребейт да алуу. Индустрия муну fee оптимизациясы катары көрсөтөт, жана fee таблицалары чындап ошондой көрүнөт: taker 5 bps, maker 2 bps, экономия 3 bps, post-only флагы күйгүзүлдү, бүттү. Бул — кийим гана. Анын астында maker менен taker'дин ортосундагы айырма — adverse selection жөнүндөгү мамиле: сиз даяр баа менен тезинен аткарууну сатып аласызбы, же рынокко сизди өз каалоосу боюнча толтуруу укугун (опцион) сатасызбы — жана бул опционду маалыматтуу контрагенттер так сизге зыян келтире турган учурда пайдаланышат. Fee таблицасы бул опционду орточо катышуучу үчүн баалайт. Бирок сиз орточо катышуучу эмессиз, жана сиздин квотаңызды урган флоу да орточо эмес.

Бул макалада fee таблицасы жашырган математика каралат: түзөтүлгөн break-even, эмне үчүн Glosten-Milgrom (1985) боюнча пассивдүү толтуруулар сизге каршы структуралык жактан ооп турганы, чыныгы крипто fee тиерлери менен токен арзандатуулары сандарга кандай таасир этери, эмне үчүн rebate mining акциялар рыногунда өлгөнү жана кайсы мутацияланган түрдө криптодо жашап калганы, queue позициясы ребейттин чыныгы наркын кантип аныктайт, жана муну бардыгын backtest'те бизнестеги эң кеңири таралган fee катасын кетирбей моделдөө.

Наивдүү break-even — жана баары унутуп калган мүчө

Белгилөө: квоталанган спред ss, taker fee ftf_t, maker fee fmf_m (эгер ребейт болсо — терс), баары номиналдын базистик пункттарында, ортоңку баа (mid) эталон катары. Кесип өтүү сизге спреддин жарымы плюс taker fee'сине турат; жатуу спреддин жарымын табат жана 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}

Binance USDⓈ-M фьючерстеринин базалык тарифтерин коюп көрөлү — maker 2 bps, taker 5 bps — 2 bps кеңдиктеги perp'те: taker 1+5=61 + 5 = 6 bps турат, maker "баасы" 21=12 - 1 = 1 bps. Көрүнгөн үнөм: ар бир бүтүмдө 5 bps. Күнүнө 20 round trip жасаган стратегия үчүн бул чекбокстон алынган 100 bps күндүк edge деп эсептелет.

Алгач ушул сандардын бир өзгөчөлүгүн белгилейли: fee — бул спредге түзөтүү эмес, ликвиддүү крипто пейрлеринде ал чыгашанын өзү. BTCUSDT perp көбүнчө 1 bps'тен да тар квоталанат, ал эми retail taker 5 bps төлөйт. Жарым спред fee'нин жанында тегеректөө катасы гана. Бул акциялар рыногунун интуициясына карама-каршы, анда спред менен fee бир катар чоңдук, жана дал ушул себептен криптодо ар бир наивдүү салыштыруу "дайыма maker бол" деп кыйкырат. Дал ушул себептен биринчи маркет-мейкинг backtest дайыма кирешелүү болот, ал эми биринчи реалдуу жайылтуулардын көбү — андай эмес.

Наивдүү maker чыгашасында үч мүчө жетишпейт:

  1. Толтурулбоо тобокелдиги. Лимиттик ордер — бул бүтүм эмес, ал бүтүмгө лотерея билети. Ал толтурулбаса, сиз же кыймылды өткөрүп жибересиз, же кийинчерээк жаманыраак баада кесип өтөсүз.
  2. Adverse selection (терс тандоо). Толтурулду деген шартта, баа шартсыз бөлүштүрүү көрсөткөндөй эмес, сизге каршы жылуу ыктымалдуулугу жогору. Бул бактысыздык эмес — бул теорема.
  3. Кайра квоталоо чыгашасы. Рынокту cancel/replace менен кубалоо сиздин queue позицияңызды артка кайтарат, бул сиздин толтуруу бөлүштүрүүңүздү унчукпай негизинен 2-типтеги толтурууларга айландырат.

Экинчи мүчөнүн артында элүү жылдык теория турат, ошондуктан аны туура жасайлы.

Glosten-Milgrom: толтуруу — өзү эле жаман кабар

Glosten жана Milgrom (1985), "Bid, Ask and Transaction Prices in a Specialist Market with Heterogeneously Informed Traders" (Journal of Financial Economics 14) — спреддин жалпы эле эмне үчүн бар экенин көрсөткөн эң таза модель. Тобокелге нейтралдуу, атаандаштыкка ачык, чыгашасыз маркет-мейкер bid жана ask квоталайт. Кирип келген трейдерлердин бир бөлүгү μ\mu маалыматтуу — алар активдин чыныгы наркын VV билишет — калгандары экзогендик себептер менен, тең ыктымалдуулук менен сатып алуу же сатуу жасашат. Маркет-мейкер аларды бири-биринен ажырата албайт. Атаандаштык ар бир квотаны шарттуу математикалык күтүлүшкө айландырат:

ask=E[Vкийинки трейдер сатып алат],bid=E[Vкийинки трейдер сатат]\text{ask} = \mathbb{E}[V \mid \text{кийинки трейдер сатып алат}], \qquad \text{bid} = \mathbb{E}[V \mid \text{кийинки трейдер сатат}]

Мисал сандар менен. VV 101 же 99 болсун, тең ыктымалдуулук менен, жана μ=0.2\mu = 0.2. Эгер V=101V = 101 болсо, сатып алуу μ+(1μ)/2=0.6\mu + (1-\mu)/2 = 0.6 ыктымалдуулук менен келет (бардык маалыматтуулар сатып алат, маалыматсыздардын жарымы сатып алат); эгер V=99V = 99 болсо — 0.40.4 ыктымалдуулук менен. Анда

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

Спред μ(VHVL)=0.4\mu(V_H - V_L) = 0.4 түзөт — таза adverse-selection компенсациясы. Запас тобокелдиги жок, fee жок, монополиялык рента жок, бирок спред баары бир бар — ал маалыматтуулардын үлүшүнө жана алар билген нерсенин көлөмүнө жараша чоңоёт.

Maker-taker чечими үчүн эң маанилүүсү мына бул: толтурулуунун өзү маалымат, жана бул маалымат сизге каршы. Сиздин жаткан bid'иңиз чыныгы нарк төмөн болгондо көбүрөөк сатып алат, анткени дал ошол учурда маалыматтуу сатуучулар пайда болот. Өзүңүздүн толтурулушуңузга шарттануу — сиз жаңы гана сатып алган нерсенин күтүлгөн наркын төмөндөтөт, бул кокустук эмес, конструкция боюнча ошондой. Муну өлчөөнүн стандарттуу жолу — markout: pp баада толтурулган сатып алуу үчүн, τ\tau горизонтундагы markout m(τ)=mid(tfill+τ)pm(\tau) = \text{mid}(t_{\text{fill}} + \tau) - p түзөт. Пассивдүү толтурууларда жыйынтыкталган markout'тар дээрлик бардык жерде дээрлик бардыгы үчүн терс; аны өзүңүздү алдабай кантип эсептөө керектиги Implementation shortfall жана TCA макаласында каралган.

Жакшыраак жалпылоочу эквиваленттүү каралыш: жаткан лимиттик ордер — рынокко берилген бекер опцион. Аткаруу учурун — сиз эмес, — контрагент тандайт, жана ал өзүнө пайдалуу болгондо аткарат. Maker ребейти — биржа сизге ошол опционду жазганыңыз үчүн төлөгөн премия. Суроо эч качан "премия оң белиби" эмес, а "премия аны аткарган адамдарга анын наркынан чоңбу" деген суроо.

Түзөтүлгөн break-even

pp — сиздин квотаңыз чечим горизонтуңуздун ичинде толтурулуу ыктымалдуулугу, A=E[терс кыймылтолтуруу]A = \mathbb{E}[\text{терс кыймыл} \mid \text{толтуруу}] — bps'теги шарттуу markout чыгашасы, жана DD — толтурулбаганда төлөгөн кошумча чыгаша (күтүп жаткан учурдагы дрейф плюс жаңы баада кесип өтүү) болсун. Чынайы maker чыгашасы:

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 болуу taker болуудан артыкчылыктуу болот, качан E[Cmaker]<s/2+ft\mathbb{E}[C_{\text{maker}}] < s/2 + f_t болсо, бул таза теңсиздикке кайра жазылат:

s+ftfmкөрүнгөн үнөм  >  Aadverse selection  +  1ppDыктымалдуулук менен салмактанган өткөрүп жиберүү чыгашасы\underbrace{s + f_t - f_m}_{\text{көрүнгөн үнөм}} \;>\; \underbrace{A}_{\text{adverse selection}} \;+\; \underbrace{\frac{1-p}{p}\,D}_{\text{ыктымалдуулук менен салмактанган өткөрүп жиберүү чыгашасы}}

Taker чыгашасынын чынайы maker чыгашасы декомпозициясы менен салыштырылышы

Ошол эле мисал, эми реалдуу фрикциялар менен: s=2s = 2, ft=5f_t = 5, fm=2f_m = 2, көрүнгөн үнөм 5 bps. p=0.6p = 0.6, A=3A = 3 bps, D=2D = 2 bps алалы. Оң жагы 3+0.40.62=4.333 + \frac{0.4}{0.6} \cdot 2 = 4.33 bps түзөт. Maker болуу дагы эле утат — бирок 5 эмес, 0.67 bps маржа менен гана. Күтүлгөн мааниде: 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, taker чыгашасы 6.0 bps болгондо. Чекбокс 5 эмес, 0.4 bps гана берген, ал эми AA же pp'дагы кичине ката белгини оодарып жиберет.

Мындан да жаманы: AA, pp жана DD бири-биринен көз каранды эмес параметрлер эмес — алар сиз эмне үчүн соода кылып жатканыңыз менен бирдей аныкталат. Эгер сиздин сигналыңыз кыска мөөнөттүү флоу менен корреляцияланса (ар бир моментум кирүү дал ушундай), анда сиз кирүүнү каалаган дал ошол шар (burst) учурларында p1p \to 1 болуп, AA жарылат: сиз токтоосуз толтурулуп, өзүңүз алдын ала айткан кыймыл менен, эски баада, туура эмес жагыңызда каласыз. Maker арзандатуусу fee таблицасында дал ошол бүтүмдөр үчүн эң чоң, алар чындыгында эң терс болгон бүтүмдөр. Дал ушул мааниде maker-taker тандоосу — fee тарифине оронгон adverse-selection мамилеси.

Чыныгы fee тарифтери: тиерлер, токен арзандатуулары жана маргиналдык-fee тузагы

2026-жылдын ортосуна карата негизги биржалардагы репрезентативдүү тарифтер (базалык тиер → жогорку ачык тиер; биржанын өз баракчаларын текшериңиз, алар өзгөрүп турат):

Биржа Базалык maker / taker Жогорку тиер maker / taker Арзандатуу механикасы
Binance spot 10 / 10 bps VIP 1-9 менен түшөт fee'лерди BNB менен төлөө: −25%
Binance USDⓈ-M perp 2 / 5 bps 0 / 1.7 bps (VIP 9) BNB: −10%; VIP үчүн көлөм + BNB балансы керек
Bybit perp 2 / 5.5 bps 0 / 3 bps MM программасы −1.5 bps maker'ге чейин, милдеттенмелер менен
OKX perp 2 / 5 bps болжол менен −0.5 / 1.5-2 bps OKB кармоолору retail тобун тиерлейт
Hyperliquid perp 1.5 / 4.5 bps maker ребейттери −0.3 bps'ке чейин ребейт maker көлөмүнүн үлүшүнө байланыштуу; staking арзандатуулары
Coinbase Advanced 40 / 60 bps 0 / 5 bps көлөм тиерлери гана
Kraken Pro 25 / 40 bps 0 / 10 bps көлөм тиерлери гана

Үч структуралык байкоо.

Retail maker fee'лери дээрлик бардык жерде оң. Акциялар рыногундагы "maker'лерге акы төлөнөт" деген демейки интуиция сиз үчүн терең VIP аймагына же кол коюлган маркет-мейкер келишимине чейин иштебейт. Базалык тиерде maker-taker чечими "2 төлөйсүзбү же 5 төлөйсүзбү" деген маселе, "табасызбы же төлөйсүзбү" эмес.

Токен арзандатуусу — купон эмес, позиция. Fee'лерди BNB менен төлөө Binance spot fee'лерин 25%'ке кыскартат — базалык тиерде бир жагы боюнча 2.5 bps, көлөмдө чыныгы акча. Бирок бул арзандатуу биржа токенинин запасын кармоону талап кылат, ошондуктан сиздин fee оптимизацияңыз биржанын өзүнүн акцияга окшош активине бета-экспозиция менен каржыланат. Айына 30kfeeтөлөгөн,BNBаркылуу30k fee төлөгөн, BNB аркылуу 7.5k үнөмдөгөн, бирок $200k BNB float кармаган desk'тин бүт кварталдык fee үнөмү BNB'нин 10% түшүшү менен жоюлат. Float'ту китептик позиция катары карагыла: аны өлчөгүлө, хеджделегиле, же болбосо арзандатуу сатып алуу үчүн волатилдүүлүктү сатканыңызды моюнга алгыла. (Кээ бир VIP тепкичтеринде токен балансы тиер талабы болуп саналат, бул позицияны опциялдуудан структуралыкка айландырат.)

Маргиналдык fee ≠ орточо fee. Тиерлер артка карай 30 күндүк көлөм боюнча эсептелет, ошондуктан бүгүнкү fee өткөн айдын соодасы менен аныкталган — бирок чекти кесип өтүү сиз ошол тиерди кармап тураар мезгилдин бүт көлөмүнүн баасын кайра белгилейт. Бул көлөмдүн маргиналдык баасында ийрилик пайда кылат. Айталы, кийинки тиер $15M/30d'де taker fee'ни 5'тен 4 bps'ке түшүрөт. $14M органикалык көлөм менен, $1M "толтуруучу" churn болжол менен 1\text{M} \times (s/2 + f_t) \approx \600туратжанатурат жана1,\text{bps} \times $14\text{M} = $1{,}400/ай үнөм алып келет — бул акыркы миллиондун маргиналдык fee'си *терс*. \8M органикалык менен, ошол эле логика $7M churn'ду талап кылат, ал $4,200 турат, бирок $800 гана үнөмдөйт — бул чыныгы спред менен fee'ни жасалма көлөмгө сарптап, гипотетикалык арзандатууну табуу үчүн жасалган левередждик тобокел, ай сайын жаңыртылат. Тиер кубалоо чекке жакын турганда гана рационалдуу, ал эми fee'син бир скаляр катары моделдеген desk'тер бул ийриликти жалпы эле көрө алышпайт.

Rebate mining: пайда болуусу, өлүмү жана крипто-акыркы жашоосу

Maker ребейти — акциялар рыногунун ойлоп табуусу. Island ECN аны 1997-жылы иштеп жаткан биржаларга каршы ликвиддүүлүктү жарандаштыруу үчүн киргизген, жана ал ушунчалык ийгиликтүү болгону АКШнын акциялар рыногунун структурасын толугу менен багынтты; андан кийин Reg NMS (2005) taker кирүү fee'син $0.003/акция (Rule 610) менен чектеди, жана биржалардын стандарттуу бизнес-модели болуп калды: taker'дерден ~30 mil алуу, maker'лерге ~20-30 mil ребейт берүү, айырманы алып калуу.

Ошол арифметика убактылуу таза стратегия жаратты: rebate capture (ребейт кармоо). Тыйындык спреддеги чоң капиталдаштыруу акциясынын эки жагын тең квоталагыла. Round trip, эгер scratch болсо — бирдей баада сатып алып сатса — баары бир эки ребейт алат, баа PnL'и нөл болсо да, акциянын жарым тыйынга жакын. Тыйындык спредди дагы кармасаңыз — үч эсеге көбөйтөсүз. 2000-жылдардын ортосунда бул чыныгы индустриалдык бизнес болгон.

Ал үч себептен өлдү, ар бирисинен сабак алса болот:

  1. Ребейт ачык, ошондуктан ал queue'до атаандаштыкка кабылат. Жарыяланган ребейт, marginal квотировщиктин adverse selection'ду эсептеп чыккан күтүлгөн ребейти нөлгө жеткиче квоталоочуларды тартат. Тик менен чектелген акцияда, баа жакшыра албайт, ошондуктан атаандаштык убакыт приоритетинде болот — жана рента queue'нун алдына биринчи жеткен адамга агылат. Ребейт ылдамдык куралдануу жарышын каржылады; колокация жана микротолкундук мунаралар маржаны жеп салды. Ребейт табуучулардын арасында аман калгандар — баары бир квоталай турган фирмалар болушту.
  2. Тик чектебеген жерде ребейттин өзү да чыныгы эмес. Colliard жана Foucault (2012), "Trading Fees and Efficiency in Limit Order Markets" (Review of Financial Studies 25), нейтралдуулук натыйжасын далилдейт: майда баа торунда, жалпы биржа fee'си гана мааниге ээ — maker менен taker ортосундагы кайсы бөлүнүш болбосун квота түзөтүүсү менен жоюлат. Maker'лерге ребейт бергиле — алар тиешелүү түрдө тарраак квоталашат, аны cum-fee спред аркылуу taker'лерге түз эле бере коюшат. Бөлүнүштүн мааниси болушу үчүн тик ошол түзөтүүнү бөгөт коюшу керек — бул сизди кайра 1-себепке алып барат. Ребейт же баа аркылуу, же queue аркылуу тарайт; уулуңузду тандаңыз. (Foucault, Kadan жана Kandel 2013 толуктоочу көз карашты берет: fee бөлүнүшү — бул биржанын maker менен taker катышуусун теңдештирүү куралы, эч кимге белек эмес.)
  3. Бузулуулар жөнгө салуучуларды тартты. Angel, Harris жана Spatt, "Equity Trading in the 21st Century" (2011, жана Quarterly Journal of Finance'деги 2015-жылдагы жаңыртуу), зыянды каталогдоду: квоталанган спредтер чыныгы чыгашаны өлчөбөй калды, анткени fee жана ребейттер квотада көрүнбөйт, best-execution статистикасы фантастикага айланды, жана брокерлер клиенттин толтурулушу менен өз ребейтинин ортосунда конфликтке туш болушту. Battalio, Corwin жана Jennings (2016, Journal of Finance) бул конфликттин гипотетикалык эместигин көрсөттү: жогорку-ребейттик биржаларга багыттоо лимиттик ордерлердин аткарылуу сапатын өлчөнүүчү даражада начарлатты. SEC он жылдай айланды — 2018-жылдагы Transaction Fee Pilot соттон өтпөй өлдү — акыры 2024-жылдын сентябрында түзөтүүлөрдү кабыл алды, кирүү-fee чегин 30'дан 10 mil'ге чейин кыскартып (аткаруу мөөнөтү 2026-жылдын ноябрына жылдырылды). Акциялар рыногундагы семиз-ребейт доору административдик буйрук менен аяктап баратат.

Криптодо эмне сакталып калганы окутарлык, анткени ал кайра жаралуу эмес. Үч түрдө:

  • Ачык VIP ребейттери (OKX'тин −0.5 bps жогорку maker тиери жана ушул сыяктуулар): бул queue жарышын мурунтан эле жеңип алган фирмаларды тандап алган көлөм деңгээлдеринде гана жеткиликтүү. Тегерек логика акциялар рыногунун акыркы этабын кайталайт: ребейт maker'лерди тартуу үчүн бар, ал эми аны кармаган maker'лер баары бир квоталай турган фирмалар.
  • Келишилген маркет-мейкер программалары (Bybit −1.5 bps'ке чейин сунуштайт): булар спред чектери, минималдуу өлчөм жана uptime милдеттенмелери менен келет. Бул бекер акча эмес — бул сиз adverse-selection опционун үзгүлтүксүз жазганыңыз үчүн акы алган кызмат келишими — жаңылыктар, каскаддар, жана бардык дискрециялык maker'лер квотасын алып салган мүнөттөр аркылуу дагы. Ребейт — эч ким каалабаган опцион китебин кармап тургандын эмгек акысы.
  • Формулага негизделген стимулдар (Hyperliquid жалпы maker көлөмүндөгү үлүшүңүзгө байланыштуу −0.3 bps'ке чейин төлөйт): бул ачык турнир, ал болбосо да queue жарышын чынчыл баалайт.

Таза scratch-үчүн-ребейт стратегиясы криптодо негизинен жашай албайт, анткени retail maker fee'лери оң: 2 bps maker'де, scratch round trip 4 bps жоготот. Бул стратегия терс-maker тиерлеринин ичинде гана бар, жана ошол тиерлер — тоскоол.

Queue наркы: ребейт чындыгында эмнеге турат

Жогорудагынын баары бир баалоо теңдемесине кысылат. Жаткан квотанын күтүлгөн наркы:

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

бул жерде rr — ребейт (же minus maker fee), жана — эң маанилүү деталь — толтуруу ыктымалдуулугу pp да, шарттуу adverse selection AA да сиздин queue позицияңыздын qq функциялары. Алар эң жаман багытта чогуу кыймылдайт. Queue'нун алдындагы ордер жумшак флоуга каршы толтурулат: майда taker'лер, шум, тийип-кайра секирген принттер. Queue'нун арткы жагындагы ордер бүт деңгээл толугу менен тазаланганда гана толтурулат — башкача айтканда, баа так сиздин үстүңүздөн өтүп бара жаткан дүйнөнүн абалдарында гана. Терең queue позициялары азыраак толтурулуп гана тим болбойт — алар начарыраак толтурулат. Queue — бул adverse-selection фильтри, жана сиздин ондогу позицияңыз фильтрдин кайсы жагында экениңизди чечет.

Толтуруу ыктымалдуулугу жана шарттуу markout queue позициясына жараша, жана натыйжадагы квота наркы

Сандар. Mid'ден s/2=1s/2 = 1 bps квоталанган деңгээл, ребейт r=0.5r = 0.5 bps, өткөрүп жиберүү чыгашасы Cmiss=1.5C_{\text{miss}} = 1.5 bps:

Queue позициясы pp AA (bps) VquoteV_{\text{quote}} (bps)
Алдыңкы децил 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
Арткы децил 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

Ошол эле биржа, ошол эле баа деңгээли, fee тарифиндеги ошол эле ребейт саптары — эки-базистик-пункттук термелүү, белгиси менен кошо, толугу менен queue позициясы менен аныкталат. Moallemi жана Yuan (2016), "A Model for Queue Position Valuation in a Limit Order Book," жалпы натыйжаны сандык баалайт: чоң-тиктеги инструменттерде queue приоритетинин наркы жарым-спредге салыштырылат, башкача айтканда — квоталоо стратегиясынын бүт теориялык edge'и менен бир катар чоңдук. Сиз чындыгында queue'до кайда экениңизди — жана cancel/replace ага эмне кыларын — баалоо Queue дубалдын ичинде макаласынын машинасы; A(q)A(q)'ды өз толтурууларыңыздан, толтуруу учурундагы queue децили боюнча топтоштуруп калибрлөө — TCA куралдар топтомундагы markout көнүгүүсү.

Оперативдик эреже түз эле чыгат: Vquote>CtakerV_{\text{quote}} > -C_{\text{taker}} альтернативаңызга салыштырмалуу болсо квоталагыла, жана ал андай эмес болгондо — queue узун болгондо, флоу уулуу болгондо, же сигналыңыз баа кетип жатат десе — кесип өтүгүлө. "Так качан чыдамдуулукту токтотуу керек" — бул тактика маселеси — pegging каденциясы, эскалация тепкичтери, кесип өтүү триггерлери — булар Дочерний ордерлерди аткаруу тактикасы макаласында өзүнчө каралат. Бул жерде маанилүүсү — ошол чечимдин киргизүүсү queue-шарттуу нарк, fee таблицасы эмес.

Тиерленген fee'лерди backtest кылуу: VIP-9 катасы

Backtesting'деги эң кеңири таралган fee катасы уят кыла тургандай жөнөкөй: конфигде maker_fee=0.0, taker_fee=0.00017 жазылат, анткени бирөө биржанын VIP таблицасынын жогорку сабын — же desk'тин мурунку тиерин, же стратегия "масштабда" кармай турган тиерди — көчүрүп алган, бирок стратегия реалдуу 2/5'те соода кылат. Муну VIP-9 катасы деп атайлы.

Бул кичине бузулуу эмес. Гросс капчурасы (спред минус adverse selection) round trip'ке 2.6 bps болгон квоталоочу стратегияны алалы, эки maker жагы менен:

Fee тиери Maker fee Round trip'ке net
VIP 9 0.0 bps +2.6 bps
Орто тиер 1.0 bps +0.6 bps
Базалык (VIP 0) 2.0 bps −1.4 bps

Так ошол эле стратегия сиз backtest кылган тиерде акча басма станогу, ал эми реалдуу соода кылган тиерде — жоготуучу машина. Бул жерде табыла турган альфа катасы жок, толтуруу моделинин эч кандай нюансы жок — конфиг файлындагы бир скаляр гана эквити ийри сызыгын анын күзгү чагылышынан бөлүп турат. Жана maker-стратегиялардын edge'дери адатта 1-3 bps/round trip болгондуктан, fee-тиер катасы дайыма edge'дин өзү менен бир катар чоңдукта болот.

Муну туура жасоо — сиздин fee'ңиздин туруктуу сан эмес, жол-көз-каранды абал өзгөрмөсү экенин таануу дегенди билдирет:

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

Беш эреже эсеп-кысапты чынчыл кылат:

  1. Fee'лер ар бир толтуруу окуясы боюнча, ар бир жак боюнча, толтурулган номинал боюнча эсептелет — ордер боюнча да, round trip боюнча да эмес. Жарым толтурулган ордер толтурулган фрагмент боюнча гана fee төлөйт; жарым толтуруулар, жокко чыгаруулар жана fee эсептөөнүн ортосундагы өз ара аракеттешүү дал ошол Толтуруу симуляциясынан алынган абал машинасы, ал ошондой эле түзөтүлгөн break-even үчүн керек болгон толтурулбоо ыктымалдуулуктарын берет.
  2. Тиер эндогендик. Симуляцияланган көлөмүңүз симуляцияланган тиериңизди аныктайт; стратегияны чоңойтуу анын өз fee'син өзгөртөт. Номиналды 10 эсеге масштабдаган backtest тиер тепкичине эки багытта тең жооп берүүгө мүмкүндүк берүүгө тийиш.
  3. Симуляцияны биринчи күнү чындыгында кармай турган тиерден баштагыла — көбүнчө базалык. Эгер тезис "VIP 4'те кирешелүү" болсо, тепкичти сценарийлер катары иштетип, break-even тиерин билдиргиле. Ошол тиер — көлөм алдын ала шарты тиркелген жайылтуу талабы, эскертүү эмес.
  4. Токенде номиналдалган арзандатууларды позиция катары моделдегиле. Эгер fee'лер BNB менен төлөнсө же staking менен арзандатылса, float'тун mark-to-market'и стратегиянын PnL'ине кирүүгө тийиш, башка электрондук таблицага эмес.
  5. Биржаларды салыштыруу үчүн cum-fee спредди колдонгула. Colliard-Foucault жана Angel-Harris-Spatt'ты ээрчип: биржалар аралык салыштырылуучу чоңдук — taker round trip үчүн s+ft(1)+ft(2)s + f_t^{(1)} + f_t^{(2)} (же maker жактары үчүн fmf_m менен), эч качан таза квоталанган спред эмес. 1 bps кеңдиктеги, бирок 5 bps taker'дуу биржа, 4 bps кеңдиктеги, бирок 1 bps taker'дуу биржага караганда кесип өтүү үчүн төрт эсе кыйматыраак — ал эми экран-спред лигасынын таблицалары аларды тескери жайгаштырат.

Чечим, кайра айтылды

Кийимди чечип салсак, maker-taker чечими кичине текшерүү тизмеси болуп чыгат. Чыныгы fee сабыңызды билгиле — учурдагы тиер, учурдагы арзандатуулар, максат эмес, маргиналдык. Ар бир биржа боюнча cum-fee спредди эсептеп, экрандарга ишенүүнү токтоткула. Шарттуу markout'торду өз толтурууларыңыздан, толтуруу учурундагы queue позициясы боюнча топтоштуруп өлчөгүлө, анткени AA эч кимдин документациясында жок. Ар бир жаткан квотаны p(q)(s/2+rA(q))(1p(q))Cmissp(q)\,(s/2 + r - A(q)) - (1-p(q))\,C_{\text{miss}} менен баалагыла жана ал терс болгондо сезимталдыксыз кесип өткүлө. Ребейттерди опцион жазганыңыз үчүн эмгек акы катары кабыл алгыла жана ким аны аткарып жатканын сурагыла. Ал эми backtest'те fee'ни скаляр эмес, абал машинасы кылгыла.

Fee таблицасы сизге орточо контрагент тезинен аткаруу үчүн биржага канча төлөрүн айтат. Сиздин markout'торуңуз болсо рынок аны камсыз кылганыңыз үчүн сизге чындыгында канча төлөрүн айтат. Бул эки сандын бирөө гана сиз жөнүндө — ошону эске алып соода кылгыла.

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

Рынктан бир кадам алдыда болуңуз

AI соода аналитикасы, рынок талдоолору жана платформа жаңылыктары үчүн биздин жаңылыктар бюллетенине жазылыңыз.

Биз сиздин купуялыгыңызды урматтайбыз. Каалаган убакта жазылымдан чыга аласыз.