Bitsgap logo
 Поиск
Ваш бот не получил эту цену

Ваш бот не получил эту цену

Бэктест бота показывает одну цену, а реальная торговля — другую. Вот что находится между ними, почему ликвидность и размер ордера определяют этот разрыв, и как Stop не дать ему незаметно съесть преимущество стратегии.

Проскальзывание — это разница между ценой, на которую нацелен ордер бота, и ценой его фактического исполнения. Оно возникает из-за глубины книги заявок, а не потому, что биржа кого-то обманывает — Market-ордер поглощает ликвидность на каждом ценовом уровне, и средняя цена исполнения отдаляется от лучшей котировки по мере увеличения объёма. По данным собственного бэктестинга Bitsgap, обычное проскальзывание составляет 0,05%–0,30% на сделку, резко увеличиваясь при низкой ликвидности и всплесках волатильности. Для бота, совершающего десятки циклов в неделю, эта разница накапливается и превращается в заметную часть доходности, которую обещал бэктест.

Кратко

  • Проскальзывание = котируемая Цена минус Заполненная Цена, и оно присутствует на каждой бирже, а не только на DEXs
  • Размер ордера по отношению к глубине стакана — главный фактор: один и тот же ордер вызывает большее проскальзывание на малоликвидной паре, чем на ликвидной.
  • Ордеры типа Limit ограничивают проскальзывание, но могут не исполниться; ордера типа Market гарантируют исполнение, но не гарантируют цену
  • GRID-боты, DCA-боты и COMBO-боты испытывают проскальзывание по-разному, поскольку размещают различные типы ордеров в разные моменты времени
  • Бэктесты обычно недооценивают проскальзывание, если предположения о комиссии и проскальзывании не установлены реалистично.

Что такое проскальзывание на самом деле

Проскальзывание — это разница между ценой, которую трейдер или бот рассчитывает заплатить, и ценой, по которой ордер фактически заполняется. Это происходит потому, что книга заявок — это не одна цена, а лестница из цен с ограниченным объемом на каждой ступени. Market-ордер не покупает по верхней цене из книги заявок; он проходит через книгу, уровень за уровнем, пока весь объем ордера не будет заполнен. Чем больше ордер по сравнению с доступным объемом на каждом уровне, тем дальше средняя цена заполнения уходит от первой цифры на экране.

Это характерно не только для криптовалют или ботов. Любой Market с конечной книгой заявок вызывает проскальзывание при больших объемах. Разница между активами и биржами заключается в том, сколько ликвидности находится рядом с текущей Ценой — именно этот показатель на самом деле определяет издержки.

Откуда возникает разница

Три фактора влияют на размер спреда в конкретной сделке:

Глубина книги заявок. Пара с низкой ликвидностью содержит мало ордеров рядом с текущей ценой. Даже небольшой ордер может пройти через несколько уровней цен, прежде чем будет заполнен, и средняя Цена исполнения окажется значительно выше котировки. Глубокая книга заявок поглощает такой же ордер практически без изменений.

Размер ордера относительно этой глубины. Тот же ордер на $500, который незаметен на одной из топ-10 пар BTC, может существенно сдвинуть цену на малоизвестном альткойне с низкой капитализацией. Проскальзывание зависит от соотношения размера ордера к доступной ликвидности, а не только от суммы в долларах.

Волатильность и тайминг. Во время резких движений стакан постоянно опустошается и наполняется заново. Ордер, отправленный с опозданием всего на секунду, может попасть в стакан, который уже стал менее ликвидным, чем казалось при проверке стратегией. Именно поэтому проскальзывание увеличивается во время новостей, каскадов ликвидаций и в первые минуты после выхода важных данных — тот же ордер, который стоит 0,05% в спокойный день, во время всплеска может обойтись в несколько раз дороже.

Данные бэктестирования Bitsgap напрямую отражают этот диапазон: реальное проскальзывание обычно составляет 0,05%–0,30% при нормальных рыночных условиях и значительно увеличивается во время стрессовых событий и на малоликвидных ордербуках — именно поэтому бэктест, который игнорирует этот фактор, может выглядеть прибыльным на бумаге, но в реальной торговле результат окажется нулевым или даже отрицательным.

Market-ордера против Limit-ордеров: где проходит грань между ними

Выбор между типами ордеров на самом деле является выбором того, какой риск трейдер готов принять.

Market ордер гарантирует исполнение, но не Цена. Он исполняется немедленно по доступной ликвидности, именно поэтому этот тип ордера наиболее подвержен проскальзыванию — он принимает ту Цена, которую предлагает стакан, уровень за уровнем, без ограничений сверху.

Limit ордер гарантирует Цена, но не исполнение. Такой ордер размещается в стакане и исполняется только по указанной или более выгодной цене. Если рынок так и не достигнет этой цены, ордер просто не будет исполнен — это означает отсутствие проскальзывания по данной сделке, но также и упущенный вход или выход, если стратегия зависела от точного момента.

Большинство стратегий ботов используют оба типа ордеров, но в разные моменты. GRID-бот по своей конструкции размещает Limit-ордера по всему диапазону, что частично объясняет, почему стратегии GRID обычно меньше подвержены проскальзыванию при входе — Цена фиксируется до отправки ордера. Начальные и усредняющие ордера DCA-бота также, как правило, основаны на Limit, но его Stop Loss или экстренный выход, если они срабатывают, часто требуют Market-ордера, чтобы гарантировать фактическое закрытие позиции. COMBO-боты наследуют оба подхода, поскольку объединяют логику GRID и усреднение DCA внутри одной позиции Futures, а также добавляют Плечо — что увеличивает риски при выходе через Market-ордер, ведь тот же процент проскальзывания теперь применяется к большей номинальной позиции.

Сколько это стоит на практике

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

По этой же причине результаты бэктеста и реального запуска с идентичной конфигурацией редко совпадают. Бэктест, в котором предполагается нулевая или нереалистичная проскальзывание, фактически тестирует стратегию в условиях, которых не существует на реальной книге заявок. Решение — это не полный отказ от рыночных ордеров, а понимание, какие части стратегии действительно требуют их использования, и такой подбор размера позиции, чтобы сам ордер не стал фактором, влияющим на цену.

Снижение проскальзывания при работе бота в реальном времени

  • Торгуйте ликвидными парами. Топ-20 по рыночной капитализации на крупной площадке всегда будут иметь меньший проскальзывание, чем пары с низкой капитализацией, независимо от выбранной стратегии.
  • Размер ордеров определяйте по глубине, а не по балансу аккаунта. Позиция, рассчитанная для «тонкой» Книги заявок, должна быть меньше, чем при таком же процентном распределении на «глубокой».
  • Отдавайте предпочтение Limit-ордерам, если стратегия это позволяет. Входы GRID-бота и DCA-бота не требуют использования Market-ордеров — Цена уже определена.
  • Перед тем как доверять показателю доходности в бэктесте, ознакомьтесь с предположениями о проскальзывании. Бэктест с нулевым проскальзыванием — это не прогноз, а наилучший сценарий, который не повторится при реальной торговле.
  • Ожидайте большего проскальзывания не только при низкой ликвидности, но и во время волатильности. Ликвидная пара на спокойном рынке и та же пара во время ликвидационного каскада — это две совершенно разные среды исполнения.

Часто задаваемые вопросы

Что такое проскальзывание в торговле крипто-ботами? Проскальзывание — это разница между ценой, на которую ориентируется ордер бота, и ценой, по которой он фактически исполняется. Это происходит потому, что книга заявок содержит ограниченный объём на каждом ценовом уровне, поэтому достаточно крупный ордер исполняется по нескольким уровням, а не по одной фиксированной цене.

Проскальзывание происходит только при рыночных ордерах? В основном да. Рыночный ордер исполняется немедленно по доступной ликвидности, поэтому и существует риск проскальзывания. Limit-ордер исполняется только по указанной цене или лучше — он полностью исключает проскальзывание, но сделка может не состояться, если Цена так и не достигнет заданного уровня.

Какой уровень проскальзывания считается нормальным в криптотрейдинге? На ликвидных парах в спокойных условиях проскальзывание обычно составляет от нескольких базисных пунктов до нескольких десятых процента за сделку. Для малоликвидных или низкокапитализированных пар, а также во время событий с высокой волатильностью этот диапазон становится значительно шире.

У GRID-бота, DCA-бота и COMBO-бота одинаковый уровень проскальзывания? Нет. GRID-бот и DCA-бот размещают большинство ордеров как лимитные, что по своей сути ограничивает проскальзывание при входе. COMBO-бот сочетает оба подхода на кредитном Futures-позиции, поэтому проскальзывание при выходе по рыночному ордеру происходит на больший номинальный объем.

Как снизить проскальзывание при работе бота в реальном времени? Торгуйте ликвидными парами с большим объёмом, рассчитывайте размер позиции исходя из реальной глубины Книги заявок, а не баланса аккаунта, и используйте Limit-ордера там, где это позволяет стратегия. Во время волатильности даже на ликвидных парах стоит ожидать большего проскальзывания — глубина Книги заявок быстро уменьшается при резких движениях цены.

Почему результаты бэктеста отличаются от реальной торговли? Бэктест без учета реального проскальзывания и комиссий проверяет стратегию в условиях, которых не существует ни в одной живой книге заявок. В реальной торговле всегда присутствует разница между котируемой и заполненной ценой — бэктест может только приблизительно оценить этот разрыв, но никогда не даст гарантии.

Хотите получать больше прибыли с криптовалюты?

Bitsgap помогает криптотрейдерам зарабатывать больше 24/7 с помощью торговых ботов.

Начать пробный период Free

Пробный период Pro на 7 дней. Кредитная карта не требуется

Попробуйте Bitsgap PRO бесплатно в течение 7 дней, а затем выберите подходящий тарифный план.

Выполняется в 3 этапа и торгует за вас.

Все ваши данные защищены шифрованием высокого уровня