Слайс ичинде: планировщик менен биржанын ортосундагы чакан ордер тактикалары
Almgren-Chriss траекториясы сизге бир сан берет: кийинки беш мүнөттө 4.2 BTC сатыңыз. VWAP графиги да ошол эле түрдөгү санды башка негиздеме менен берет. Экөө тең андан ары эмне болорун айтпайт — ошол 4.2 BTC китепке бир рыноктук ордер катары түшөбү, maker комиссияларын чогултуп touch деңгээлинде турабы, 0.3 BTC көрсөтмөнүн артына жашынабы же жылып бараткан котировканы кубалап он бир жолу кайра баасы коюлабы. Бул экинчи чечим катмары — тактика катмары, жана комиссияга көз каранды крипто китептеринде ал көбүнчө андан жогорудагы планировщик тандоосуна караганда бир слайска көбүрөөк PnL жылдырат. Планировщиктин интервалдык бюджеттери TWAP менен жакшы тууналган Almgren-Chriss ортосунда бүтүндөй ата-ордер боюнча импакттын бир нече базистик пунктуна гана айырмаланат; жасай алган слайстарда taker комиссияларын төлөө же этияттуулуксуз кайра баа коюу аркылуу кезек позициясын жоготуу болсо саатына ошончо чыгым алып келет. Бул макала бардыгы иштетип, дээрлик эч ким жазбаган катмар жөнүндө: ар бир чакан ордер китепке кантип тийгенин чечкен абал машинасы жөнүндө.
Эки катмар, бир тар интерфейс
Lehalle менен Laruelle'дин Market Microstructure in Practice (2-басылышы, 2018) китеби ар бир аткаруу деску келишкен нерсени формалдаштырат: убакыт боюнча санды бөлүштүргөн стратегиялык катмар (планировщик) жана ар бир бөлүштүрүүнү тирүү китепке карата иштеткен тактикалык катмар (микротрейдер). Бул бөлүнүү эстетикалык эмес — эки катмар да ар башка саат жана ар башка дайын менен жашайт. Планировщик мүнөттөр менен ойлойт, волатилдик менен көлөм божомолдорун керектейт жана вариациялык маселени чечет. Тактика катмары миллисекунддан секундага чейинки убакытта ойлойт, L2 дельталарын жана кезек баасын керектейт, жана чакан токтотуу маселелеринин ырааттуулугун чечет.

Алардын ортосундагы интерфейс тар болушу керек. Ылдый карай, слайсы боюнча:
- бюджет — ушул интервалда аткарылуучу көлөм (Almgren-Chriss'тин 'сы же VWAP'тын көлөм ийриси инкременти);
- терезе — слайс узундугу;
- шашылыштык — Almgren-Chriss үчүн табигый талапкер , ал тобокелдиктен качууну, волатилдикти жана ликвиддүүлүктү бир ставкага бириктирет; VWAP планировщиги үчүн көбүнчө бул тилке аралыгы ("максаттуу ийриден 1.8% артта калдык").
Жогору карай: убакыт белгилери жана комиссиялары бар аткарылган ордерлер, аткарылбаган калдык, жана интервалдын келүү орточо баасына карата өлчөнгөн слайс деңгээлиндеги аткаруу жетишпестиги. Акыркысы маанилүү: планировщиктин импакт параметри ставкасында ликвиддүүлүктү талап кылуунун канча турушу керектигин мурунтан баалайт. Тактика катмарынын бүткүл милдети бир сүйлөмгө сыят: аткарылган ордерлерди болжолдогон чыгымдан жакшыраак деңгээлде ишке ашыруу, ата-ордердин болушун ачыкка чыгарбай туруп. Эгер өлчөгөн слайс жетишпестигиңиз туруктуу түрдө моделдин чыгымынан жакшыраак болсо, калибрленген төмөндөй алат, планировщик тезделет, жана бүткүл стек жакшырат. Эгер слайс жетишпестигин график чыгымынан бөлүп өлчөй албасаңыз, эки катмарды тең тууноо мүмкүн эмес — сизде бир бүдөмүк сан жана эки башкаруу тетиги гана бар.
Калдык боюнча саясат да келишимдин бир бөлүгү. Слайс аткарылбаган көлөм менен аяктаганда, тактика катмары же аны күчтөп аяктайт (калдыкты кесип өтөт — дедлайн шашылыштыгы астында демейки), же аны кайра амортизациялоо үчүн планировщикке кайтарат (төмөн- графигинин башында ылайыктуу, дедлайнга жакын жерде уулуу — анткени кайра амортизациялоо унчукпай эле акыркы алп слайска айланат).
Эскалация тепкичи: адегенде пассивдүү, дедлайн боюнча агрессивдүү
Бул чөйрөдөгү эң эски жыйынтык — Harris (1998), "Optimal dynamic order submission strategies in some stylized trading problems" (Financial Markets, Institutions & Instruments 7(2)): дедлайнга чейин бүтүрүшү керек болгон ликвиддүүлүк трейдери үчүн оптималдуу стратегия динамикалуу — убакыт арзан кезде лимиттик ордерлер менен китепте туруу, дедлайн жакындаган сайын рынокко карай кайра баа коюу, жана акырында кесип өтүү. Ар бир production тактика кыймылдаткычы ушул формадан келип чыгат: touch деңгээлинде коюу, эскириши, эскалация, кесип өтүү. Заманбап комиссия графиктери менен кезек динамикасы кошуп жаткан нерсе — ар бир өтүүнүн так качан иштелерин эсептөө арифметикасы.
Кесип өтүүнүн рентабелдик чеги
Бирдик боюнча иш, учурдагы orta баага карата, сатып алуу үчүн. Азыр кесип өтүү жарым спред плюс taker комиссиясын турат:
Бид боюнча терезесинде коюу ыктымалдуулугу менен аткарылат; аткарылса жарым спредди утат жана maker комиссиясын (, эгер rebate болсо терс) төлөйт. Аткарылбаса терезенин аягында орточо жылганда кесип өтүү болот — так оң, анткени аткарылбоо менен терс жылыш бир эле окуя: бидиңиз рынок андан алыстаганда согулбайт. Күтүлгөн коюу чыгымы:
Коюу кесип өтүүдөн жакшыраак болот, эгер
мында — байге: кесип өтүүнүн ордуна жасоо аркылуу утуп алган толук айланма — спред плюс комиссия айырмасы. Бул аткаруунун maker-taker экономикасын толугу менен башкарган ошол эле рентабелдик чек, бир слайска чейин кыскартылган.
Сандар, BTCUSDT perp: orta баа $100,000, спред бир тик s = \0.10f_m = $20f_t = $50\Pi = 0.10 + 50 - 20 = $30.10 \approx 3\sigma_{\text{day}} = $3{,}000\delta(\tau) \approx 0.6,\sigma_{\text{day}}\sqrt{\tau/86400}$ (0.6 — калибрлениши керек болгон терс тандоо коэффициенти, ага ишенбеңиз):
- с: \delta \approx \19p^* = 19/49 \approx 0.39$. 10 секунда ичинде кеминде 39% аткарылат деп күтсөңүз гана коюңуз.
- с: \delta \approx \47p^* = 47/77 \approx 0.61$.
- 2 bp комиссиянын ордуна 1 bp maker rebate менен (f_m = -\10\Pi = $60.10p^* \approx 0.24$ чейин түшөт.
Эки структуралык факт келип чыгат. Биринчиден, сыяктуу өсөт, ал эми туруктуу, ошондуктан : чыдамкайлыктын катуу мөөнөтү бар, жана эскириш таймери эвристика эмес — эки ийриликтин кесилиш чекити: сиздин баалаган (кем-кем ичке ичине конкав, алдыңыздагы кезек кургаган сайын) сиздин (өсүп бараткан) каршы. Экинчиден, соода жасаган комиссия деңгээлиңиз тепкичти дене жактан жылдырат. Taker комиссияларын кыскарткан деңгээл жогорулатуу оптималдуу тактикаңызды агрессивдүүрөөк кылат — көпчүлүк адамдар муну VIP кайра деңгээлдешкенден кийин аткаруу статистикасы өзгөргөндө гана табышат.
Cont менен Kukanov, "Optimal order placement in limit order markets" (Quantitative Finance 17(1), 2017; arXiv 2012), муну бир мезгилде так далилдейт: рынок жана лимиттик ордерлер ортосунда бөлүнгөн (бир же бир нече аянтта) p` туруктуу эмес — ал кезек позициясы менен агуу ыргагынын функциясы, ошондуктан тактика катмары кезек позиция баалоочтусун биринчи класстагы кириш катары керектеши керек.

Шашылыштык параметри бул бүткүл тепкичти кыскартат. Планировщиктен келген жогорку мүнөздүү убакыт кыска дегенди билдирет: терезелер кичирейет, көтөрүлөт, жана кыймылдаткыч түз эле кесип өтүүгө өтөт — туура, себеби планировщик мурунтан эле каражат тобокелдиги комиссия үнөмдөөдөн үстөм экенин жарыялаган. Төмөн пассивдүү фазаны созот. Тактика катмары эч качан рыноктун өз көз карашынан шашылыштыкты кайра чыгарбашы керек; бул планировщиктин иши, жана аны кайталоо бири-бирине каршы келген эки контроллерди жаратат.
Кезек позицияңызды өрттөбөй кайра баа коюу
Бир жолу коюлганда, котировка жылып кетет. Аны наивдик түрдө кубалоо — жокко чыгаруу, жаңы touch деңгээлинде кайра коюу, кайталоо — тактика кыймылдаткычтары коюуну актаган ошол эле аткаруу ыктымалдуулугун унчукпай эле кантип бузарын көрсөтөт. Кезек позициясы өлчөнүүчү акча наркы бар актив (Moallemi менен Yuan, 2016, ага баа коюшкан: суюк FIFO китептериндеги кезектин алдындагы позициялар спреддин олуттуу бөлүгүнө наркта турат), жана ар бир кайра баа коюу чечими соода: учурдагы кезек позицияңызды сатуу, башка баа деңгээлинин артында жаңысын сатып алуу. Бул соода жаңы деңгээлдин наркы эскисинин наркынан жана билдирүү чыгымдарынан ашканда гана баалуу. Бул үчүн ар бир аянттын amend'и сиздин кезектеги ордуңузга чын мени эмне кыларын билиш керек — жана жооп абдан бирдей эмес.
CME Globex эң таза семантиканы документтейт: ордер санын азайтуу убакыт артыкчылыгын сактайт; санды көбөйтүү же баасын өзгөртүү сизди кезектин артына жиберет. Бул эталондук модель — сан-төмөндөө акысыз, калгандын баары кайра кезекке коюу.
Binance spot тарыхта POST /api/v3/order/cancelReplace гана сунуштаган — атомдук көрүнгөн, бирок ачык эле транзакциялык эмес жокко чыгаруу-плюс-жаңы. Эки режим: STOP_ON_FAILURE (демейки — жокко чыгаруу ишке ашпаса, жаңы ордер болбойт) жана ALLOW_FAILURE (жокко чыгаруу ишке ашпаса да жаңы ордерди коет — салам, кокустан кош экспозиция). Операция жарым-жартылай ийгиликтүү болушу мүмкүн, HTTP 409 менен белгиленет, ошондуктан OMS'иңиз эки бутту тең өз алдынча тактап чыгышы керек; жана жаңы ордер ар дайым жаңы кезек өмүрүн баштайт. Андан кийин 2025-жылы Binance Order Amend Keep Priority (PUT /api/v3/order/amend/keepPriority) чыгарды: санды жайында азайтуу, убакыт артыкчылыгын сактоо, нөл аткарылбаган ордер саны наркында. CME семантикасы, он беш жылдан кийин — жана санды азайтуу жарымы гана.
Binance USDT-M фьючерстери чыныгы модификация эндпоинтине ээ (PUT /fapi/v1/order), бирок майда шрифтти окуп көрүңүз: LIMIT ордерлер гана, price жана quantity экөө тең жиберилиши керек, жана "модификацияланган ордерлер match кезегинде кайра иреттелет" — документтер санды азайтуунун таза учуру үчүн да артыкчылыкты сактоону убада кылбайт. Ар бир фьючерс модификациясын бир билдирүү менен ордер ID'син сактаган, бирок кезекти кайра баштаган нерсе катары карагыла. Билүүгө татыктуу бир курч четка: GTX (post-only) ордерди кесип өтчү баага модификациялоо ордерди жокко чыгарат, четке кагылып-сакталбайт — муну текшербеген peg ишке ашыруу мезгил-мезгил өзүн жок кылып коюшу мүмкүн.
OKX POST /api/v5/trade/amend-order көрсөтөт (newPx, newSz, amend ишке ашпаса автоматтык жокко чыгаруу үчүн cxlOnFail менен). Бул бир билдирүү, ордер ID'син сактайт жана асинхрондук түрдө тастыкталат — sCode = 0 "суроо кабыл алынды" дегенди билдирет, ал эми чыныгы натыйжа ордерлер каналында amendResult катары келет. Ачык документтер ачык эле аныкталбаган нерсе — кезек артыкчылыгынын жүрүм-туруму. Бул документация боштугун оптимизм менен толтурбаңыз. Өлчөңүз: тынч деңгээлде эки маркер ордерин коюп, биринин өлчөмүн азайтуу менен amend жасап, бир нече жүз аракетте кимиси биринчи аткарылганын көрүңүз. Бул дайынга ээ болгонго чейин, консервативдүү болжолдоо — кандай баа өзгөрүшү сизди бардык жерде кайра кезекке коет, сан-азайтуу артыкчылыкты ачык документтелген жерде гана сактайт — жалгыз коргоого татыктуу болжолдоо.

Саясаттын кесепеттери:
- Гистерезис, пеглөө эмес. Touch деңгээли сиздин тыныгуучу баагыздан тиктен ашык жылганда гана кайра баа коюңуз. Тилкенин ичинде жылыш — шаруу, жана кезек позицияңыз бир тик баа жакшыртуудан көбүрөөк наркта. Акылга сыярлык баштапкы тилке — кыска мөөнөттүү волатилдикке масштабдалган 1-3 тик; туура тилке чектик кайра баа коюуну EV-нейтралдуу кылат: , мында — Moallemi-Yuan стилиндеги кезек наркы жана — сиздин ставка-чек көлөкө баасы. Amend/cancel-replace операциялары эки Binance аянтында тең ордер-ставка бюджетин керектейт; ар бир тикти пегдеген тактика кыймылдаткычы системаңыздын калган бөлүгүн билдирүү сыйымдуулугунан ачкачыл калтырат.
- Amend менен азайтыңыз, эч качан cancel-repost менен азайтпаңыз. Планировщик слайс бюджетин учуп бара жатканда кыскартканда (POV планировщиги көлөмдүн кургап баратканын көргөндө, же жарым-жартылай аткаруудан кийин Almgren-Chriss кайра чечими), артыкчылыкты сактоочу жолду болгон жерде колдонуңуз. Бул бүткүл катмардагы жалгыз бекер тамак.
- Кайра баа коюуда асимметриялуу шашылыштык. Рынокко карай (кубалап) кайра баа коюу кезегиңизди начаррак баада баштайт — ал эскалация логикасынан, өз таймеринен гана иштеши керек. Тескери багытта (рынок өзү сизге келгенде) кайра баа коюу белек — аны тек гана пассивдүү тилке аркылуу алыңыз, себеби учурдагы деңгээлиңиз баары бир аткарыла турат.
Iceberg'дер, көрсөтүлүүчү өлчөм жана максатыңызды эмне ачат
Көрсөтүлүүчү өлчөм — үчүнчү чечим, жана бул чыныгы эки жактуу соода, бекер жашырын баскыч эмес. Эмпирикалык дайын:
- Frey менен Sandås ("The Impact of Iceberg Orders in Limit Order Books", 2009-жылдагы иштиктик кагаз; Quarterly Journal of Finance, 2017), Xetra дайындарында: iceberg ордерлери жиберилген көлөмдүн 9.3%ин жана аткарылган көлөмдүн 15.9%ин ташыган, кадимки лимиттик ордерлердин 12-20 эсе өлчөмүндө жүргүзүлгөн, жана — эң башкысы — башка катышуучулар iceberg'ди аныктаганда, алар дал келген рыноктук ордерлер менен жооп кайтарышат. Жашырылган өлчөм, бир жолу чыгарылса, агымды тартат: жашыруун ликвиддүүлүк издөө эки багытта тең иштейт.
- Bessembinder, Panayides жана Venkataraman ("Hidden liquidity: an analysis of order exposure strategies in electronic stock markets", JFE 94(3), 2009), Euronext Paris'те, мында жашырын ордерлер үлгүнүн 44%ин түзгөн: жашыруу аткаруу жетишпестигин төмөндөтөт, бирок толук аткаруу ыктымалдуулугун да төмөндөтөт жана аяктоо убактысын узартат. Ачыктыгы аткарылган ордерлерди сатып алат жана аларды импакт менен төлөйт; тандоо теория болжолдогондой так колдонулат — агрессивдүү ордерлер контрагенттерди тартуу үчүн ачылат, чыдамкай өлчөм жашынат.
- Esser менен Mönch ("The navigation of an iceberg", Finance Research Letters 4(2), 2007) чоку өлчөмүн оптимизация катары карашат: чоңураак көрсөтүү тезирээк аткарылат, кичине көрсөтүү азыраак сыздырат, жана оптимум ички.
Механика биринчи, себеби алар оптимизацияны байлайт: түпнуска iceberg'ди колдогон дээрлик ар бир аянтта (Binance spot icebergQty аркылуу, OKX анын iceberg алгоритмдик ордерлери аркылуу), көрсөтүлгөн чокунун ар бир толтуруусу ошол баада кезектин артына кирет. Демек, iceberg — "жашырын өлчөмү бар бир ордер" эмес — бул автоматтык түрдө аткарылган, ар бири толук кезек-күтүүнү төлөгөн чакан ордерлердин ырааттуулугу. Жогорудагы комиссия рентабелдик чегинде бул маанилүү: чоку боюнча иштеги $p` баштапкы позицияңыздыкы эмес, кезектин артындагы аткаруу ыктымалдуулугу. Терең кезектер кичине чокуларды эки жолу жазалайт — жайыраак аткаруулар жана көбүрөөк толтуруулар терс тандоо түрүндө.
Андан кийин сигналдоо көйгөйү. Frey менен Sandås'тын өз аныктоо ыкмасы — эскертүү окуясы: алардын жыштыкчыл детектору эң көп жолуккан эки ишке ашыруу жалкоолук үлгүсүнө таянат — туруктуу чоку өлчөмү жана аткарылган соода менен так бирдей убакыт белгиси менен толтуруу. Ошол детекторду иштеткен кайсы гана катышуучу болбосун (жана крипто аянттарда, көбү иштетет — биржанын өз match метадайындары жайгашкан агым үчүн муну дагы деле жеңилдетет) бир нече толтуруудан жашырын өлчөмүңүздү кайра курат. Мен бул чөйрөдө көбүрөөк кездеше турган сыздоо каналдары:
- Туруктуу же тегерек көрсөтүлүүчү өлчөмдөр (0.5 BTC, ар дайым).
- Толук чоку аткарылгандан кийин дароо, детерминдик толтуруу — бир эле убакыт белгиси сигнатурасы.
- Детерминдик эскалация таймерлери: ар бир слайстын так 30 секундасында кесип өтүү, жана тасма метроном көрсөтөт.
- Туруктуу кайра баа коюу кечигиши жана тилке — amend ыргагыңыз ордер өлчөмдөрүңүз сыяктуу эле идентификациялоочу манжа изи, бул санарип манжа изи жана трейдерди идентификациялоо темасы.
Аныкталуунун баасы гипотетикалык эмес. Van Kervel менен Menkveld ("High-frequency trading around large institutional orders", Journal of Finance 74(3), 2019) HFT'лер алгач ири институционалдык метаордерлерге каршы жантаярын көрсөтөт — пассивдүү тактикаңыз керектеген ликвиддүүлүктү берип — андан кийин анын туруктуулугу маалымат ачканда ордер менен бирге соодалоого өтүшөт, калдыкты back-run кылып ата-ордердин чыгымын олуттуу жогорулатышат. Алардын институттары спекулятивдүү пайданы аныктоо тобокелдигине каршы салмактап жооп беришкен. Тактика катмарыңыз дал ошол салмактоо ишке ашырылган жер: көрсөтүлүүчү өлчөмдү рандомдоштуруу (волатилдикке масштабдалган базанын 30-70% бирдей жетиштүү иштейт), ар бир таймерди ±20-30% житерлеп, кээде толтурууну күттүрүп, жана эч качан эки чакан ордерге бир өлчөм, бир таймер фазасы жана бир кечигиш профилин бербеңиз. Булардын эч бирөө өлчөнүүчү аткаруу сапатына чыгым алып келбейт; алардын баары агымыңызга детектор ыңгайлаштырган каалагандын үнсүздүк деңгээлин жогорулатат.
Минималдуу тактика кыймылдаткычы
Жогорудагы бүткүл катмар слайс боюнча чакан абал машинасына кыскарат: IDLE → POSTED → (кайра баа коюу цикли) → CROSSING → DONE, кирүүдө рентабелдик чек, коюлган кезде гистерезис тилкеси жана дедлайн эскалациясы менен. Төмөндөгү версия атайын минималдуу — аянт адаптерлери жок, iceberg башкаруусу жок — бирок ал окуяга негизделген жана жанаша эффектсиз, ошондуктан ал аткаруу симуляция тепкичинин rung-4 кезекке сезгич симуляторуна түз түшөт: симулятор on_tick/on_fill чакырат жана аракеттерди мындай чечмелейт: post → GTX/post-only, cross → IOC, cancel_replace/amend_down → жогорудагы матрицадан аянттын семантикасы.
import math
from dataclasses import dataclass
from enum import Enum, auto
class State(Enum):
IDLE = auto(); POSTED = auto(); CROSSING = auto(); DONE = auto()
@dataclass
class Fees:
maker: float # $ per unit; negative = rebate
taker: float # $ per unit
@dataclass
class Cfg:
tick: float
sigma_1s: float # $ per sqrt(second), from your live vol estimator
adverse_frac: float = 0.6 # E[adverse move | no fill] ~ 0.6 * sigma; calibrate
reprice_band: float = 2.0 # ticks of touch drift tolerated before repricing
escalate_frac: float = 0.7 # cross the remainder at this fraction of the window
class SliceTactic:
"""One instance per scheduler slice. Drive it from a fill simulator or OMS."""
def __init__(self, side: str, qty: float, window: float, fees: Fees, cfg: Cfg):
self.side, self.qty, self.window = side, qty, window
self.fees, self.cfg = fees, cfg
self.filled, self.state, self.px, self.t0 = 0.0, State.IDLE, None, None
def p_star(self, spread: float, tau: float) -> float:
"""Break-even fill probability for posting over a window tau."""
delta = self.cfg.adverse_frac * self.cfg.sigma_1s * math.sqrt(tau)
prize = spread + self.fees.taker - self.fees.maker
return delta / (prize + delta)
def p_fill(self, queue_ahead: float, drain: float, tau: float) -> float:
"""Crude queue-drain estimate; swap in your calibrated fill model."""
if drain <= 0: return 0.0
return min(1.0, drain * tau / max(queue_ahead + self.qty, 1e-9))
def on_tick(self, t, bid, ask, queue_ahead, drain):
if self.state == State.DONE: return []
if self.t0 is None: self.t0 = t
left = self.qty - self.filled
elapsed, remain = t - self.t0, self.window - (t - self.t0)
touch = bid if self.side == "buy" else ask
if elapsed >= self.cfg.escalate_frac * self.window and left > 0:
self.state = State.CROSSING # deadline: pay up, finish
return [("cross", left)]
if self.state == State.IDLE:
if self.p_fill(queue_ahead, drain, remain) >= self.p_star(ask - bid, remain):
self.state, self.px = State.POSTED, touch
return [("post", touch, left)] # GTX / post-only
self.state = State.CROSSING # posting is -EV here
return [("cross", left)]
if self.state == State.POSTED:
if abs(touch - self.px) / self.cfg.tick > self.cfg.reprice_band:
self.px = touch # hysteresis breached:
return [("cancel_replace", touch)] # accept the queue reset
return []
def on_fill(self, t, fill_qty):
self.filled += fill_qty
if self.filled >= self.qty - 1e-9:
self.state = State.DONE
return [("slice_done", self.filled)]
return []
def on_budget_cut(self, new_qty):
"""Scheduler revised the slice down: amend-down keeps queue priority
where documented (CME, Binance spot amend/keepPriority)."""
self.qty = new_qty
left = new_qty - self.filled
return [("amend_down", left)] if left > 0 else [("cancel",)]
Үч чынчыл эскертүү. Бул жердеги p_fill — коргоочу катмар катары гана колдонулган болжолдоо; production'до ал fill-simulation макаласындагы бөлмөлөнгөн, тирүү калибрленген модель болушу керек, себеби бүткүл post/cross чеги ошол баалоо канчалык жакшы болсо ошончо жакшы. adverse_frac макаладагы эң кыйын чоңдукту жашырат ( режимге көз каранды жана коюу эң азгырылуучу учурда так секирет); аны өз аткарылбаган натыйжаларыңыздан, волатилдик режими боюнча бөлмөлөп баалаңыз. Жана жогорудагы кыймылдаткыч шартсыз cancel-replace аркылуу кайра баа коет — аянтка сезгич версия сан-азайтуу өзгөрүүлөрүн артыкчылыкты сактоочу жол аркылуу багыттап, ар бир аракетти билдирүү бюджетине карата эсептеши керек.
Каалаган параметрге ишенимиңизди коюудан мурун аны replay тасмасына каршы симулятордо иштетиңиз. Маанилүү эксперимент: планировщикти бекитип, escalate_frac менен reprice_band'ды сыдыруу, жана слайс жетишпестигин болжолдогон модель чыгымына каршы графикке түшүрүү. Беттин үстү — жакынкы-оптималдуу параметрлердин кенен платосу — жана эки кыя бар: эскалацияны өтө кеч кылуу (аткарылбаган калдыктар моментумга кесилип өтөт) жана өтө кызыл-тынымсыз кайра баа коюу (бардык кезек наркы өрттөлөт). Production муну сиз үчүн тапканга чейин кыяларыңыз кайда экенин билгиңиз келет.
Эмнени алып кетүү керек
- Эки катмар, бир келишим. Планировщик канчаны жана качанга чейин чечет; тактика кантип чечет. Интерфейс — ылдый бюджет, терезе, шашылыштык; жогору аткарылган ордерлер жана интервал келүүсүнө карата слайс жетишпестиги. Эгер жетишпестикти катмарга байлай албасаңыз, экөөнү тең тууноо мүмкүн эмес.
- Post/cross чеги — арифметика, интуиция эмес. болгондо гана коюңуз, мында . Тыгыз крипто китептеринде байге — комиссия айырмасы, ошондуктан комиссия деңгээлиңиз тактикаңызды белгилейт — ар бир кайра деңгээлдешүүдөн кийин тепкичти кайра тууноо.
- Эскириш таймерлери эки ийриликтин кесилиш чекити — толуп бараткан аткаруу ыктымалдуулугу өсүп бараткан терс тандоого каршы — фольклордук туруктуулар эмес.
- Кезек позициясы актив; аны сарптаардан мурун ар бир аянттын amend семантикасын билиңиз. CME: сан-азайтуу артыкчылыкты сактайт. Binance spot: cancelReplace ар дайым кайра кезекке коет, 2025-жылдын amend-keepPriority'си санды кыскартуу үчүн аны сактайт. Binance futures: ар бир модификация кайра кезекке коет. OKX: документтелбеген — өлчөңүз, ошол арада эң жаманды божомолдоңуз.
- Iceberg'дер — кезектин артындагы ордерлердин ырааттуулугу, жана жалкоо жасалгандар окулат. Туруктуу чокулар жана бирдей убакыт белгиси менен толтуруулар — жарыяланган аныктоо сигнатурасы; өлчөмдөрдү жана таймерлерди рандомдоштуруңуз же back-run болууга даяр болуңуз.
- Абал машинасын алгач аткаруу симуляторуңузга жиберигиле. Тактика катмары — backtest менен production эң катуу ажырашкан стектин бөлүгү — так ошондуктан ал кийин тагылчу нерсе эмес, симулятордун ичинде болушу керек.
Пайдалуу шилтемелер
- Harris, L. — Optimal Dynamic Order Submission Strategies in Some Stylized Trading Problems, Financial Markets, Institutions & Instruments 7(2), 1-76 (1998)
- Cont, R., Kukanov, A. — Optimal Order Placement in Limit Order Markets, Quantitative Finance 17(1), 21-39 (2017)
- Frey, S., Sandås, P. — The Impact of Iceberg Orders in Limit Order Books (2009)
- Bessembinder, H., Panayides, M., Venkataraman, K. — Hidden Liquidity: An Analysis of Order Exposure Strategies in Electronic Stock Markets, Journal of Financial Economics 94(3), 361-383 (2009)
- van Kervel, V., Menkveld, A. — High-Frequency Trading around Large Institutional Orders, Journal of Finance 74(3), 1091-1137 (2019)
- Moallemi, C., Yuan, K. — A Model for Queue Position Valuation in a Limit Order Book (2016)
- Lehalle, C.-A. — Market Microstructure Knowledge Needed for Controlling an Intra-Day Trading Process (2011)
- Binance Spot API — Order Amend Keep Priority
- Binance Spot API — Trading endpoints (cancelReplace semantics)
- Binance USDT-M Futures API — Modify Order
- OKX API v5 — Amend order
- CME Group — Order Functionalities (modification and time priority)
Citation
@article{soloviov2026childordertactics,
author = {Soloviov, Eugen},
title = {Inside the slice: child-order tactics between your scheduler and the exchange},
year = {2026},
url = {https://marketmaker.cc/blog/child-order-execution-tactics},
description = {The tactics layer between execution schedulers and the exchange: passive-then-aggressive escalation with maker-taker break-even math, amend vs cancel-replace queue semantics across venues, iceberg anti-signaling, and a per-slice Python state machine for fill simulators.}
}
Authors
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.