Price impact — влияние вашего обмена на доступную цену пула, а slippage — разница между ожидаемой и фактической ценой исполнения. Существенное влияние объёма уже может входить в первоначальную котировку. Поэтому низкий допуск проскальзывания не делает плохое исходное предложение хорошим, даже если сумма кажется небольшой относительно вашего баланса.
Разместите два эффекта на временной линии
Сначала сервис рассчитывает, сколько вы получите за предложенную сумму через доступную ликвидность. В этот расчёт уже может входить изменение цены, которое вызовет сам объём обмена. Затем между получением котировки и исполнением меняется состояние рынка или пула. В объяснении Uniswap о двух терминах отдельно рассматриваются влияние собственной сделки и расхождение ожидания с итогом.
Настройка допуска обычно ограничивает конкретное условие исполнения. Для обмена с фиксированной входной суммой это может быть минимум получаемого актива. Она не является универсальным пределом любых расходов относительно цены на стороннем сайте. Читайте действительные параметры операции: у запроса на точную выходную сумму ограничение будет иным. Комиссии и особенности токена также могут давать отдельные удержания. Одного значения в процентах для полного вывода недостаточно.
Небольшая для вас сумма бывает большой для пула
Сравнивать нужно объём вашей операции с ликвидностью, доступной на выбранном маршруте. Десять единиц могут быть незначительной частью портфеля, но существенной долей маленького пула. Общая оценка токена на рынке и остаток в вашем кошельке не равны доступному объёму по показанной цене. В описании price impact от Uniswap глубина пула названа одним из факторов влияния сделки.
Отсюда следует, почему увеличение допуска не исправляет предупреждение о высоком влиянии на цену. Новая настройка разрешает исполнение хуже уже полученной котировки, но не создаёт дополнительную ликвидность. Уменьшение входной суммы может изменить предложение, однако сравнение нужно повторить с учётом постоянных сетевых расходов. Автоматически считать дробление дешевле тоже нельзя: отдельные исполнения добавляют затраты, а состояние между ними способно измениться.
Сначала разберите котировку на числовом примере
Возьмём упрощённую учебную модель постоянного произведения. В пуле лежат 100 единиц условного токена A и 100 единиц условного токена B. Комиссии и посторонние операции исключены. Исходное соотношение равно одному B за один A, но внесение десяти A не позволяет вывести десять B. Для сохранения произведения остаток B составит 10 000, делённые на 110. На выходе получится примерно 9,090909 B.
Механизм постоянного произведения описан в документации обменов Uniswap v2. В учебном расчёте настоящие комиссии специально убраны, чтобы показать только арифметику. Это не актуальная котировка и не описание каждого современного пула. Концентрированная ликвидность, сложный маршрут, книга заявок и правила токена требуют собственных расчётов исполнения.
| Этап примера | Расчёт | Результат | Что установлено |
|---|---|---|---|
| Сравнение без влияния сделки по исходному соотношению | 10 A умножить на 1 B за A | 10 B | Это точка сравнения, не обещанный результат |
| Котировка после учёта движения резервов | 100 минус 10 000, делённые на 110 | Примерно 9,090909 B | Собственная сумма уже ухудшила исполнимый курс |
| Недобор относительно выбранного ориентира | Разницу 10 и 9,090909 разделить на 10 | Примерно 9,09% | Это определённое для примера сравнение, а не формула любого интерфейса |
| Минимум при допуске 1% от котировки | 9,090909 умножить на 0,99 | 9 B | Допуск считается от котировки, а не от 10 B |
| Разница с исходным ориентиром на этом минимуме | 10 B минус 9 B | 1 B | Допуск 1% не ограничил общую разницу одним процентом |
Главная деталь — база сравнения. Даже без дальнейшего проскальзывания котировка 9,090909 B уже ниже исходных десяти B. Девять B в показанном случае всё ещё удовлетворяют выбранному пределу исполнения. Противоречия с допуском один процент нет: он применён к другой исходной сумме. Конкретное приложение может иначе рассчитывать или подписывать показатель влияния, поэтому сохраняйте его определение рядом с записанным процентом.
Комиссии сети и удержания токена записывайте отдельно
Цена пула, плата приложения, удержание самого токена и сетевой расход — разные величины. Одни входят в отображаемый результат, другие оплачиваются отдельной монетой. До сравнения двух маршрутов установите чистую получаемую сумму, актив оплаты газа и необходимость предварительного разрешения. Процент в заголовке не позволяет корректно сопоставить предложения с разным порядком отображения расходов.
Неудачная попытка также может стоить денег, если транзакция выполнялась в сети. Это дополнительная причина разобраться с котировкой и ограничениями до повторной отправки, а не постепенно повышать допуск. Не меняйте разрешения токена лишь из-за ценового предупреждения. Они задают, что контракт вправе потратить, но сами по себе не улучшают цену доступной ликвидности.
Список проверки предложения перед подписью
- Сохраните точную входную и ожидаемую выходную сумму, активы и сети. Сопоставляйте одинаковые единицы и настоящие контракты токенов.
- Установите ориентир, от которого рассчитан показатель влияния. Цена на информационном сайте может быть недоступна для реального исполнения вашей суммы.
- Найдите фактическое ограничение транзакции: минимум выхода, максимум входа или другое условие. Проверьте, какие комиссии оно учитывает.
- При изменении суммы или маршрута получите свежую котировку. Не переносите прежний процент в другую операцию без нового расчёта.
- Включите в итоговое сравнение разрешения, сетевые расходы и удержания токена. Разберите предупреждения до подписи, не считайте повышенный допуск способом ремонта.
Объяснение различий нативной монеты и токена поможет отделить отправляемый актив от монеты оплаты сети. Материал о лимите газа касается бюджета выполнения — это ещё одна самостоятельная настройка. Ни увеличенный лимит, ни расширенное разрешение контракту напрямую не убирают влияние вашей суммы на цену.
При рассмотрении обмена без регистрации сравнивайте фактически предложенную выходную сумму и условия текущей заявки. Проверьте заявленные платежи по странице комиссий, а при изменении входной суммы получите свежую котировку. Для последующей сверки сохраняйте исходное предложение, параметры заявки и конечное поступление. Процент, взятый из другого маршрута, эти записи не заменяет.
Частые вопросы
В чём разница price impact и slippage?
Первый показатель относится к влиянию самой операции на доступную цену. Второй сравнивает ожидаемое исполнение с фактическим, поэтому база у этих процентов может различаться.
Почему появляется price impact too high при маленьком обмене?
Сумма может быть большой относительно ликвидности конкретного маршрута, даже если для вас она мала. Проверяйте предложение и доступный объём, а не только размер собственного баланса.
Как работает формула price impact?
Нужно знать модель исполнения и выбранный ценовой ориентир. В статье рассчитан упрощённый пул постоянного произведения без комиссий; его результат нельзя автоматически считать формулой каждого интерфейса.