ziscode
ziscode личный блог
Вчера в 21:36

Проверил 288 тысяч стратегий на криптобиржах: почему почти все проигрывают комиссиям

 

Сразу скажу, что я разработчик сервиса, о котором пойдёт речь, ссылка будет в конце. Но пост о другом — о том, что показали данные, когда я попробовал честно проверить, на чём можно заработать на криптобиржах. Многое оказалось неприятным. 
**Что я сделал**
Система следит за 11 монетами (BTC, ETH, SOL, XRP, DOGE, BNB, ADA, LINK, AVAX, SUI, LTC) на споте и фьючерсах Bybit, Binance и MEXC — это 66 рынков. Лучшие цены и объёмы снимаются каждые 0,1 секунды. Поверх этого — перебор стратегий: импульс, откат, «догоняющий» рынок, разрыв цен между биржами. Шесть таймфреймов, от секунд до часа, разные выходы: по времени, лимитом, следящим стопом. За один пересчёт проверяется около 288 тысяч вариантов.
Главное, на что ушло время, — модель исполнения. Почти все бэктесты, которые я видел, исполняют сделку по идеальной цене в момент сигнала. Здесь:
— ордер доходит до биржи через реальную задержку (замер связи с биржей); — исполнение по **худшей** цене за время, пока биржа присылает обновление (у MEXC фьючерсов это пачки примерно по 0,2 с); — лимитный выход засчитывается, только если цена прошла **сквозь** уровень, а не коснулась его; — комиссии тейкера и мейкера на входе и выходе.
И тесты, которые проверяют, что торговля на бумаге по живым ценам даёт ровно те же сделки, что проверка на истории.
**Находка 1. Кто кого опережает — и почему это бесполезно**
Почти на всех монетах первым двигается фьючерс Bybit (и Binance), а фьючерс MEXC повторяет движение примерно через 0,2 секунды, спот MEXC — через 0,1. Модель, которая смотрит на лидера, угадывает направление отстающего рынка на 3 секунды вперёд в 57–74% случаев — на данных, которых не видела при обучении.
Звучит как грааль. Но к моменту, когда ордер доходит до биржи (350 мс задержки с моего сервера плюс пачка MEXC в 250 мс), от этого движения остаётся около +0,006% даже на самых сильных сигналах. Комиссия за круг — 0,05–0,07%. Разница — в десять раз не в нашу пользу. Без сервера рядом с биржей и нулевых комиссий это не торгуется.
**Находка 2. 88 сделок: +0,02 $ до комиссий, −10,39 $ после**
Первый автопилот брал идеи, которые на проверочной части истории выглядели прибыльными, и торговал их на бумаге. За день — 88 сделок. До комиссий: +0,02 $. Комиссии: 10,39 $. Итог −10,37 $.
То есть стратегии вообще ничего не предсказывали. Причина классическая и при этом легко забываемая: когда перебираешь сотни тысяч вариантов, часть из них **обязательно** будет хорошо выглядеть на проверочных данных просто случайно. Out-of-sample не спасает, если выбирать лучшие по тому же out-of-sample.
Что помогло: идея проходит, только если зарабатывает на части истории для подбора **и отдельно в каждой половине** проверочных данных, а ранжируется по худшей половине. Плюс минимум сделок. На 35 часах истории после этого не прошло ни одной идеи из 860 — честный ответ «торговать нечего». На 14 днях истории проходит 10–20.
**Находка 3. Как система «подтвердила» несуществующую закономерность**
Когда я добавлял Binance, я дозаполнил историю минутными свечами. В часах, где остальные биржи записаны каждые 0,1 с, Binance получил закрытие предыдущей минуты — чтобы не заглянуть в будущее. Пересчёт выдал шесть «подтверждённых» идей вида «Догоняющий 1 минута → Binance фьючерс» с +9,71 $ в сутки на $100 и 67% прибыльных.
Это была выдуманная мной же минутная задержка Binance, которую стратегия честно «нашла». На живом рынке её нет. Поймал, исправил, переписал данные. Мораль для всех, кто склеивает тиковые и минутные данные: разная дискретность рынков сама по себе создаёт «опережение».
**Находка 4. Фандинг: деньги есть, но мало и не там, где кажется**
Разница фандинга между биржами иногда выглядит огромной: на скринере OGN показывал +0,72% в сутки. Но MEXC по части монет платит раз в 4 часа, Bybit — раз в 8. Если сравнить одинаковые окна, остаётся 0,15%. По RSR текущие ставки обещали +0,66% в сутки, а за последние выплаты разница шла в обратную сторону.
Стабильно в плюсе — порядка 0,1–0,2% в сутки, с окупаемостью комиссий за 1–3 дня. Мои первые три позиции на бумаге за несколько часов закрылись в минус на комиссиях и спреде. Работает, но это медленные деньги.
**Что в итоге проходит проверку**
На момент написания — в основном откаты и импульсы на часовом и 10–15-минутном масштабе на фьючерсах, от +0,2 до +0,5% в среднем за сделку после комиссий, при 45–65% прибыльных сделок. Подтверждённых (90% уверенности и 15+ сделок на проверке) — единицы. Цифры обновляются при каждом пересчёте, и я не обещаю, что через месяц будет так же: рынок меняется, поэтому стратегии, ушедшие в минус вживую, выключаются автоматически.
**Выводы**
— Если бэктест не учитывает задержку, худшую цену и комиссии — его результатам нельзя верить. — Чем больше вариантов перебираете, тем строже должна быть проверка. Одной out-of-sample выборки мало. — Межбиржевой «арбитраж» на крупных биржах почти всегда меньше комиссии за круг. — Секундные эффекты реальны, но без колокации их съедает задержка. — Самое полезное, что может сделать система, — честно сказать «сейчас торговать нечего».
**Ссылка**
Всё это я собрал в сервис: сигналы с шансами (направление, вход, выход, доля прибыльных и средний итог после комиссий), автопилот на бумаге, проверка своих стратегий на истории. Есть бесплатный тренажёр без регистрации: вам показывают реальный момент из истории, вы решаете — лонг, шорт или пропуск — и сразу видите, что было дальше.
spreadlab.tech/?utm_source=smartlab&utm_medium=post&utm_campaign=launch
Буду рад критике методики в комментариях — особенно по проверке на переобучение.
*Не инвестиционная рекомендация. Торговля криптовалютой связана с риском потери средств.*
Данная публикация является личным мнением автора. Мнение владельца сайта может не совпадать с мнением автора.
11 Комментариев
  • ves2010
    Вчера в 21:53

    надо изначально смотреть скорость выставления заявок… у мя например 0.2-8сек… соответственно я не могу торговть чаще чем 8сек *20 (запас)=160 сек

    второй момент что за чем ходит — возможно это разный пинг… 0.2 сек слишком маленький интервал...

    лучше смотреть какая крипта ходит первой, а какие ее догоняют... 

    третий момент это комисс — он должен быть 1/10 от средней сделки… и это тоже определяет таймфрейм

    выбор таймфрема прост крайне… делаешь индикатор зиг заг который смотрит в будущее… прикручиваешь комиссы...  и смотришь на каком периоде загзага получилося максимальный профит… это и будет таймфрейм

    вообще крипта крайне неудобна… лучше торговать qqq во время торгов на сша… через криптофьючерс… 6 часов -5 дней в неделю… чем 24-7

  • PeptideNovaru
    Сегодня в 01:18

    Пост честнее 95% крипто-контента, но финальный блок всё ещё слишком оптимистичен. «Откаты и импульсы дают +0,2–0,5% после комиссий» — это пока не результат, а гипотеза, пока нет длительного forward-live и поправки на сотни тысяч тестов.

    | При 288 000 вариантов даже очень строгий фильтр может оставить несколько ложных «подтверждённых» идей. Нужны не «90% уверенности», а конкретика: сколько независимых периодов, какой p-value после поправки, какая просадка, какой реальный slippage. Нужны Bonferroni, Benjamini–Hochberg, White’s Reality Check или хотя бы честный deflated Sharpe ratio))

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн