31 Октября 2026 · микроструктура

Мы бэктестировали на Binance и торговали на бумаге на Bybit. Преимущество оказалось лагом.

Мы бэктестировали на Binance и торговали на бумаге на Bybit. Преимущество оказалось лагом.

У нас была 1-минутная импульсная стратегия по BTC, которая выглядела честной на Binance. Комиссии taker, фандинг, слагаемое импакта с квадратным корнем, которое мы уже слегка сделали слишком жёстким. Walk-forward, за который не было стыдно. Бумажный счёт жил на Bybit, потому что ключи были там. Я говорил себе: BTC есть BTC. К пятнице у меня была стратегия, которая торговала lead-lag, который мы не могли исполнить, и Sharpe, принадлежавший бирже, на которой у нас не было счёта.

Понедельник: чистый бэктест на Binance

Агент выдал почти скучное: доходность за 15 баров против медленной средней, лонг или шорт от открытия следующего бара, закрытие по стопу или через 12 минут. Мы натянули это на Binance USD-M BTCUSDT, с 2023 по начало 2026, и отказались смотреть на что бы то ни было до вычета издержек.

После 4.0 bps taker, почасового фандинга и импакта walk-forward Sharpe стоял на 1.6. Средний чистый edge на исполнение составлял 3.4 bps. Сделок было достаточно, чтобы я перестал ковырять бутстрап. Запас по латентности, который мы и так закладываем под свой стек (от сигнала до ордера, 40 миллисекунд в хороший день), почти ничего не сдвинул. Помню лёгкое раздражение, что конструкция не хрупче.

Вторник: бумажный счёт начинает «проскальзывать»

Бумага стартовала в 09:12 UTC. Тот же код, те же параметры, то же правило «следующее открытие», нацеленное на linear BTCUSDT Bybit. Первые послеполуденные часы выглядели как полоса невезения. Мы исполнялись на 2–8 bps хуже, чем реплей Binance тех же минут, всегда в сторону сделки. Блоттер говорил: проскальзывание. Я верил блоттеру, пока промахи не скучковались на тех минутах, где Binance уже побежал.

За ночь гэп не вернулся к среднему так, как возвращается к среднему шумная модель исполнения. Он сидел на месте. Покупка на Bybit печаталась по цене, которую Binance показал на бит раньше, потом приезжал Bybit, потом мы за это платили. А минуты, которые хотела стратегия, были минутами, когда две ленты расходились. В тихие минуты закрытия лежали друг на друге, и стратегии было всё равно. Она отбирала расхождение и называла это альфой.

3.4 bpsсредний чистый edge на исполнение Binance
4.1 bpsмедианный гэп закрытий на минутах, которые мы реально торговали
1.6 → 0.4walk-forward Sharpe после нативного прогона на Bybit

Среда: две ленты, одни часы

Мы выгрузили оба last-trade фида, выровняли по биржевым временным меткам и задали грубый вопрос: когда BTC сдвигался хотя бы на 2 тика, какая площадка печатала первой? В спокойные часы Binance опережал Bybit примерно в 2/3 таких всплесков, медианное опережение около 40 миллисекунд, что внутри многих разговоров «мы добавили латентность» и снаружи 1-минутного бара. Во время вторничного CPI-релиза опережение растягивалось на сотни миллисекунд, и несколько противных секунд две last price расходились на $80. Я сидел с обоими стаканами и смотрел, как Bybit догоняет фильм, который Binance уже показал.

Вот таким был привкус недели, и в Sharpe этого нет. Можно головой понимать, что last price в крипте локальны для площадки. Другое дело — видеть ту же монету в двух окнах и осознать, что одно из них живёт в прошлом.

Потом мы сделали тест, который я должен был потребовать в понедельник. Оставить сигнал Binance. Исполнять по следующему открытию Bybit. Это фактическое информационное множество бумажного счёта, если подглядывать в ликвидную ленту и торговать в другом месте, и это ещё форма lookahead, которую никогда не получишь в размере: ты используешь цену, которую площадка исполнения ещё не напечатала. Edge ушёл в 0.6 bps. Переверни (сигнал Bybit, исполнение Binance) — и чеканишь фантазию. Binance на своей площадке остался на 3.4. «Стратегия» в основном состояла в том, чтобы быть на более быстром стакане.

Если площадка сигнала опережает площадку исполнения, каждое исполнение следующего бара на исследовательской ленте — это цена, которую счёту ещё не предлагали. Смешивать эти часы — не параметр проскальзывания. Это выдуманное исполнение.

1-минутный гэп закрытий на минутах, которые мы торговали, имел медиану 4.1 bps. Безусловно, по всем минутам, он был около 1.5. Разумеется. Сигнал срабатывает, когда кто-то уже начал двигаться. Мы мерили edge на отобранной выборке — ровно там, где живёт несогласие площадок.

Раньше я думал, что худший баг площадки — маппинг символов, BTCUSDT против BTC-PERP, джойн, который тихо дублирует позицию. Это бухгалтерия. Это было смотреть на два стакана во время CPI и заметить, что я исследовал рынок, которым не торгую.

Четверг: фандинг, mark и комиссии тоже были не тем же рынком

Как только признаёшь, что last price разные, приходится признать, что и остальной контракт рыночных данных тоже. Мы скопировали сетку комиссий Binance в бумажный счёт Bybit и потом удивлялись, почему плывёт строка издержек.

ПараметрБэктест BinanceБумага Bybit, та неделя
Last priceBinance USD-MBybit linear
Комиссия taker4.0 bps5.5 bps
Интервал фандингапочасовой00 / 08 / 16 UTC
Mark / indexкорзина Binanceкорзина Bybit
Мин. кол-во / тик0.001 / 0.100.001 / 0.10
Математика ликвидациине срабатывала, BTCдругой mark, всё равно не срабатывала

Тик и лот на BTC случайно совпали. Я бы это не обобщал. На стакане SOL, в который мы заглянули в четверг вечером, и tick size, и min notional различались, а гэп закрытий на торговых минутах был 11 bps. Фандинг был более медленной утечкой. Binance платил почасово. Bybit на этом linear всё ещё сидел на 8-часовых часах. Позиция, удержанная через 01:00 UTC, получала начисление Binance в исследовательском журнале и тишину на бумаге, потом ком в 08:00, который бэктест уже капал по каплям. Керри сходился за неделю и расходился за полдень — ровно тот горизонт, на котором жила эта стратегия.

Комиссии были почти скучными — и всё равно съели 1.5 bps из истории про 3.4 bps. Люди относят 4.0 против 5.5 в сноску, потому что рядом с дневным ходом 2% это выглядит мелко. Рядом с edge в 3.4 bps это не мелко. Мы это уже знали. Просто применили знание к сетке не той площадки.

Пятница: нативный прогон на Bybit

Пересобрали всё на OHLCV Bybit, метках фандинга Bybit, 5.5 bps Bybit. Тот же путь кода, те же walk-forward срезы, та же функция импакта. Sharpe 0.4. Средний чистый edge 0.9 bps, что внутри шума 1-минутной taker-стратегии, как только перестаёшь дарить ей первый взгляд Binance.

Это был другой рынок, а не более шумный. Бумага отвергла бэктест не потому, что бумага «реалистичнее» в абстракции. Бумага исполнялась в стакане, которого исследование никогда не видело. 1.6 было внутренне согласованным. 1.6 было согласовано про не ту биржу.

Версию Binance мы оставили в архиве с пометкой в отчёте: не гоняйте бумагу этого счёта против этой ленты. Версия Bybit — та, которой можно продолжать работать, на числе, про которое никто не напишет тред. Это правильный исход. Мне всё ещё чуть жаль 1.6 — так понимаешь, что оно делало работу, которую не заработало.

Что мы пропустим в следующий раз

Короткий путь был социологическим. Binance — лента, которую тебе хочет всучить каждый вендор, каждый исследовательский ноутбук, каждый дефолт агента. Счёт — там, где его реально получилось открыть. Эти два факта кажутся операционной мелочью. Они и есть бэктест.

  1. Сначала выбирайте площадку исполнения. Собирайте исследовательскую ленту из last price этой площадки, меток фандинга, mark, тиков и тарифного уровня. Если дефолт вендора — Binance, это не дефолт. Это другая стратегия.
  2. Если не можете получить историю по площадке, на которой будете вести бумагу, не подставляйте опережающую ленту и не называйте гэп проскальзыванием. Либо ждите, либо считайте чужую ленту запаздывающим сигналом и лагайте её до момента, когда её уже можно было увидеть в стакане исполнения.
  3. Когда сравниваете бумагу с бэктестом, разложите дрейф: гэп last price на торговых минутах, строка комиссий, временные метки фандинга, mark для стопов. Блоттер вторника смешал все четыре и подписал их проскальзыванием.
  4. Нарочно гоняйте перекрёстный тест. Сигнал на A, исполнение на B. Если там живёт весь edge, у вас нет стратегии. У вас lead-lag, который вам не исполнят в размере.

Подглядывал бы я всё ещё в Binance, торгуя на Bybit? Для дискреционной проверки — да. Для исполнения — нет. Бумажный счёт уже сказал нам, чего стоит этот взгляд. Он стоит тех 4.1 bps, которые другая комната напечатала первой, и эти 4.1 bps нам не достаются.

криптофьючерсыбэктестированиебумажная торговлярыночная микроструктураlead-lag
ПоделитьсяXLinkedInFacebookRedditHacker NewsWhatsAppTelegramEmail
← Все статьи