Проскальзывание (slippage): почему сделка исполняется по другой цене и как это контролировать

Проскальзывание (slippage) — это разница между ожидаемой ценой сделки на момент отправки ордера и фактической ценой её исполнения.

Оно может быть:

  • отрицательным — сделка исполнилась хуже ожидаемой цены;
  • положительным — сделка исполнилась по более выгодной цене.

Проскальзывание (slippage): почему сделка исполняется по другой цене и как это контролировать

В крипте и DeFi проскальзывание особенно заметно:

  • при крупных сделках на тонких рынках;
  • при свопах через AMM (Uniswap-стиль) и маршрутизаторы DEX;
  • во время новостей и резких движений рынка;
  • в ончейн-средах с очередями и MEV-активностью (сэндвич-атаки, фронт-ран).

Проскальзывание само по себе не «баг», а следствие устройства рынков, ликвидности и инфраструктуры.

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

Представим:

  • в стакане вы видите цену BTC 60 000 USDT;
  • отправляете маркет-ордер на покупку 1 BTC;
  • фактическое исполнение — по средней цене 60 300 USDT.

Разница +300 USDT (примерно +0,5 %) между ожидаемой и фактической ценой и есть проскальзывание.

Аналогично на DEX:

  • интерфейс показывает, что вы получите 100 токенов за свой стейблкоин;
  • после свопа на кошелёк приходит 98,7 токена;
  • 1,3 токена «потерялись» не в комиссиях, а из-за slippage и price impact.

Основные источники проскальзывания

Спрэд и глубина рынка

На биржах с книгой заявок (order book):

  • есть спрэд между лучшей ценой покупки (bid) и продажи (ask);
  • если вы берёте по рынку, то сразу платите этот спрэд;
  • при крупном объёме вы «съедаете» соседние уровни стакана, ухудшая среднюю цену.

Чем тоньше книга и больше ваш ордер, тем сильнее price impact и тем больше проскальзывание.

Волатильность и задержки (латентность)

Рынок живёт в постоянно меняющихся котировках:

  • между моментом, когда вы увидели цену, и моментом исполнения ордера, она может успеть заметно измениться;
  • в ончейн-сетях есть задержка включения транзакции в блок;
  • на CEX возможны очереди на matching-движке.

Чем выше волатильность и длиннее «время в полёте» заявки, тем больше риск slippage.

Механика AMM и формулы цены

В AMM (Uniswap v2-стиль) цена определяется не стаканом, а состоянием пула. Для классического пула:

  • резервы токенов X и Y связаны соотношением x · y ≈ const;
  • каждый дополнительный купленный/проданный токен слегка сдвигает цену;
  • большой своп относительно размера пула создаёт заметный price impact.

Даже если рынок «стоит», крупная сделка в маленьком пуле приводит к сильному проскальзыванию только за счёт кривой AMM.

В стейбл-платформах (stableswap, как в Curve Finance) формулы сглаживают цену вокруг паритета, но на «краях» диапазона price impact растёт очень быстро.

MEV, фронт-ран и конкуренция транзакций

В ончейн-среде к обычному slippage добавляются:

  • фронт-ран и сэндвич-атаки (см. MEV): кто-то вставляет свою транзакцию до/после вашей, чтобы заработать на разнице цен;
  • конкуренция за включение в блок — другие трейдеры отправляют сделки по тому же маршруту чуть раньше или с более высоким приоритетом;
  • блок-билдеры и поисковики могут «переставить» транзакции, меняя фактическую цену вашей сделки.

Если вы задаёте слишком широкий допуск по slippage, итоговая цена может оказаться намного хуже первоначальной котировки.

Проскальзывание в order book и в AMM

Order book: маркет-ордера и частичное исполнение

В модели книги заявок:

  • маркет-ордер исполняется по лучшим доступным лимитным ордерам;
  • если объём маркет-ордера больше, чем объём по лучшей цене, исполнение продолжается по следующей цене и так далее;
  • итоговая средняя цена сделки рассчитывается как объёмно-взвешенная (VWAP).

Источники slippage:

  • спрэд и «ступеньки» ликвидности;
  • выдавливание цены при крупном объёме;
  • исполнение стоп-ордера в условиях гэпов и разрывов ликвидности.

Управление:

  • использование лимит-ордеров вместо маркет-ордеров;
  • согласие на частичное исполнение;
  • разбиение крупного объёма на серии меньших сделок.

AMM: кривая x·y=k и price impact

В классическом AMM-пуле:

  • текущая цена задаётся отношением резервов токенов;
  • каждый своп меняет резервы, а значит, и цену;
  • чем больше отношение размера свопа к резервам, тем сильнее price impact.

При небольшом свопе можно интуитивно считать:

  • чем меньше глубина пула и чем больше ваш обмен — тем больше %-ное отклонение цены;
  • для грубой оценки многие интерфейсы сразу показывают «Price impact: X %» до отправки транзакции.

В stableswap-кривах:

  • вокруг равновесной точки (1:1 для стейблкоинов) проскальзывание минимально;
  • при уходе в зону, где пул «перекошен» в сторону одного из активов, slippage резко растёт.

Поэтому:

  • для стейблкоинов и LST-пар (stETH/ETH) такие пулы дают низкий IL и низкий slippage;
  • для «косых» или тонких пулов по волатильным альтам слippage может быть двузначным даже на умеренных суммах.

Slippage tolerance в DeFi: minOut и deadline

При свопе на DEX вы почти всегда видите настройки slippage tolerance:

  • Slippage tolerance (%) — максимальное допустимое отклонение от котировки;
  • minOut — минимально приемлемое количество токена на выходе;
  • deadline — срок действия маршрута/котировки (до какого времени транзакция считается актуальной).

Механика:

  • если фактический результат хуже, чем minOut (или цена ушла дальше заданного % slippage), транзакция ревертится, вы теряете только газ;
  • если результат укладывается в допуск, своп проходит по реальной цене.

Баланс:

  • слишком узкий допуск → много отклонённых свопов и потраченного газа;
  • слишком широкий допуск → повышенный риск сэндвич-атак и крайне невыгодного исполнения.

Практический ориентир:

  • для топовых пар (ETH/USDT, BTC/USDT) в спокойном рынке часто достаточно 0,1–0,5 %;
  • для средних и тонких альтов — 1–3 % и выше, но только если вы осознанно принимаете риск.

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

По сути slippage — это ex-post-метрика:

  • вы сравниваете ожидаемую цену/количество (котировка до сделки);
  • с фактической ценой/количеством после исполнения;
  • разницу выражаете в процентах.

Иногда имеет смысл считать:

  • отдельным показателем price impact (то, что можно оценить до сделки из глубины/пула);
  • и собственно slippage как совокупность всех факторов (volatility, latency, MEV).

Для системной торговли и арбитража:

  • логируйте slippage по каждой сделке;
  • используйте статистику для выбора площадок, пулов и времени торгов;
  • учитывайте «ожидаемый slippage» в моделях прибыли/убытка.

Как уменьшить проскальзывание: практические приёмы

При торговле на централизованных биржах (CEX)

  • по возможности используйте лимит-ордера, а не «рыночные»;
  • разбивайте крупные ордера на несколько меньших;
  • избегайте торговли по тонким книгам на экзотических парах;
  • проверяйте глубину стакана перед крупной сделкой;
  • учитывайте режим рынка: во время новостей спрэды и slippage почти всегда выше.

При свопах на DEX и в DeFi

  • выбирайте глубокие пулы с большим TVL и оборотом;
  • избегайте «косых» маршрутов через малоликвидные токены, если это не сознательная стратегия;
  • настраивайте адекватный slippage tolerance и deadline;
  • по возможности используйте DEX-агрегаторы, которые сами подберут лучший маршрут;
  • при значимых суммах рассматривайте использование private orderflow или защищённых релеев (там, где доступны), чтобы уменьшить риск MEV.

Для крупных ордеров и арбитража

  • используйте TWAP/разбиение сделки по времени;
  • работайте через RFQ/OTC-каналы, если нужно «под размер»;
  • заранее симулируйте маршруты и влияние на цену;
  • закладывайте «бюджет» на slippage в расчёте эффективности стратегии.

Проскальзывание, плечо и ликвидации

При торговле с плечом (leverage trading) и на бессрочных фьючерсах проскальзывание особенно критично:

  • ухудшение входа/выхода по цене сокращает запас до ликвидации;
  • на низколиквидных рынках стоп-ордера могут исполниться заметно хуже ожидаемой цены;
  • в моменты паники или шорт-/лонг-сквизов даже небольшие ордера могут давать большое slippage.

Важно учитывать это при расчёте:

Типичные сценарии и советы

Сценарий Риск по проскальзыванию Что делать
Крупный своп в малом AMM-пуле Высокий price impact, двузначный slippage Разбить сделку на части, выбрать более глубокий пул или другой маршрут, использовать агрегатор
Новостной всплеск на CEX Расширение спредов, «дырки» в стакане, резкие шпили Работать лимит-ордерами, либо переждать волатильность, отказаться от крупного маркет-ордера
Ончейн-своп в загруженной сети Устаревание котировки до включения в блок Повысить приоритет (газ), сократить deadline, не завышать slippage tolerance
Сэндвич-атаки на DEX Существенное ухудшение итоговой цены по сравнению с котировкой Использовать private-маршруты/защищённые релеев, умеренный slippage tolerance, избегать очень широких допусков

FAQ о проскальзывании (slippage)

Почему цена сделки отличается от той, что я видел в интерфейсе? Потому что цена — это «моментальный снимок» рынка. Пока ваш ордер исполняется, часть ликвидности может быть уже израсходована другими участниками, а котировки сдвинутся. На DEX к этому добавляются формула AMM и задержка включения транзакции в блок.

Что такое slippage tolerance и как его настроить? Это максимальное отклонение от котировки, которое вы готовы принять. В DeFi оно задаётся в процентах или через minOut. Слишком узкий допуск вызывает ревёрты транзакций, слишком широкий — повышает риск крайне невыгодной цены и MEV-атак. Для мейджоров в спокойном рынке обычно достаточно 0,1–0,5 %.

Бывает ли положительное проскальзывание? Да. Иногда рынок двигается в вашу сторону между моментом запроса и исполнением, и сделка проходит по более выгодной цене. Но на активных рынках «подарки» часто забирают маркет-мейкеры и арбитражёры, поэтому чаще пользователь видит именно отрицательное slippage.

Помогают ли агрегаторы ликвидности уменьшить проскальзывание? Часто да: агрегаторы разбивают объём по нескольким пулам и биржам, находя маршрут с минимальным price impact. Но важно учитывать их собственные комиссии и газовую стоимость сложных маршрутов.

Можно ли полностью избежать проскальзывания? Полностью — нет. Любой живой рынок с дискретной ликвидностью и волатильностью неизбежно даёт slippage. Реалистичная цель — контролировать его уровень: выбирать площадки и инструменты, уменьшать размер ордеров относительно ликвидности и правильно настраивать параметры сделок.

См. также

Task Runner