From 73ae5aa885262c97924ddd2605edbcc9b139458c Mon Sep 17 00:00:00 2001 From: hermes Date: Tue, 29 Sep 2026 00:22:52 +0300 Subject: [PATCH] =?UTF-8?q?costs-and-execution:=20=D0=BB=D0=B8=D1=82=D0=B5?= =?UTF-8?q?=D1=80=D0=B0=D1=82=D1=83=D1=80=D0=B0=20+=20=D0=B6=D0=B8=D0=B2?= =?UTF-8?q?=D1=8B=D0=B5=20=D0=B7=D0=B0=D0=BC=D0=B5=D1=80=D1=8B=20=D0=B8?= =?UTF-8?q?=D0=B7=D0=B4=D0=B5=D1=80=D0=B6=D0=B5=D0=BA=20=D0=B8=20=D0=B8?= =?UTF-8?q?=D1=81=D0=BF=D0=BE=D0=BB=D0=BD=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=BD?= =?UTF-8?q?=D0=B0=205=D0=BC=20(Bybit/KuCoin)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- directions/costs-and-execution.json | 242 ++++++++++ directions/costs-and-execution.md | 242 ++++++++++ sources/live_execution_snapshot.json | 674 +++++++++++++++++++++++++++ 3 files changed, 1158 insertions(+) create mode 100644 directions/costs-and-execution.json create mode 100644 directions/costs-and-execution.md diff --git a/directions/costs-and-execution.json b/directions/costs-and-execution.json new file mode 100644 index 0000000..942dd7d --- /dev/null +++ b/directions/costs-and-execution.json @@ -0,0 +1,242 @@ +[ + { + "title": "Bybit Trading Fee Structure (Perpetual & Futures, VIP0)", + "authors": "Bybit (help center)", + "year": 2026, + "url": "https://www.bybit.com/en/help-center/article/Trading-Fee-Structure", + "doi": null, + "horizon": "n/a (тарифная политика)", + "data": "Живая страница (Last updated 2026-09-02)", + "costs_assumed": "сами издержки", + "key_numbers": "VIP0 perp: taker 0.0550%, maker 0.0200%; VIP1 (≥$1M/30д или баланс $1.5M): 0.0400/0.0180%; VIP5: 0.0320/0.0100%; Supreme VIP: 0.0300/0.0000%; spot VIP0 0.1000/0.1000%; Pre-Market perp VIP0 0.0400/0.1000%", + "verdict": "Подтверждает наши факты по Bybit (0.055/0.02). Регион может менять фактические ставки — проверять My Fee Rate.", + "implementable": true, + "source_type": "exchange_doc_live", + "access_date": "2026-09-28", + "read_fulltext": true + }, + { + "title": "Bybit Trading Fees (product fee table)", + "authors": "Bybit", + "year": 2026, + "url": "https://www.bybit.com/en/announcement-info/fee-rate/", + "doi": null, + "horizon": "n/a", + "data": "Живая страница", + "costs_assumed": "сами издержки", + "key_numbers": "Non-VIP спот 0.1000%/0.1000% (MNT-дисконт 0.0750%); таблица Pro/MM по тирам", + "verdict": "Второй независимый живой источник по тарифам Bybit; совпадает с №1.", + "implementable": true, + "source_type": "exchange_doc_live", + "access_date": "2026-09-28", + "read_fulltext": true + }, + { + "title": "Bybit Market Maker Incentive Program", + "authors": "Bybit", + "year": 2026, + "url": "https://bybitglobal.com/en-US/help-center/bybitHC_Article?id=000001586", + "doi": null, + "horizon": "n/a (лимиты бонусов)", + "data": "Живая страница, Last updated 2026-09-27", + "costs_assumed": "реебаты", + "key_numbers": "Спот MM1: 30д объём >$25M, ребейт -0.0010%; MM2 maker-share ≥0.1% -> -0.0050%; MM3 ≥1% -> -0.0075%. Перпы (Group 1 = BTCUSDT/ETHUSDT/SOLUSDT/XRPUSDT и др.): MM1 -0.0010%, MM2 -0.0025%, MM3 -0.0040%; требования по weighted maker share ≥0.03%/0.50%/1%; заявка через institutional_services@bybit.com; taker — по Pro-тиру", + "verdict": "Ключевое доказательство недостижимости ребейтов при $1000: пороги по доле рынка/объёму, а величина ребейта всего 0.1–0.4 б.п. за ногу (0.2–0.8 б.п. на круг) — меньше измеренного adverse selection (0.84 б.п. за ногу).", + "implementable": false, + "source_type": "exchange_doc_live", + "access_date": "2026-09-28", + "read_fulltext": true + }, + { + "title": "Bybit REST API v5 — собственные замеры (tickers, orderbook, instruments-info, kline)", + "authors": "наш замер (Hermes subagent)", + "year": 2026, + "url": "https://api.bybit.com/v5/market/tickers|orderbook|instruments-info|kline", + "doi": null, + "horizon": "5m (kline) + снапшот стакана", + "data": "784 USDT-перпа, top-30/top-100 по 24ч обороту; 10 000 5м-баров BTC/SOL/DOGE (2026-08-25..09-28); обход книги 200 уровней", + "costs_assumed": "n/a (измерение)", + "key_numbers": "Спред top-30: min 0.012 (BTC), медиана 1.008, max 4.393 б.п.; top-100 медиана 1.574 б.п.; тик: медиана 0.832 б.п., max 4.405 (XLM), 12/30 символов >1 б.п.; slippage market-ордера $1000: BTC 0.006, ETH 0.019, SOL 0.421, XRP 0.335, QNT 7.903 б.п.; minNotionalValue 5 USDT; qtyStep-нотионал: BTC $83.5, ETH $26.8, SOL $11.9, LTC $6.9, XRP $0.15; 5м: mean|ret| BTC 7.53 / SOL 13.47 / DOGE 15.21 б.п., range 14.58/26.56/29.58 б.п., P(|ret|≥11 б.п.) = 21.7%/44.0%/47.9%, P(range≥23 б.п.) = 14.8%/46.4%/51.2%", + "verdict": "Живые данные: спред и проскальзывание на $1000 ничтожны (<0.5 б.п. на топ-парах) => узкое место — комиссии и adverse selection, а не «1 тик». Гранулярность позиции BTC = 8.4% капитала при $1000.", + "implementable": true, + "source_type": "our_live_measurement", + "access_date": "2026-09-28", + "read_fulltext": true + }, + { + "title": "KuCoin Futures API — собственные замеры (contracts/active, ticker)", + "authors": "наш замер", + "year": 2026, + "url": "https://api-futures.kucoin.com/api/v1/contracts/active", + "doi": null, + "horizon": "n/a (спецификации)", + "data": "678 открытых USDT-маржинальных контрактов", + "costs_assumed": "сами издержки", + "key_numbers": "Все 678 контрактов: makerFeeRate 0.0002 (0.02%), takerFeeRate 0.0006 (0.06%) => 0.12% на круг тейкером и 0.04% мейкером (дороже Bybit по тейкеру); минимальный ордер = 1 контракт: XBTUSDTM $83.5 (multiplier 0.001), ETHUSDTM $26.9, SOLUSDTM $11.9, XRPUSDTM $14.9, DOGEUSDTM $9.4, ADAUSDTM $2.5", + "verdict": "KuCoin хуже Bybit по тейкеру на 10% на круг; мелкая гранулярность на альтах (ADA $2.5) полезна при $1000.", + "implementable": true, + "source_type": "our_live_measurement", + "access_date": "2026-09-28", + "read_fulltext": true + }, + { + "title": "KuCoin Futures Trading Rules (страница-справочник)", + "authors": "KuCoin", + "year": 2026, + "url": "https://www.kucoin.com/trading-info/futures/futures-details", + "doi": null, + "horizon": "n/a", + "data": "не прочитано", + "costs_assumed": "n/a", + "key_numbers": "не извлекалось (веб-экстрактор: Rate Limit Exceeded)", + "verdict": "НЕ прочитано. Комиссии KuCoin взяты из живого API (см. выше), а не со страницы.", + "implementable": false, + "source_type": "exchange_doc_unread", + "access_date": "2026-09-28", + "read_fulltext": false + }, + { + "title": "The Market Maker's Dilemma: Navigating the Fill Probability vs. Post-Fill Returns Trade-Off", + "authors": "Jakob Albers; Mihai Cucuringu; Sam Howison; Alexander Y. Shestopaloff", + "year": 2025, + "url": "https://arxiv.org/html/2502.18625v2", + "doi": "10.48550/arXiv.2502.18625", + "horizon": "маркаут 1с; стратегия 5с", + "data": "232 897 минимальных мейкер-заявок за неделю, Binance USDT-перп BTC (авг 2024), без сигнального отбора, политика без отмен", + "costs_assumed": "лучший тир Binance: taker 1.5 б.п., maker -0.5 б.п. (ребейт); тик 0.1 USD ≈0.03 б.п.; спред ~1 тик", + "key_numbers": "Fill prob 50% (no-cancel, спред 1 тик, сбалансированные очереди) против <2% у реальных участников (Lokin & Yu 2024); 95% мейкер-заявок отменяются (Gould 2010; Brogaard 2014); маркаут 5с: случайные заявки -0.74 б.п. (σ1.55, fill 88%); front-of-queue -0.058 против back-of-queue -0.775 б.п.; другие режимы -0.296/-1.157 и -0.539/-0.763 б.п.; наивный balanced-inventory MM: -0.44 б.п. на круг (σ2.73, 15 380 филлов/день) УЖЕ с ребейтом +1 б.п.; лучшая contrarian-стратегия +3.02 б.п. (порог 0.5, 9 ордеров/день, fill 87.5%) и +0.76 б.п. (23 ордера/день)", + "verdict": "Главный источник по maker-only: наивное MM убыточно даже на лучших тарифах и с ребейтом; зарабатывает только адресный contrarian-отбор (десятки сделок в день).", + "implementable": true, + "source_type": "peer_reviewed_preprint", + "access_date": "2026-09-28", + "read_fulltext": true + }, + { + "title": "Quoting the Touch Does Not Pay Its Adverse Selection (true-aggressor-signed entry-markout decomposition)", + "authors": "Daru Finance (research, SSRN)", + "year": 2026, + "url": "https://daru.finance/research/crypto-adverse-selection", + "doi": null, + "horizon": "маркаут 10с и 60с (одна нога круга)", + "data": "Bybit, Binance USD-M, Hyperliquid; 9 983 coin-day, 125.8 млн симулированных филлов; котирование в конец очереди", + "costs_assumed": "комиссии и ребейты НЕ включены; ребейт не добавляется", + "key_numbers": "Пойманный пол-спреда +0.21 б.п. (Bybit) / +0.46 (Binance) / +0.56 (HL); дрейф за 10с -1.04 / -0.85 / -1.02 б.п.; НЕТТО -0.84 / -0.39 / -0.46 б.п. до комиссий (ДИ месяц×монета не содержат нуль); Bybit BTC: capture 0.0124 б.п. на 34.5% филлов, adverse/capture 50.2; на CME (companion) +0.654 против -0.661 => ≈0; HL: наблюдённые мейкер-филлы BTC -0.48 б.п. на 5с, а первое место в очереди +0.32 б.п.", + "verdict": "Эмпирическое доказательство, что спред не покрывает adverse selection в крипте (до комиссий). Даёт нам величину 0.84 б.п./нога для модели maker-круга и ~0.8 б.п. ценности первой позиции в очереди. Оговорки: last-in-queue пессимистично, exit/инвентарь не моделируются.", + "implementable": true, + "source_type": "industry_research_ssrn", + "access_date": "2026-09-28", + "read_fulltext": true + }, + { + "title": "Quantifying the High-Frequency Trading Arms Race", + "authors": "Matteo Aquilina; Eric Budish; Peter O'Neill", + "year": 2022, + "url": "https://bfi.uchicago.edu/wp-content/uploads/BFI_WP_202086.pdf", + "doi": "10.1093/qje/qjac013", + "horizon": "микросекунды (гонки)", + "data": "сообщения Лондонской фондовой биржи, 2016", + "costs_assumed": "измеряет adverse selection/latency tax", + "key_numbers": "~71 000 гонок/день; длительность гонки: мода 5-10 µs, медиана 16 µs, средняя 79 µs; минимальное наблюдённое время реакции 29 µs; медианная фактическая задержка ~150 µs (p90 ~300 µs); latency-arbitrage налог 0.42 б.п. объёма (0.53 б.п. вне гонок), эффективный спред ~3 б.п.; устранение гонок снизило бы стоимость ликвидности на 17%; ~$5 млрд/год в акциях", + "verdict": "Показывает масштаб времени, на котором распределяется плата за первое место в очереди. Розничный путь (десятки–сотни мс) неконкурентоспособен; «исполнение по 1 тику» в бэктесте — идеализация.", + "implementable": false, + "source_type": "peer_reviewed", + "access_date": "2026-09-28", + "read_fulltext": true + }, + { + "title": "Empirical Limitations on High Frequency Trading Profitability", + "authors": "Michael Kearns; Alex Kulesza; Yuriy Nevmyvaka", + "year": 2010, + "url": "https://www.cis.upenn.edu/~mkearns/papers/hft.pdf", + "doi": null, + "horizon": "10 мс – 10 сек (удержание)", + "data": "19 ликвидных акций NASDAQ 2008 (полные книги) + TAQ по 6 279 акциям", + "costs_assumed": "верхняя граница считается БЕЗ комиссий и БЕЗ латентности; отдельно показан эффект комиссий 1.2 цента на акцию (две ноги)", + "key_numbers": "Omniscient-агрессор: $3.4 млрд за 2008 на 19 бумагах при 10с и лишь $62 тыс. при 10 мс; экстраполяция $21.3 млрд (10с) -> $21 млн (10 мс); для $3.4 млрд нужно 195 млрд акций, комиссии при 1.2 цента = $2.3 млрд (2/3 «прибыли»); авторы считают реализуемыми ≤10% возможностей (=> граница $2.1 млрд)", + "verdict": "Каноническая рамка «горизонт против издержек»: чем короче удержание, тем больше доступного хода уходит на издержки. Обосновывает наш вывод про долю издержек в амплитуде (11/22.8 б.п. = 48%).", + "implementable": true, + "source_type": "peer_reviewed", + "access_date": "2026-09-28", + "read_fulltext": true + }, + { + "title": "The Deflated Sharpe Ratio: Correcting for Selection Bias, Backtest Overfitting and Non-Normality", + "authors": "David H. Bailey; Marcos López de Prado", + "year": 2014, + "url": "https://www.davidhbailey.com/dhbpapers/deflated-sharpe.pdf", + "doi": "10.3905/jpm.2014.40.5.094", + "horizon": "n/a (методология бэктеста)", + "data": "методологическая работа + симуляции", + "costs_assumed": "n/a", + "key_numbers": "E[max Sharpe] растёт с числом независимых испытаний N; DSR корректирует selection bias и ненормальность; пример в работе: после N=88 независимых испытаний наблюдаемый Sharpe объясняется случаем; рекомендация — планировать число испытаний заранее", + "verdict": "Обязательный фильтр для наших 5м-бэктестов: любой эдж, найденный перебором, дефлировать на число попыток; иначе оптимизация «1 тика» и порогов фитит шум.", + "implementable": true, + "source_type": "peer_reviewed", + "access_date": "2026-09-28", + "read_fulltext": true + }, + { + "title": "Technical analysis in cryptocurrency markets: Do transaction costs and bubbles matter?", + "authors": "Daniel Svogun; Walter Bazán-Palomino", + "year": 2022, + "url": "https://faculty.up.edu.pe/en/publications/technical-analysis-in-cryptocurrency-markets-do-transaction-costs/", + "doi": "10.1016/j.intfin.2022.101601", + "horizon": "дневной и 1-минутный", + "data": "69 правил MA/breakout, крипто 2016–2021, с учётом и без учёта издержек", + "costs_assumed": "транзакционные издержки включаются/исключаются явно (величина в платном полном тексте)", + "key_numbers": "Пузырьковые периоды повышают шанс обыграть buy-and-hold для ETH/XRP/LTC, но не для BTC/BCH; издержки снижают этот шанс для XRP и LTC, но ПОВЫШАЮТ для BTC и ETH", + "verdict": "НЕ подтверждает упрощённый тезис «издержки убивают всю крипто-ТА» — результат смешанный. Прочитан только абстракт; полный текст платный.", + "implementable": false, + "source_type": "peer_reviewed_abstract_only", + "access_date": "2026-09-28", + "read_fulltext": false + }, + { + "title": "Crypto Exchange Liquidity Report — Jul 2026", + "authors": "TokenInsight Research", + "year": 2026, + "url": "https://s2.tokeninsight.com/static/research/file/levelPdf/Exchange_Report_Liquidity_July.pdf", + "doi": null, + "horizon": "n/a (исполнение)", + "data": "снапшоты стаканов 9 бирж, 15.06–14.07.2026, BTC/ETH (спот и фьючерсы) + XAU/XAG", + "costs_assumed": "измеряет спред, глубину, медиану и P90 проскальзывания для ордеров $100K–$1M", + "key_numbers": "Фьючерсы BTC: медиана slippage $500K — Bybit 0.009%, Binance 0.007%, MEXC 0.003%, Hyperliquid 0.002%; BTC $1M — Bybit 0.015%; ETH $1M — Bybit 0.033%, MEXC 0.015%; P90 BTC $1M Bybit 0.022%, ETH $1M Bybit 0.042%; спреды фьючерсов: BTC 0.020 б.п. у CEX, ETH 0.060 б.п., Hyperliquid 0.160/0.580 б.п.; спот BTC $100K медиана Binance ~0%", + "verdict": "Независимое подтверждение ничтожности спреда BTC/ETH-перпов и низкой стоимости исполнения на порядки $100K–$1M. Для $1000 цифры прямо не переносятся (наш замер ещё меньше).", + "implementable": true, + "source_type": "industry_report", + "access_date": "2026-09-28", + "read_fulltext": true + }, + { + "title": "High-Frequency Directional Trading: What Survives Execution Costs", + "authors": "The Microstructure Lab (отраслевой research)", + "year": 2026, + "url": "https://themicrostructurelab.substack.com/p/high-frequency-directional-trading", + "doi": null, + "horizon": "5 сек – 120 сек (лучшие 60–120 сек)", + "data": "15 перпов Hyperliquid, 50 265 комбинаций фича×фильтр×горизонт, 8 месяцев out-of-sample", + "costs_assumed": "реальный котируемый спред на момент сигнала + комиссии биржи", + "key_numbers": "Gross-сигнал 4–13 б.п. на сделку; после реального спреда и комиссий положительны 1% комбинаций без фильтра и 14% с фильтром; на +2 б.п. нетто выживают 5 из 15 монет на тейкере и 9 из 15 на мейкере; рост издержек относительно альфы падает с ростом горизонта", + "verdict": "Практическое подтверждение: тип исполнения определяет, какие сигналы вообще торгуемы (мейкер почти удваивает число выживших монет). Не peer-review — использовать как вспомогательное свидетельство.", + "implementable": true, + "source_type": "industry_blog", + "access_date": "2026-09-28", + "read_fulltext": true + }, + { + "title": "The Value of Queue Position in a Limit Order Book", + "authors": "Ciamac C. Moallemi; Kai Yuan", + "year": 2016, + "url": "http://market-microstructure.institutlouisbachelier.org/uploads/91_7%20MOALLEMI%202014-12-paris-mm-queue-value.pdf", + "doi": null, + "horizon": "n/a (теория очереди)", + "data": "не прочитано (PDF не распарсился: Stream has ended unexpectedly)", + "costs_assumed": "n/a", + "key_numbers": "Известно по вторичной ссылке (arXiv:2502.18625): плохая позиция в очереди связана с меньшей fill-вероятностью и большим adverse selection", + "verdict": "НЕ прочитано. Использовать только как вторичную ссылку; количественные выводы по ней не делать.", + "implementable": false, + "source_type": "unread", + "access_date": "2026-09-28", + "read_fulltext": false + } +] \ No newline at end of file diff --git a/directions/costs-and-execution.md b/directions/costs-and-execution.md new file mode 100644 index 0000000..aceb185 --- /dev/null +++ b/directions/costs-and-execution.md @@ -0,0 +1,242 @@ +# costs-and-execution — экономика издержек и исполнения на сверхкоротком горизонте (5м) + +Дата сборки: **2026-09-28/29 (UTC/MSK)**. Направление №3 из README. Капитал в фокусе: **~$1000**, одна биржа (Bybit/KuCoin), без опционов и экзотики. +Правило README соблюдено: рядом с каждой чужой цифрой указаны заложенные издержки; отдельно помечено, **что проверено на живой документации/API бирж**, а что **взято из статей**. + +Исходные (наши) факты, к которым всё привязывается: тейкер Bybit 0,055%/нога = **0,11%/круг**, мейкер 0,02%/нога = **0,04%/круг**; средний модуль 5м-хода **22,8 б.п.** (BTC 6,2 · ETH 7,9 · SOL 13,4); порог p* = (Стоп+Издержки)/(Цель+Стоп). + +--- + +## 0. Главный вывод в одну строку + +На $1000 и 5-минутном горизонте **издержки задаются не спредом и не проскальзыванием, а комиссиями и adverse selection**. Для BTC/ETH спред перпетуала = 0,02–0,06 б.п. (1 тик = 0,012 б.п. у BTC), а проскальзывание ордера на $1000 = 0,006–0,02 б.п. — то есть на 2–3 порядка меньше комиссии. Поэтому «1 тик проскальзывания» в бэктесте на 5м — почти не тот параметр, который нужно калибровать; калибровать нужно (а) 11 б.п. тейкер против 4 б.п.+adverse selection у мейкера и (б) вероятность исполнения мейкера. + +--- + +## 1. Проверено нами на живой документации и API бирж (2026-09-28, 21:15–21:45 UTC) + +Сырые данные: `sources/live_execution_snapshot.json`. + +### 1.1 Комиссии (живые документы) + +| Что | Значение | Источник (живой) | +|---|---|---| +| Bybit perp VIP0 тейкер | **0,0550%** | help-center «Trading Fee Structure», Last updated 2026-09-02 | +| Bybit perp VIP0 мейкер | **0,0200%** | там же | +| Bybit perp VIP1 (≥$1M 30д объёма ИЛИ баланс $1,5M) | 0,0400% / 0,0180% | там же | +| Bybit perp VIP5 | 0,0320% / 0,0100% | там же | +| KuCoin futures (все 678 открытых USDT-контрактов) | maker **0,0002**, taker **0,0006** (0,02%/0,06% за ногу) | live `api-futures.kucoin.com/api/v1/contracts/active` | +| Bybit Min Maker Program: спот MM1 | 30-дневный объём >$25M, ребейт −0,0010% | help-center «Market Maker Incentive Program», updated 2026-09-27 | +| Bybit Perp MM ребейты (Group 1: BTC/ETH/SOL/XRP) | MM1 −0,0010%, MM2 −0,0025%, MM3 −0,0040%; требования: weighted maker share ≥0,03% / ≥0,50% / ≥1% | там же | + +⇒ Наши факты (0,055%/0,02% Bybit) **подтверждены живым документом**. KuCoin дороже по тейкеру (0,06%) и так же по мейкеру. **Ни один ребейт недостижим при $1000** — порог MM1 по перпам требует maker-доли ≥0,03% рынка, а спот-MM1 — $25M объёма за 30 дней. Даже достижимый ребейт по перпам Group 1 — всего **0,1–0,4 б.п. за ногу** (0,2–0,8 б.п. на круг), что меньше измеренного adverse selection (см. 2.4). + +### 1.2 Минимальный нотионал и гранулярность позиции (живые instruments-info) + +Bybit: `minNotionalValue = 5 USDT` у всех проверенных символов. Но granularity задаёт `qtyStep`: + +| Символ | qtyStep | Мин. шаг позиции, $ (при цене 2026-09-28) | +|---|---|---| +| BTCUSDT | 0,001 BTC | **$83,5** (8,4% от $1000) | +| ETHUSDT | 0,01 ETH | $26,8 | +| SOLUSDT | 0,1 SOL | $11,9 | +| LTCUSDT | 0,1 | $6,9 | +| XRPUSDT | 0,1 | $0,15 | +| WLDUSDT | 0,1 | $0,05 | + +KuCoin: минимальный ордер = 1 контракт; нотионал 1 контракта: XBTUSDTM **$83,5**, ETHUSDTM $26,9, SOLUSDTM $11,9, XRPUSDTM $14,9, DOGEUSDTM $9,4, ADAUSDTM $2,5. + +⇒ При $1000 нельзя «плавать» размером позиции на BTC/ETH (шаг 8,4% и 2,7% капитала). Для мелкого шага нужны альта-пары (XRP, ADA, WLD, DOGE) или не-крипто-гранулярные инструменты. + +### 1.3 Спред (живой снапшот, top-30 по 24ч обороту, 784 USDT-символа) + +- Спред = (ask−bid)/mid, б.п.: **min 0,012 (BTCUSDT) · медиана 1,008 · среднее 1,232 · max 4,393**. +- Top-100: медиана 1,574 б.п., среднее 2,412, max 11,34. +- BTC: 1 тик (0,10 USD) = **0,012 б.п.**; ETH: 1 тик = 0,037 б.п. +- Размер тика в б.п. по top-30: медиана **0,832**, max **4,405** (XLMUSDT), **12 из 30 символов имеют тик >1 б.п.** (ADA 4,08; PEPE 2,39; NEAR 2,11; WLD 2,06; ONDO 1,94; LTC 1,45 …). + +### 1.4 Проскальзывание market-ордера на $1000 (обход книги, 200 уровней) + +| Символ | Спред, б.п. | Buy $1000, б.п. | Sell $1000, б.п. | Глубина в 10 б.п. (bid/ask), $ | +|---|---|---|---|---| +| BTCUSDT | 0,012 | 0,006 | 0,006 | 8,07M / 7,70M | +| ETHUSDT | 0,037 | 0,019 | 0,019 | 13,4M / 11,1M | +| SOLUSDT | 0,843 | 0,421 | 0,421 | 1,71M / 1,92M | +| XRPUSDT | 0,670 | 0,335 | 0,335 | 0,38M / 0,58M | +| QNTUSDT | 3,238 | **7,903** | 4,061 | 1,9K / 0,8K | +| NEARUSDT | 2,102 | 1,051 | 1,439 | 24K / 63K | + +⇒ На $1000 **проскальзывание почти везде ≤ 1 б.п.**, а на BTC/ETH — 0,006–0,019 б.п. (половина спреда). Реальный «убийца» — комиссии. Исключение — тонкие mid-cap'ы (QNT: 4–8 б.п. на $1000), где проскальзывание уже сравнимо с комиссией. + +### 1.5 Наша 5м-выборка (Bybit kline, 10 000 баров на символ, 2026-08-25 → 2026-09-28) + +| Символ | mean\|close−open\|, б.п. | median | mean (high−low), б.п. | P(\|ret\|≥5,7 б.п.) | P(\|ret\|≥11 б.п.) | P(range≥23 б.п.) | P(range≥40 б.п.) | +|---|---|---|---|---|---|---|---| +| BTCUSDT | 7,53 | 5,18 | 14,58 | 46,3% | **21,7%** | 14,8% | 3,2% | +| SOLUSDT | 13,47 | 9,69 | 26,56 | 69,6% | **44,0%** | 46,4% | 14,9% | +| DOGEUSDT | 15,21 | 10,39 | 29,58 | 70,4% | **47,9%** | 51,2% | 20,1% | + +Кросс-валидация с README: SOL 13,4 ≈ 13,47; BTC 6,2 vs 7,53 (наш отрезок более волатильный — 34 дня). Порядок величины подтверждён. + +--- + +## 2. Литература и исследования + +Формат: работа → авторы/год → данные → горизонт → заложенные издержки → цифры → вердикт. + +### 2.1 Albers, Cucuringu, Howison, Shestopaloff — «The Market Maker's Dilemma», arXiv:2502.18625v2 (v2: 23.11.2025, HTML-версия с датой 24.08.2026) +- **Данные**: живой эксперимент на Binance USDT-перпе BTC — **232 897 минимальных мейкер-заявок за неделю** (август 2024), сигнал-агностично, политика «не отменять, пока цена не ушла» (фиксирует 100% fill-вероятность у базовой линии, устраняет signal bias). +- **Горизонт**: маркаут 1 сек, стратегический горизонт 5 сек. +- **Издержки**: лучший тир Binance: **тейкер 1,5 б.п., мейкер −0,5 б.п. (ребейт)**; тик 0,1 USD ≈ 0,03 б.п.; спред «практически всегда в один тик». +- **Цифры**: fill probability **50%** при спреде в 1 тик и сбалансированных очередях (no-cancel) против **<2%** у реальных участников по Lokin & Yu (2024) — разрыв объясняется отменами (**95% мейкер-заявок отменяются**: Gould et al. 2010, Brogaard et al. 2014). Маркаут заполненных заявок: **−0,058 б.п.** (front-of-queue, благоприятный имбаланс) против **−0,775 б.п.** (back-of-queue); в других режимах −0,296 vs −1,157 и −0,539 vs −0,763 б.п. Случайные заявки: fill prob 88%, средний доход за 5с **−0,74 б.п.**, σ 1,55 б.п. Наивный balanced-inventory MM: **−0,44 б.п. на круг (σ 2,73; 15 380 филлов/день) УЖЕ с учётом ребейта +1 б.п. на круг**. Их лучшая contrarian-стратегия (reversal-сигнал) даёт **+3,02 б.п.** при пороге 0,5 (LR, 9 ордеров/день, fill 87,5%) и **+0,76 б.п.** при 0,46 (23 ордера/день); +0,1…+0,2 б.п. к случайным при пороге 24–26%, но только 1,4–9,6к ордеров/день. +- **Вывод авторов**: «Ease of prediction × ease of exploitation < c»; нельзя одновременно иметь высокую fill-вероятность и положительный посфилл-доход; латентность в работе не моделируется, и авторы утверждают, что её аккуратный учёт только усиливает выводы. +- **Вердикт**: **directly relevant**. Наивное маркет-мейкерство на BTC-перпе убыточно даже на лучших комиссиях и с ребейтом; зарабатывает только адресный contrarian-отбор при 9–23 сделках/день. **Implementable** как правило: «мейкер только против имбаланса, порог reversal ≥ ~0,25, не чаще десятков сделок в день». + +### 2.2 Daru Finance — «Quoting the Touch Does Not Pay Its Adverse Selection» (SSRN, сайт daru.finance/research/crypto-adverse-selection; проверено 2026-09-28) +- **Данные**: симулятор очереди на **Bybit, Binance USD-M, Hyperliquid**, **9 983 coin-day, 125,8 млн симулированных филлов**; котировка «в принт» в конец очереди (вся видимая ликвидность впереди) — пессимистичная, но консистентная. +- **Горизонт**: маркаут 10 сек и 60 сек; это **одна нога** круга, без выхода, инвентаря, комиссий и ребейтов. +- **Издержки**: явно **не включены** (измерение «до комиссий»). +- **Цифры (pooled)**: пойманный пол-спреда **+0,21 б.п.** (Bybit) / +0,46 (Binance) / +0,56 (HL); дрейф за 10с **−1,04 / −0,85 / −1,02 б.п.**; **нетто −0,84 / −0,39 / −0,46 б.п.** на всех трёх площадках, ДИ (кластеризация месяц×монета) не содержат нуль. На Bybit BTC пойманный пол-спреда всего **0,0124 б.п.** на 34,5% филлов площадки (спред в один тик), отношение adverse/capture 50,2. Все 13 монет Bybit и 15 Binance отрицательны. Контр: классификаторы агрессора (Lee–Ready, tick rule) согласуются с флагом биржи в 89–98% случаев и **никогда не меняют знак**. +- **Сравнение**: на CME-фьючерсах (companion paper) +0,654 б.п. пол-спреда против −0,661 б.п. дрейфа → нетто ≈ 0; в крипте знак отрицательный до комиссий. +- **Вердикт**: **ключевой источник по adverse selection**. Он же даёт «практический» масштаб: у HL наблюдённые мейкер-филлы на BTC-перпе (июль 2025, 5 сек) ≈ **−0,48 б.п.** до ребейта, а группа с первым местом в очереди +0,32 б.п.; разрыв ≈0,8 б.п. +- **Оговорки**: last-in-queue — пессимистично; сам отчёт называет отношение 50,2 «least defensible number»; exit/инвентарь не моделируются. + +### 2.3 Aquilina, Budish, O'Neill — «Quantifying the High-Frequency Trading Arms Race» (QJE 2022; PDF BFI WP 2020-86) +- **Данные**: сообщения LSE, 2016 год. +- **Цифры**: **~71 000 гонок в день**; длительность гонки: мода **5–10 µs**, медиана **16 µs**, средняя **79 µs**; минимальное наблюдённое время реакции **29 µs**, медианная наблюдённая задержка **~150 µs** (p90 ~300 µs); «цена одной гонки» ≈ пол-тика; latency-arbitrage налог **0,42 б.п.** от объёма (0,53 б.п. от не-гоночного), эффективный спред ≈3 б.п.; устранение гонок снизило бы стоимость ликвидности на **17%**; суммы «на кону» — **~$5 млрд/год** только в мировых акциях. +- **Вердикт**: **контекст по очереди/латентности**. Показывает, что приз за первое место в очереди делится на миксекундном масштабе; розничный REST/WS-путь (десятки–сотни мс) систематически проигрывает, и именно там, где в бэктесте пишут «исполнение по 1 тику». + +### 2.4 Kearns, Kulesza, Nevmyvaka — «Empirical Limitations on High Frequency Trading Profitability» (UPenn) +- **Данные**: полные книги 19 ликвидных NASDAQ-акций (2008) + TAQ; метод «omniscient trader». +- **Цифры**: даже при **нулевых комиссиях и нулевой латентности** и полном знании будущего агрессивная HFT даёт **$3,4 млрд** за 2008 на 19 акциях при удержании 10 сек, и всего **$62 тыс.** при 10 мс; экстраполяция на 6 279 акций: $21,3 млрд (10с) → **$21 млн (10 мс)**. Комиссии: чтобы забрать $3,4 млрд, нужно провести 195 млрд акций; при 1,2 цент./акция (две ноги) комиссии = **$2,3 млрд, т.е. 2/3 «прибыли»**. Авторы пишут, что реализовать хотя бы 10% возможностей — «феноменально трудно» (⇒ граница $2,1 млрд). +- **Вердикт**: **базовая рамка «издержки × горизонт»**. Главный вывод в наших терминах: чем короче горизонт, тем больше доля хода, которую надо отдать издержкам; на 5м-масштабе комиссии съедают основную часть амплитуды. + +### 2.5 Bailey, López de Prado (2014) — «The Deflated Sharpe Ratio» (SSRN 2460551) +- **Суть**: expected max Sharpe растёт с числом испытаний N; DSR корректирует selection bias при multiple testing и ненормальность. Пример из работы: при N=88 независимых испытаний наблюдаемый Sharpe объясняется случаем; прямая рекомендация — планировать число испытаний заранее, а не «перебирать». +- **Вердикт**: **обязательный gate для нашего 5м-бэктеста**: любой эдж, найденный перебором правил, надо дефлировать на число попыток; иначе «1 тик проскальзывания» и прочие тонкие настройки просто фитят шум. + +### 2.6 Svogun & Bazán-Palomino (2022), JIFMIM 79:101601 — «Technical analysis in cryptocurrency markets: Do transaction costs and bubbles matter?» +- **Данные**: 69 правил (MA/breakout), дневные и **1-минутные** ряды, 2016–2021. +- **Цифры/вывод (из абстракта)**: пузырьковые периоды повышают шанс обыграть buy-and-hold у ETH/XRP/LTC, но не у BTC/BCH; **транзакционные издержки снижают этот шанс для XRP и LTC, но повышают для BTC и ETH**. +- **Вердикт**: **не подтверждает** простой тезис «комиссии убивают любую ТА» — картина смешанная и зависит от актива и периода. Полезно как честное ограничение: нельзя переносить вывод «всё умирает» без проверки. + +### 2.7 TokenInsight — «Crypto Exchange Liquidity Report — Jul 2026» (данные 15.06–14.07.2026) +- **Что измерено**: глубина, **медиана и P90 проскальзывания**, спред по девяти биржам (Binance, OKX, Bybit, Bitget, KuCoin, MEXC, Gate, HTX, Hyperliquid), BTC/ETH (спот и фьючерсы), XAU/XAG. +- **Цифры (фьючерсы)**: проскальзывание sell-ордера: BTC $500K медиана Bybit **0,009%** (0,9 б.п.), Binance 0,007%, MEXC 0,003%, Hyperliquid 0,002%; BTC $1M: Bybit 0,015%. ETH $1M: Bybit **0,033%** (3,3 б.п.), MEXC 0,015%, Binance 0,024%. P90 (хвост) BTC $1M Bybit 0,022%, ETH $1M Bybit 0,042%. Спреды фьючерсов: BTC у 8 CEX **0,020 б.п.**, ETH **0,060 б.п.**, Hyperliquid 0,160/0,580 б.п. +- **Вердикт**: подтверждает два наших вывода: (1) спреды BTC/ETH-перпов ничтожны (<0,1 б.п.), (2) на порядки $100K–$1M крипто-перпы всё ещё мелкие по издержкам исполнения. **Но** для $1000 эти цифры прямо не переносятся (у нас проскальзывание 0,006–0,02 б.п., см. 1.4) — то есть наш случай ещё проще по исполнению, и тем важнее комиссии. + +### 2.8 The Microstructure Lab — «High-Frequency Directional Trading: What Survives Execution Costs» (substack, практик) +- **Данные**: 15 перпетуалов Hyperliquid, 50 265 комбинаций (фича × фильтр × горизонт), **8 месяцев out-of-sample**; учтён реальный котируемый спред на момент сигнала. +- **Цифры**: gross-сигнал 4–13 б.п. на сделку; после реального спреда и комиссий: без фильтра **лишь 1%** комбинаций положительны, с фильтром «книга и поток согласованы + узкий спред» — **14%**; на **+2 б.п. нетто выживают 5 из 15 монет при тейкере и 9 из 15 при мейкере**; лучшие горизонты 60–120 сек, а не 5–15 сек; инфраструктура — один VPS ($20/мес), тейкер-путь требует <200 мс round-trip. +- **Вердикт**: **практическое подтверждение** тезиса «тип исполнения определяет, какие сигналы вообще торгуемы»: мейкер расширяет список выживших монет почти вдвое. Плюс независимое свидетельство, что на 5-секундных горизонтах доля издержек максимальна. (Источник — отраслевой, не peer-review; учитывать как слабое свидетельство.) + +### 2.9 Читано косвенно (не смог открыть полный текст — фиксирую честно) +- **Moallemi & Yuan, «The Value of Queue Position in a Limit Order Book»** (PDF не распарсился: «Stream has ended unexpectedly»). Содержание известно по пересказу в 2.1: плохая позиция в очереди → ниже fill-вероятность и выше adverse selection. Цитируется как вторичное. +- **Lokin & Yu (2024)** — fill probability <2% у реальных участников (цитируется по 2.1). +- **Glosten & Milgrom (1985)**, **Menkveld (2013)**, **Foucault et al. (2016)** — теория adverse selection / «toxic arbitrage»; цитируются по 2.1/2.2, полные тексты не открывались. +- **Makarov & Schoar (JFE 2020)** — кросс-биржевой арбитраж; полный текст скачать не удалось (MIT DSpace отдал битый поток). Не использую цифры. + +--- + +## 3. Синтез + +### 3.1 Какие стратегии выживают при тейкере 0,11% на круг, а какие только при мейкере +- Тейкер. Порог безубыточности p* = (Стоп+Издержки)/(Цель+Стоп) при издержках 0,11%: + +| Цель / Стоп | p* тейкер (0,11%) | p* мейкер (только комиссия 0,04%) | p* мейкер реальный (0,057%) | p* KuCoin тейкер (0,12%) | +|---|---|---|---|---| +| 0,2% / 0,2% | **77,5%** | 60,0% | 64,3% | 80,0% | +| 0,5% / 0,3% | **51,25%** | 42,5% | 44,6% | 52,5% | +| 1,0% / 0,5% | **40,67%** | 36,0% | 37,1% | 41,3% | + + Издержки равны **48% среднего модуля 5м-хода** (11/22,8) у тейкера и **25%** у мейкера. Если торговать каждый 5м-бар (288 кругов/день) при нотионале = капитал, комиссии тейкера = **3168 б.п. = 31,7% капитала/день**, мейкера = 16,4%/день. Отсюда жёсткий вывод: тейкер-стратегия на 5м допустима только при **редких** сделках (единицы в день) и цели ≥0,5–1% с p* ≥40–51%. +- Только при мейкере: всё, что опирается на 0,2–0,5% тейк-профит (там p* падает с 77,5% до 64,3%, и это принципиальное различие — 60%+ уже нереалистично, а 42–45% достижимо); всё, что торгует чаще ~10 раз в день; всё, где средний ход меньше ~11 б.п. +- Наши данные (п. 1.5): ход ≥11 б.п. на 5м бывает в 21,7% баров (BTC), 44,0% (SOL), 47,9% (DOGE). То есть даже «достаточная амплитуда» существует лишь в половине баров у альтов и в пятой части у BTC — а попадание в нужную сторону требует ещё и точности. + +### 3.2 Количественная картина спреда и проскальзывания по размеру ордера +- **$1000 (наш случай)**: BTC 0,006 б.п., ETH 0,019 б.п., SOL 0,42 б.п., XRP 0,34 б.п., QNT 4–8 б.п. (живой обход книги, 2026-09-28). Медианный спред top-30 = **1,008 б.п.**, top-100 = 1,574 б.п. +- **$100K–$1M (институционально)**: TokenInsight Jul 2026: BTC $1M медиана Bybit 0,015%, ETH $1M 0,033%, P90 до 0,05–0,08%. Hyperliquid — заметно шире по спреду (0,16/0,58 б.п.), но лучший по BTC-проскальзыванию на $1M. +- Вывод о размерности: **до ~$10k на топ-парах проскальзывание не является узким местом**; оно становится сопоставимым с комиссией только в тонких mid-cap'ах (тик 2–4 б.п. и глубина в единицах тысяч долларов). + +### 3.3 Market making, снятие спреда и требуемая инфраструктура +- **Снять спред на BTC/ETH нечем**: спред перпа 0,02–0,06 б.п. (TokenInsight) / 1 тик = 0,012 б.п. (наш снапшот). Даже 100% времени на первой позиции в очереди даёт ~0,006 б.п. за филл — в 300+ раз меньше комиссии тейкера. +- **Кто реально зарабатывает на снятии спреда**: участники с первым местом в очереди (HL: +0,32 б.п. против −0,48 б.п. у прочих, 2.2) и победители латентностных гонок (медиана 16 µs, мода 5–10 µs, 2.3). Экономика приза — микросекундная, требует колокации/FPGA/спец-фидов и ребейт-тира MM-программ (Bybit perp MM1: maker-доля ≥0,03%, ребейт −0,1…−0,4 б.п.; 1.1). +- **Почему недоступно при $1000**: (а) пороги MM-программ недостижимы по объёму (спот MM1 — $25M/30д) и по доле рынка; (б) ребейт даже при достижении (0,2–0,8 б.п. на круг) меньше измеренного adverse selection Bybit (0,84 б.п. за ногу, 2.2); (в) приз за очередь измеряется микросекундами, а розничный путь — десятками–сотнями мс; (г) при $1000 нельзя дробить ордера так, чтобы «стоять» многоуровнево: шаг позиции BTC = $83,5 (8,4% капитала, 1.2). + +### 3.4 Эмпирика выживания maker-only: adverse selection, отмены, очередь +- Adverse selection (Bybit, 10с, до комиссий): **нетто −0,84 б.п. за ногу** (capture +0,21 против дрейфа −1,04). На CME тот же разбор даёт ≈0. То есть «спред не покрывает дрейф» — эмпирический факт на трёх крипто-площадках (9 983 coin-day, 125,8 млн филлов). +- Очередь: front-of-queue маркаут −0,058 б.п. против **−0,775 б.п.** back-of-queue (2.1); на HL разрыв между первым местом и средним ≈0,8 б.п. (2.2). +- Отмены: **95% мейкер-заявок отменяются**; отменяющая политика завышает fill probability в исторических данных, но ухудшает реальные филлы (классический trade-off: 50% fill у «неотменяющего» против <2% у реальных участников, 2.1). +- Стратегический вывод 2.1: зарабатывает не «стояние в спреде», а **contrarian-отбор** (торговать против имбаланса при ожидании reversal) — +0,76…+3,02 б.п. на круг, но это 9–23 ордера в день, и всё равно требуется проверка после комиссий. + +### 3.5 Реалистичность бэктестов на 5м с проскальзыванием «1 тик» +- «1 тик» не однороден: BTC 0,012 б.п., медиана top-30 0,83 б.п., 12/30 символов >1 б.п. (до 4,4 б.п.). Один и тот же параметр «1 тик» означает ошибку на 2 порядка между BTC и XLM. +- На топ-парах «1 тик» **недооценивает** главный член (комиссию 11 б.п. тейкер / 4 б.п. мейкер) в сотни раз; на тонких альтах — сопоставим (QNT: 4–8 б.п. на $1000, 1.4). +- Три скрытых оптимизма 5м-бэктеста, которые не лечит «1 тик»: (а) исполнение по цене бара = look-ahead + гарантированный fill; (б) у мейкера fill probability <100% и, что важнее, **fill-условная отрицательная доходность** (2.1); (в) комиссии и ребейты берутся из лучшего тира (в 2.1 тейкер 1,5 б.п. — у нас 5,5 б.п., в 3,7 раза хуже). +- Плюс overfitting: без дефлирования на число испытаний (2.5) любые «победы» над порогом p* на 5м-данных неотличимы от шума. +- Рамка Кернса (2.4): издержки должны сравниваться **с остаточной амплитудой после горизонта**, а не с полным ходом. На 5м при среднем модуле 22,8 б.п. и тейкере 11 б.п. стратегия обязана забирать ~50% доступной амплитуды в среднем — это и есть измерение «реализма». + +--- + +## 4. Проверяемые правила (годятся для бэктеста как есть) + +1. **Костовая модель.** Каждый круг: тейкер = 11,0 б.п. + (спред/2 + проскальзывание) по символу из таблицы 1.3/1.4; мейкер = 4,0 б.п. + **1,7 б.п. adverse selection** (или явная модель: 0,5×вероятность отмены). Никаких «нулевых издержек» и никакого «мейкер = без издержек». +2. **Fill-модель мейкера.** Обязательна проверка двух режимов: fill probability 50% (оптимистичный, no-cancel) и ≤20–30% (реалистичный с отменами); при недостаточной статистике брать пессимистичный. +3. **Порог p\***. Сигнал должен давать p* из таблицы 3.1; при 0,5/0,3 и 1,0/0,5 использовать мейкер-исполнение (42–45% и 36–37%), иначе тейкер (51,25% и 40,67%). +4. **Бюджет сделок.** Не больше 5–10 кругов в день на пару (иначе комиссии >1% капитала/день: 288 кругов = 31,7%/день тейкером, 16,4% мейкером). +5. **Отбор инструментов.** Мейкер-исполнение только на символах с тиком ≤0,1 б.п. (BTC/ETH) ИЛИ там, где ожидаемая амплитуда ≥20×(спред/2 + adverse selection). Иначе издержки исполнения доминируют сигнал. +6. **Размер позиции.** $1000 ⇒ целое число шагов qtyStep; для BTC шаг = $83,5 (8,4% капитала) — запретить BTC как «дробибельный» инструмент, использовать XRP/ADA/WLD/DOGE или нотионал ≤$100. +7. **Adverse-selection gate.** Любая maker-стратегия обязана пройти тест: «средний маркаут за 10 сек после филла минус 1,04 б.п. ≥ 0» на репрезентативной выборке. Если нет — стратегия нежизнеспособна независимо от версии бэктеста. +8. **Deflation.** Считать число испробованных конфигураций N и применять Deflated Sharpe (2.5); отчёт без дефляции не принимается. +9. **Реализм бара.** Никаких исполнений по close бара; вход — только по данным, доступным до решения; для тейкера использовать худшую цену бара (для покупки — high, для продажи — low) как стресс-версию бэктеста. +10. **Проверка на чужой инфраструктуре.** Максимум реализуемого при $1000 — VPS + WebSocket (~10–100 мс), т.е. никогда не «первый в очереди»: все результаты, зависящие от первой позиции в очереди, помечать как недостижимые. + +--- + +## 5. Что не подтвердилось / противоречия + +- **«Спред и проскальзывание — главный расход»** — не подтверждается на BTC/ETH-перпах: спред 0,012–0,06 б.п., проскальзывание $1000 — 0,006–0,02 б.п. Это противоречит интуиции «сдвиг на 1 тик дорогой»: дороги **комиссии** и **adverse selection**. (Наш собственный замер, 1.3–1.4, и TokenInsight, 2.7.) +- **«Мейкер-исполнение бесплатно, если не пересекать спред»** — опровергнуто: capture пол-спреда +0,21 б.п. против дрейфа −1,04 б.п. (Bybit, 2.2); наивный MM −0,44 б.п. на круг даже с ребейтом (2.1). +- **«Комиссии убивают любую крипто-ТА»** — не подтверждается как общее утверждение: 2.6 даёт смешанный результат (для BTC/ETH издержки даже повышали шанс против B&H). Фиксирую противоречие, не сглаживаю. +- **«Ребейты мейкера доступны»** — не подтверждается: пороги MM-программ (≥0,03% maker-доли / $25M объёма) и величина ребейта (−0,1…−0,4 б.п. на перпах) делают их нерелевантными при $1000. +- **Не удалось прочитать полные тексты**: Moallemi & Yuan (queue value), Makarov & Schoar (JFE 2020), KuCoin Futures Rules page (веб-экстрактор ответил Rate Limit Exceeded — комиссии KuCoin поэтому взяты из живого API, а не со страницы). Все цифры по ним не используются. +- **Ограничение нашей 5м-выборки**: 10 000 баров = 34,7 дня, 3 символа (BTC/SOL/DOGE). Для порогов нужен прогон по 20 парам × 30 дней (есть у стенда). + +--- + +## 6. Десять пунктов: что реально исполняется с $1000 на 5-минутном горизонте + +1. **Тейкерный скальп с целью 0,2%/стопом 0,2% — не исполняется**: нужна точность **77,5%** (Bybit 0,11% на круг; KuCoin 80,0%). Это выше любой измеренной точности на 5м-сигналах. +2. **Тейкер с целью 0,5%/стопом 0,3% — граница**: p* = **51,25%** (мейкер 42,5–44,6%). При среднем 5м-ходе 22,8 б.п. это требует систематически ловить примерно половину амплитуды против случайных 50% — то есть эдж должен быть очень устойчивым. +3. **Тейкер с целью 1,0%/стопом 0,5% — реалистично только по p\*** (40,67%), но редкие входы: амплитуда ≥40 б.п. в баре бывает 3,2% (BTC), 14,9% (SOL), 20,1% (DOGE) времени (наши 10 000 баров). +4. **Бюджет сделок жёсткий**: ≤5–10 кругов/день на пару. 288 кругов/день (каждый бар) при нотионале $1000 = **31,7% капитала/день** тейкером, **16,4%** мейкером — это не «стоимость», а гарантированное уничтожение счёта. +5. **Maker-only исполним только как contrarian-отбор, а не как «стояние в спреде»**: наивный MM даёт −0,44 б.п. на круг с ребейтом (2.1); зарабатывающая версия — реверсл-порог ≥0,25 и **9–23 ордера в день**, +0,76…+3,02 б.п. на круг; реальная стоимость maker-круга у нас **≈5,7 б.п.** (4 комиссии + 1,7 adverse selection) против 11,0–11,8 б.п. тейкера. +6. **Fill-вероятность мейкера надо закладывать ≤30%**: 50% — это верхняя граница (no-cancel), у реальных участников <2% из-за отмен (95% заявок отменяются). Любой бэктест, где мейкер исполняется «всегда», завышает результат кратно. +7. **Инструмент: BTC/ETH/SOL (тик 0,012/0,037/0,84 б.п.) для мейкера, но BTC нельзя масштабировать по размеру**: шаг 0,001 BTC = **$83,5 = 8,4% капитала**; для дробления использовать XRP ($0,15/шаг), ADA, DOGE, WLD или KuCoin-контракты с мелким нотионалом ($2,5–15). +8. **Проскальзывание не проблема на $1000** (0,006–0,42 б.п. на топ-парах; 4–8 б.п. только в тонких mid-cap'ах), поэтому оптимизировать надо комиссию/ребейт и исполнение, а не «1 тик». +9. **Снятие спреда и гонки недоступны**: приз за первое место в очереди ~0,006–0,32 б.п. против медианной латентности 150 µs и медианной длительности гонки 16 µs; ребейты MM-программ (0,1–0,4 б.п.) требуют maker-доли ≥0,03% рынка. При $1000 корректно считать **ребейт = 0**. +10. **Минимальный жизнеспособный профиль при $1000**: редко (≤3–5 входов/день) + мейкер-исполнение с отбором + цель ≥0,5–1%, стоп ≤0,3–0,5% + амплитуда пары ≥20 б.п. (SOL/DOGE/ADA/NEAR-класс) + обязательная проверка «после 5,7/11 б.п.» и дефляция на число испытаний; всё, что требует частоты, BTC-размера позиции или первой позиции в очереди, — не исполняется. + +--- + +## Источники (URL + дата обращения; статус проверки) + +| # | Источник | URL | Дата | Статус | +|---|---|---|---|---| +| 1 | Bybit Trading Fee Structure (help center) | https://www.bybit.com/en/help-center/article/Trading-Fee-Structure | обращение 2026-09-28; док. обновлён 2026-09-02 | **live, прочитано** | +| 2 | Bybit Trading Fees | https://www.bybit.com/en/announcement-info/fee-rate/ | 2026-09-28 | **live, прочитано** | +| 3 | Bybit Market Maker Incentive Program | https://bybitglobal.com/en-US/help-center/bybitHC_Article?id=000001586 | 2026-09-28; обновлён 2026-09-27 | **live, прочитано** | +| 4 | Bybit REST API v5: tickers / orderbook / instruments-info / kline | https://api.bybit.com/v5/market/... | 2026-09-28 21:15–21:45 UTC | **live, собственные замеры** | +| 5 | KuCoin Futures API: contracts/active, ticker | https://api-futures.kucoin.com/api/v1/contracts/active | 2026-09-28 | **live, собственные замеры** | +| 6 | KuCoin Futures Trading Rules (справочная страница) | https://www.kucoin.com/trading-info/futures/futures-details | 2026-09-28 | не прочитано (Rate Limit Exceeded) | +| 7 | Albers, Cucuringu, Howison, Shestopaloff, «The Market Maker's Dilemma…», arXiv:2502.18625v2 | https://arxiv.org/html/2502.18625v2 | 2026-09-28 | **прочитано (полный HTML)** | +| 8 | Daru Finance, «Quoting the Touch Does Not Pay Its Adverse Selection» | https://daru.finance/research/crypto-adverse-selection | 2026-09-28 | **прочитано (полный разбор)** | +| 9 | Aquilina, Budish, O'Neill, «Quantifying the HFT Arms Race», QJE 2022 | https://bfi.uchicago.edu/wp-content/uploads/BFI_WP_202086.pdf | 2026-09-28 | **прочитано (PDF)** | +| 10 | Kearns, Kulesza, Nevmyvaka, «Empirical Limitations on HFT Profitability» | https://www.cis.upenn.edu/~mkearns/papers/hft.pdf | 2026-09-28 | **прочитано (PDF)** | +| 11 | Bailey, López de Prado, «The Deflated Sharpe Ratio» | https://www.davidhbailey.com/dhbpapers/deflated-sharpe.pdf | 2026-09-28 | **прочитано (PDF, выборочно)** | +| 12 | Svogun & Bazán-Palomino (2022), JIFMIM 79:101601, doi 10.1016/j.intfin.2022.101601 | https://faculty.up.edu.pe/en/publications/technical-analysis-in-cryptocurrency-markets-do-transaction-costs/ | 2026-09-28 | прочитан абстракт (полный текст платный) | +| 13 | TokenInsight, «Crypto Exchange Liquidity Report — Jul 2026» | https://s2.tokeninsight.com/static/research/file/levelPdf/Exchange_Report_Liquidity_July.pdf | 2026-09-28 | **прочитано (PDF)** | +| 14 | The Microstructure Lab, «High-Frequency Directional Trading: What Survives Execution Costs» | https://themicrostructurelab.substack.com/p/high-frequency-directional-trading | 2026-09-28 | прочитано (отраслевое, не peer-review) | +| 15 | Moallemi & Yuan, «The Value of Queue Position in a LOB» | http://market-microstructure.institutlouisbachelier.org/uploads/91_7%20MOALLEMI%202014-12-paris-mm-queue-value.pdf | 2026-09-28 | **не прочитано** (PDF битый) — только как вторичная ссылка | + +Сырые живые данные: `sources/live_execution_snapshot.json` (снапшот 2026-09-28T21:15–21:45Z: комиссии из документов, спреды top-30/top-100, проскальзывание на $100/500/1000/5000/10000, размеры тиков top-30, спецификации инструментов, KuCoin-контракты, 10 000 5м-баров BTC/SOL/DOGE). diff --git a/sources/live_execution_snapshot.json b/sources/live_execution_snapshot.json index e808b60..fd01485 100644 --- a/sources/live_execution_snapshot.json +++ b/sources/live_execution_snapshot.json @@ -596,6 +596,680 @@ "kucoin_fees_doc": { "source": "https://www.kucoin.com/trading-info/futures/futures-details (rate-limited on extract) + live API api-futures.kucoin.com/api/v1/contracts/active", "checked_utc": "2026-09-28T21:15:36.380409+00:00" + }, + "bybit_slippage_fixed": { + "BTCUSDT": { + "buy_100_bps": 0.006, + "sell_100_bps": 0.006, + "buy_500_bps": 0.006, + "sell_500_bps": 0.006, + "buy_1000_bps": 0.006, + "sell_1000_bps": 0.006, + "buy_5000_bps": 0.006, + "sell_5000_bps": 0.006, + "buy_10000_bps": 0.006, + "sell_10000_bps": 0.006, + "spread_bps": 0.012, + "mid": 83535.05, + "tick_bps": 0.011971022941866917, + "depth_10bps_bid": 8073067, + "depth_10bps_ask": 7703677, + "roundtrip_taker_bps": 11.012, + "roundtrip_maker_bps": 4.0, + "roundtrip_maker_taker_bps": 0.081 + }, + "ETHUSDT": { + "buy_100_bps": 0.019, + "sell_100_bps": 0.019, + "buy_500_bps": 0.019, + "sell_500_bps": 0.019, + "buy_1000_bps": 0.019, + "sell_1000_bps": 0.019, + "buy_5000_bps": 0.019, + "sell_5000_bps": 0.019, + "buy_10000_bps": 0.019, + "sell_10000_bps": 0.019, + "spread_bps": 0.037, + "mid": 2684.365, + "tick_bps": 0.037252758101077914, + "depth_10bps_bid": 13418140, + "depth_10bps_ask": 11102450, + "roundtrip_taker_bps": 11.037, + "roundtrip_maker_bps": 4.0, + "roundtrip_maker_taker_bps": 0.093 + }, + "SOLUSDT": { + "buy_100_bps": 0.421, + "sell_100_bps": 0.421, + "buy_500_bps": 0.421, + "sell_500_bps": 0.421, + "buy_1000_bps": 0.421, + "sell_1000_bps": 0.421, + "buy_5000_bps": 0.421, + "sell_5000_bps": 0.421, + "buy_10000_bps": 0.421, + "sell_10000_bps": 0.736, + "spread_bps": 0.843, + "mid": 118.625, + "tick_bps": 0.8429926238145417, + "depth_10bps_bid": 1713451, + "depth_10bps_ask": 1917207, + "roundtrip_taker_bps": 11.843, + "roundtrip_maker_bps": 4.0, + "roundtrip_maker_taker_bps": 0.496 + }, + "XRPUSDT": { + "buy_100_bps": 0.335, + "sell_100_bps": 0.335, + "buy_500_bps": 0.335, + "sell_500_bps": 0.335, + "buy_1000_bps": 0.335, + "sell_1000_bps": 0.335, + "buy_5000_bps": 0.335, + "sell_5000_bps": 0.335, + "buy_10000_bps": 0.335, + "sell_10000_bps": 0.335, + "spread_bps": 0.67, + "mid": 1.4920499999999999, + "tick_bps": 0.670218826446835, + "depth_10bps_bid": 383143, + "depth_10bps_ask": 582014, + "roundtrip_taker_bps": 11.67, + "roundtrip_maker_bps": 4.0, + "roundtrip_maker_taker_bps": 0.41 + }, + "ZECUSDT": { + "buy_100_bps": 0.034, + "sell_100_bps": 0.034, + "buy_500_bps": 0.034, + "sell_500_bps": 0.322, + "buy_1000_bps": 0.034, + "sell_1000_bps": 0.63, + "buy_5000_bps": 0.044, + "sell_5000_bps": 1.533, + "buy_10000_bps": 0.267, + "sell_10000_bps": 2.02, + "spread_bps": 0.069, + "mid": 1456.205, + "tick_bps": 0.06867164993939727, + "depth_10bps_bid": 199153, + "depth_10bps_ask": 320875, + "roundtrip_taker_bps": 11.069, + "roundtrip_maker_bps": 4.0, + "roundtrip_maker_taker_bps": 0.11 + }, + "QNTUSDT": { + "buy_100_bps": 3.466, + "sell_100_bps": 1.914, + "buy_500_bps": 6.613, + "sell_500_bps": 2.002, + "buy_1000_bps": 7.903, + "sell_1000_bps": 4.061, + "buy_5000_bps": 12.842, + "sell_5000_bps": 10.458, + "buy_10000_bps": 17.328, + "sell_10000_bps": 17.305, + "spread_bps": 3.238, + "mid": 247.05, + "tick_bps": 0.404776361060514, + "depth_10bps_bid": 1906, + "depth_10bps_ask": 831, + "roundtrip_taker_bps": 14.238, + "roundtrip_maker_bps": 4.0, + "roundtrip_maker_taker_bps": 1.694 + }, + "NEARUSDT": { + "buy_100_bps": 1.051, + "sell_100_bps": 1.051, + "buy_500_bps": 1.051, + "sell_500_bps": 1.051, + "buy_1000_bps": 1.051, + "sell_1000_bps": 1.439, + "buy_5000_bps": 1.051, + "sell_5000_bps": 3.271, + "buy_10000_bps": 1.051, + "sell_10000_bps": 5.271, + "spread_bps": 2.102, + "mid": 4.7565, + "tick_bps": 2.102386208346473, + "depth_10bps_bid": 23916, + "depth_10bps_ask": 63053, + "roundtrip_taker_bps": 13.102, + "roundtrip_maker_bps": 4.0, + "roundtrip_maker_taker_bps": 1.126 + }, + "HBARUSDT": { + "buy_100_bps": 0.41, + "sell_100_bps": 0.41, + "buy_500_bps": 1.334, + "sell_500_bps": 0.848, + "buy_1000_bps": 1.693, + "sell_1000_bps": 1.433, + "buy_5000_bps": 3.581, + "sell_5000_bps": 2.682, + "buy_10000_bps": 5.146, + "sell_10000_bps": 3.252, + "spread_bps": 0.821, + "mid": 0.121835, + "tick_bps": 0.820782205441786, + "depth_10bps_bid": 40723, + "depth_10bps_ask": 23701, + "roundtrip_taker_bps": 11.821, + "roundtrip_maker_bps": 4.0, + "roundtrip_maker_taker_bps": 0.485 + }, + "HYPEUSDT": { + "buy_100_bps": 0.572, + "sell_100_bps": 0.572, + "buy_500_bps": 0.715, + "sell_500_bps": 0.572, + "buy_1000_bps": 1.215, + "sell_1000_bps": 0.572, + "buy_5000_bps": 1.615, + "sell_5000_bps": 0.572, + "buy_10000_bps": 1.665, + "sell_10000_bps": 0.572, + "spread_bps": 1.143, + "mid": 87.455, + "tick_bps": 1.1434452003887714, + "depth_10bps_bid": 202367, + "depth_10bps_ask": 313577, + "roundtrip_taker_bps": 12.143, + "roundtrip_maker_bps": 4.0, + "roundtrip_maker_taker_bps": 0.647 + }, + "SOXLUSDT": { + "buy_100_bps": 0.352, + "sell_100_bps": 0.352, + "buy_500_bps": 0.352, + "sell_500_bps": 0.352, + "buy_1000_bps": 0.352, + "sell_1000_bps": 0.352, + "buy_5000_bps": 0.72, + "sell_5000_bps": 1.322, + "buy_10000_bps": 1.207, + "sell_10000_bps": 2.892, + "spread_bps": 0.704, + "mid": 142.085, + "tick_bps": 0.7038040609494317, + "depth_10bps_bid": 84228, + "depth_10bps_ask": 83732, + "roundtrip_taker_bps": 11.704, + "roundtrip_maker_bps": 4.0, + "roundtrip_maker_taker_bps": 0.427 + }, + "ONDOUSDT": { + "buy_100_bps": 0.965, + "sell_100_bps": 2.046, + "buy_500_bps": 0.965, + "sell_500_bps": 2.726, + "buy_1000_bps": 0.965, + "sell_1000_bps": 2.81, + "buy_5000_bps": 1.507, + "sell_5000_bps": 4.496, + "buy_10000_bps": 2.201, + "sell_10000_bps": 5.626, + "spread_bps": 1.93, + "mid": 0.51805, + "tick_bps": 1.9303156066016796, + "depth_10bps_bid": 18330, + "depth_10bps_ask": 21764, + "roundtrip_taker_bps": 12.93, + "roundtrip_maker_bps": 4.0, + "roundtrip_maker_taker_bps": 1.04 + }, + "XAUUSDT": { + "buy_100_bps": 0.012, + "sell_100_bps": 0.012, + "buy_500_bps": 0.012, + "sell_500_bps": 0.012, + "buy_1000_bps": 0.012, + "sell_1000_bps": 0.012, + "buy_5000_bps": 0.012, + "sell_5000_bps": 0.237, + "buy_10000_bps": 0.012, + "sell_10000_bps": 0.432, + "spread_bps": 0.024, + "mid": 4127.545, + "tick_bps": 0.024227476623513492, + "depth_10bps_bid": 978101, + "depth_10bps_ask": 1831213, + "roundtrip_taker_bps": 11.024, + "roundtrip_maker_bps": 4.0, + "roundtrip_maker_taker_bps": 0.087 + } + }, + "kucoin_min_order_notional": [ + { + "symbol": "XBTUSDTM", + "multiplier": 0.001, + "lotSize": 1, + "last_price": "83526.9", + "min_order_notional_usd": 83.53, + "makerFeeRate": 0.0002, + "takerFeeRate": 0.0006 + }, + { + "symbol": "ETHUSDTM", + "multiplier": 0.01, + "lotSize": 1, + "last_price": "2685.6", + "min_order_notional_usd": 26.86, + "makerFeeRate": 0.0002, + "takerFeeRate": 0.0006 + }, + { + "symbol": "SOLUSDTM", + "multiplier": 0.1, + "lotSize": 1, + "last_price": "118.612", + "min_order_notional_usd": 11.86, + "makerFeeRate": 0.0002, + "takerFeeRate": 0.0006 + }, + { + "symbol": "XRPUSDTM", + "multiplier": 10.0, + "lotSize": 1, + "last_price": "1.49195", + "min_order_notional_usd": 14.92, + "makerFeeRate": 0.0002, + "takerFeeRate": 0.0006 + }, + { + "symbol": "DOGEUSDTM", + "multiplier": 100.0, + "lotSize": 1, + "last_price": "0.0938", + "min_order_notional_usd": 9.38, + "makerFeeRate": 0.0002, + "takerFeeRate": 0.0006 + }, + { + "symbol": "ADAUSDTM", + "multiplier": 10.0, + "lotSize": 1, + "last_price": "0.24578", + "min_order_notional_usd": 2.46, + "makerFeeRate": 0.0002, + "takerFeeRate": 0.0006 + } + ], + "bybit_spread_stability_btc_eth": [ + { + "t": "2026-09-28T21:15:54.770092+00:00", + "btc_spread_bps": 0.012, + "eth_spread_bps": 0.037, + "btc_bid1usd": 295753, + "btc_ask1usd": 778 + }, + { + "t": "2026-09-28T21:15:54.770092+00:00", + "btc_spread_bps": 0.012, + "eth_spread_bps": 0.037, + "btc_bid1usd": 324902, + "btc_ask1usd": 86754 + }, + { + "t": "2026-09-28T21:15:54.770092+00:00", + "btc_spread_bps": 0.012, + "eth_spread_bps": 0.037, + "btc_bid1usd": 306694, + "btc_ask1usd": 24829 + }, + { + "t": "2026-09-28T21:15:54.770092+00:00", + "btc_spread_bps": 0.012, + "eth_spread_bps": 0.037, + "btc_bid1usd": 305943, + "btc_ask1usd": 993 + }, + { + "t": "2026-09-28T21:15:54.770092+00:00", + "btc_spread_bps": 0.012, + "eth_spread_bps": 0.037, + "btc_bid1usd": 301711, + "btc_ask1usd": 37615 + }, + { + "t": "2026-09-28T21:15:54.770092+00:00", + "btc_spread_bps": 0.012, + "eth_spread_bps": 0.037, + "btc_bid1usd": 372997, + "btc_ask1usd": 81760 + } + ], + "bybit_top30_tick_sizes": { + "rows": [ + { + "symbol": "BTCUSDT", + "price": 83467.7, + "tickSize": 0.1, + "tick_bps": 0.012, + "qtyStep": 0.001, + "qtyStep_notional_usd": 83.47, + "minNotional": "5" + }, + { + "symbol": "ETHUSDT", + "price": 2682.38, + "tickSize": 0.01, + "tick_bps": 0.0373, + "qtyStep": 0.01, + "qtyStep_notional_usd": 26.82, + "minNotional": "5" + }, + { + "symbol": "SOLUSDT", + "price": 118.46, + "tickSize": 0.01, + "tick_bps": 0.8442, + "qtyStep": 0.1, + "qtyStep_notional_usd": 11.85, + "minNotional": "5" + }, + { + "symbol": "XRPUSDT", + "price": 1.4895, + "tickSize": 0.0001, + "tick_bps": 0.6714, + "qtyStep": 0.1, + "qtyStep_notional_usd": 0.15, + "minNotional": "5" + }, + { + "symbol": "ZECUSDT", + "price": 1453.55, + "tickSize": 0.01, + "tick_bps": 0.0688, + "qtyStep": 0.01, + "qtyStep_notional_usd": 14.54, + "minNotional": "5" + }, + { + "symbol": "QNTUSDT", + "price": 246.9, + "tickSize": 0.01, + "tick_bps": 0.405, + "qtyStep": 0.01, + "qtyStep_notional_usd": 2.47, + "minNotional": "5" + }, + { + "symbol": "NEARUSDT", + "price": 4.743, + "tickSize": 0.001, + "tick_bps": 2.1084, + "qtyStep": 0.1, + "qtyStep_notional_usd": 0.47, + "minNotional": "5" + }, + { + "symbol": "HBARUSDT", + "price": 0.122, + "tickSize": 1e-05, + "tick_bps": 0.8197, + "qtyStep": 1.0, + "qtyStep_notional_usd": 0.12, + "minNotional": "5" + }, + { + "symbol": "HYPEUSDT", + "price": 87.34, + "tickSize": 0.01, + "tick_bps": 1.145, + "qtyStep": 0.01, + "qtyStep_notional_usd": 0.87, + "minNotional": "5" + }, + { + "symbol": "SOXLUSDT", + "price": 142.16, + "tickSize": 0.01, + "tick_bps": 0.7034, + "qtyStep": 0.01, + "qtyStep_notional_usd": 1.42, + "minNotional": "5" + }, + { + "symbol": "ONDOUSDT", + "price": 0.5159, + "tickSize": 0.0001, + "tick_bps": 1.9384, + "qtyStep": 1.0, + "qtyStep_notional_usd": 0.52, + "minNotional": "5" + }, + { + "symbol": "XAUUSDT", + "price": 4127.82, + "tickSize": 0.01, + "tick_bps": 0.0242, + "qtyStep": 0.001, + "qtyStep_notional_usd": 4.13, + "minNotional": "5" + }, + { + "symbol": "SUIUSDT", + "price": 1.1547, + "tickSize": 0.0001, + "tick_bps": 0.866, + "qtyStep": 10.0, + "qtyStep_notional_usd": 11.55, + "minNotional": "5" + }, + { + "symbol": "CLUSDT", + "price": 93.2, + "tickSize": 0.01, + "tick_bps": 1.073, + "qtyStep": 0.01, + "qtyStep_notional_usd": 0.93, + "minNotional": "5" + }, + { + "symbol": "PUMPFUNUSDT", + "price": 0.004997, + "tickSize": 1e-06, + "tick_bps": 2.0012, + "qtyStep": 100.0, + "qtyStep_notional_usd": 0.5, + "minNotional": "5" + }, + { + "symbol": "ENAUSDT", + "price": 0.2583, + "tickSize": 1e-05, + "tick_bps": 0.3871, + "qtyStep": 1.0, + "qtyStep_notional_usd": 0.26, + "minNotional": "5" + }, + { + "symbol": "LINKUSDT", + "price": 15.241, + "tickSize": 0.001, + "tick_bps": 0.6561, + "qtyStep": 0.1, + "qtyStep_notional_usd": 1.52, + "minNotional": "5" + }, + { + "symbol": "DOGEUSDT", + "price": 0.09365, + "tickSize": 1e-05, + "tick_bps": 1.0678, + "qtyStep": 1.0, + "qtyStep_notional_usd": 0.09, + "minNotional": "5" + }, + { + "symbol": "WLDUSDT", + "price": 0.4845, + "tickSize": 0.0001, + "tick_bps": 2.064, + "qtyStep": 0.1, + "qtyStep_notional_usd": 0.05, + "minNotional": "5" + }, + { + "symbol": "ADAUSDT", + "price": 0.245, + "tickSize": 0.0001, + "tick_bps": 4.0816, + "qtyStep": 1.0, + "qtyStep_notional_usd": 0.24, + "minNotional": "5" + }, + { + "symbol": "TAOUSDT", + "price": 305.8, + "tickSize": 0.01, + "tick_bps": 0.327, + "qtyStep": 0.001, + "qtyStep_notional_usd": 0.31, + "minNotional": "5" + }, + { + "symbol": "XLMUSDT", + "price": 0.227, + "tickSize": 0.0001, + "tick_bps": 4.4053, + "qtyStep": 1.0, + "qtyStep_notional_usd": 0.23, + "minNotional": "5" + }, + { + "symbol": "UNIUSDT", + "price": 8.74, + "tickSize": 0.001, + "tick_bps": 1.1442, + "qtyStep": 0.1, + "qtyStep_notional_usd": 0.87, + "minNotional": "5" + }, + { + "symbol": "BTWUSDT", + "price": 1.0625, + "tickSize": 1e-05, + "tick_bps": 0.0941, + "qtyStep": 10.0, + "qtyStep_notional_usd": 10.62, + "minNotional": "5" + }, + { + "symbol": "1000PEPEUSDT", + "price": 0.004176, + "tickSize": 1e-06, + "tick_bps": 2.3946, + "qtyStep": 100.0, + "qtyStep_notional_usd": 0.42, + "minNotional": "5" + }, + { + "symbol": "LTCUSDT", + "price": 68.98, + "tickSize": 0.01, + "tick_bps": 1.4497, + "qtyStep": 0.1, + "qtyStep_notional_usd": 6.9, + "minNotional": "5" + }, + { + "symbol": "ARBUSDT", + "price": 0.20095, + "tickSize": 1e-05, + "tick_bps": 0.4976, + "qtyStep": 0.1, + "qtyStep_notional_usd": 0.02, + "minNotional": "5" + }, + { + "symbol": "XAUTUSDT", + "price": 4127.2, + "tickSize": 0.1, + "tick_bps": 0.2423, + "qtyStep": 0.001, + "qtyStep_notional_usd": 4.13, + "minNotional": "5" + }, + { + "symbol": "SNDKUSDT", + "price": 1715.64, + "tickSize": 0.01, + "tick_bps": 0.0583, + "qtyStep": 0.01, + "qtyStep_notional_usd": 17.16, + "minNotional": "5" + }, + { + "symbol": "AVAXUSDT", + "price": 10.485, + "tickSize": 0.001, + "tick_bps": 0.9537, + "qtyStep": 0.1, + "qtyStep_notional_usd": 1.05, + "minNotional": "5" + } + ], + "tick_bps": { + "min": 0.012, + "median": 0.83195, + "max": 4.4053 + }, + "tick_bps_gt_1bps": 12, + "of_n": 30 + } + }, + "fees_used": { + "bybit_taker_pct_per_leg": 0.055, + "bybit_maker_pct_per_leg": 0.02, + "kucoin_taker_pct_per_leg": 0.06, + "kucoin_maker_pct_per_leg": 0.02 + }, + "our_5m_distribution_notes": "Bybit v5 kline interval=5, paginated backwards via 'end' in pages of 1000; |close-open|/open and (high-low)/open in bp; coverage reported per symbol", + "our_5m_distribution": { + "BTCUSDT": { + "n_bars": 10000, + "from": "2026-08-25T04:05:00+00:00", + "to": "2026-09-28T21:20:00+00:00", + "mean_abs_5m_bp": 7.53, + "median_abs_5m_bp": 5.18, + "mean_range_bp": 14.58, + "median_range_bp": 11.75, + "p_abs_ge_5.7bp": 0.463, + "p_abs_ge_11bp": 0.217, + "p_range_ge_11bp": 0.544, + "p_range_ge_23bp": 0.148, + "p_range_ge_40bp": 0.032 + }, + "SOLUSDT": { + "n_bars": 10000, + "from": "2026-08-25T04:05:00+00:00", + "to": "2026-09-28T21:20:00+00:00", + "mean_abs_5m_bp": 13.47, + "median_abs_5m_bp": 9.69, + "mean_range_bp": 26.56, + "median_range_bp": 21.85, + "p_abs_ge_5.7bp": 0.696, + "p_abs_ge_11bp": 0.44, + "p_range_ge_11bp": 0.891, + "p_range_ge_23bp": 0.464, + "p_range_ge_40bp": 0.149 + }, + "DOGEUSDT": { + "n_bars": 10000, + "from": "2026-08-25T04:05:00+00:00", + "to": "2026-09-28T21:20:00+00:00", + "mean_abs_5m_bp": 15.21, + "median_abs_5m_bp": 10.39, + "mean_range_bp": 29.58, + "median_range_bp": 23.46, + "p_abs_ge_5.7bp": 0.704, + "p_abs_ge_11bp": 0.479, + "p_range_ge_11bp": 0.886, + "p_range_ge_23bp": 0.512, + "p_range_ge_40bp": 0.201 } } } \ No newline at end of file