Непостоянные потери: сравниваем пул ликвидности с хранением
Позиция в пуле может дорожать в долларах и отставать от хранения внесённых токенов. Сравнивайте оба варианта по одним ценам.
Непостоянные потери - это отставание от хранения внесённых в пул токенов, оценённых по одним и тем же более поздним ценам. Позиция может дорожать в долларах и всё же уступать этому ориентиру.
Для проверки сохраните исходное количество токенов, текущее количество в позиции и один общий набор цен. Комиссионный доход и расходы записывайте отдельно. Квитанция о внесении средств и текущая итоговая сумма на панели сами по себе не покажут разницу.
Пример ниже описывает модель пула постоянного произведения из двух активов с полным диапазоном цен, пропорцией 50/50 и без комиссий. Это не прогноз, не актуальная котировка пула и не повод переводить средства. Не применяйте полученный процент напрямую к концентрированному диапазону Uniswap v3 или управляемому хранилищу.
Выберите базу сравнения до расчёта потерь
Balancer описывает непостоянные потери как упущенную выгоду от предоставления ликвидности вместо хранения отдельных активов. Значимо изменение цены одного токена относительно другого. Если обе долларовые цены растут в одинаковой пропорции, такого изменения относительной цены нет.
Запишите два варианта:
- Хранение: исходное количество внесённых токенов по текущим ценам.
- Пул: количество токенов, которое сейчас приходится на вашу долю, по текущим ценам, с явным указанием учёта комиссий.
Используйте один момент времени, одну валюту и одни и те же токены. Не подменяйте базу хранения первоначальным взносом в долларах. Это ответ на другой вопрос: как изменилась долларовая стоимость.
Если сначала нужно определить позицию, откройте руководство по позиции Uniswap v3. Оно помогает проверить владение, количества и записи комиссий; к этому сравнению переходите после определения позиции.
Разберите модель, в которой ответы различаются
Предположим, учебный пул начинает с 2 единиц актива A и 200 единиц актива B. B служит единицей расчёта; на протяжении всего примера каждый B стоит $1. Начальная цена A составляет 100 B. Поэтому исходная стоимость пула равна $400, поровну на каждой стороне.
Не учитываем комиссии, расходы и изменение доли владения. Для наглядности считаем весь модельный пул. Фиксированная доля в нём уменьшила бы все количества и стоимости в одинаковое число раз.
Теперь предположим, что внешняя цена A стала 400 B. Сделки привели цену в пуле к этому уровню. В модели постоянного произведения Uniswap v2 резервы удовлетворяют равенству x * y = k, где x и y - количества двух активов. Без комиссий исходное произведение равно 2 * 200 = 400.
При новой цене y / x = 400. Решение двух уравнений даёт x = 1 и y = 400. Теперь в пуле меньше A и больше B.
Оба варианта ниже оценены по новым ценам: A = $400 и B = $1. Начальный взнос $400 был оценён раньше, когда A стоил $100.
| Вариант по новым ценам | Количество A | Количество B | Новая стоимость |
|---|---|---|---|
| Хранить исходное количество | 2 | 200 | $1,000 |
| Модельный пул после изменения цены | 1 | 400 | $800 |
Стоимость пула выросла с $400 до $800. Хранение исходного количества стоило бы $1,000. Пул отстаёт от этого ориентира на $200, или 200 / 1,000 = 20%.
В знаменателе стоит стоимость хранения. Если разделить те же $200 на первоначальный взнос $400, получится 50%, но это не процент непостоянных потерь в данном сравнении. Ни одно из этих чисел не оценивает текущую доходность реального пула.
Используйте формулу отношения только в рамках её допущений
Для этой модели 50/50 без комиссий и с полным диапазоном обозначим через r отношение новой относительной цены к исходной. Разница с хранением с учётом знака равна:
2 * sqrt(r) / (1 + r) - 1
Здесь r = 400 / 100 = 4, поэтому результат равен -0.20. Если выразить величину отставания, получится 20%. Формула не утверждает, что из исходного долларового взноса изъяли 20%.
Небольшая таблица помогает проверить направление изменения и знаменатель:
| Отношение относительных цен r | Стоимость пула от стоимости хранения | Отставание от хранения |
|---|---|---|
| 1 | 100% | 0% |
| 2 | 94.28% | 5.72% |
| 4 | 80% | 20% |
| 0.25 | 80% | 20% |
Последняя строка показывает, почему падение тоже может создать отставание. В этой модели рост в четыре раза и падение до четверти исходной цены дают одинаковый процент разрыва относительно своих ориентиров хранения. Их результаты в долларах различаются.
До использования калькулятора проверьте устройство пула. Другие веса, концентрированные диапазоны, изменения вашей доли и стратегии с ребалансировкой или реинвестированием требуют иных входных данных. Знакомая пара обозначений токенов не доказывает, что модель применима.
Учитывайте комиссии, награды и расходы отдельно
Глоссарий Uniswap определяет непостоянные потери относительно хранения. Это не полный учёт заработанного и потраченного поставщиком ликвидности. Сравнение без комиссий намеренно не включает комиссионный доход.
Для реальной позиции сначала выясните состав показанной стоимости. В зависимости от устройства пула комиссии могут входить в балансы пула или учитываться отдельно. Документация Uniswap о комиссиях v3 объясняет, что накопленные комиссии забираются отдельно, а не автоматически реинвестируются в позицию. Не добавляйте отдельную строку комиссий, если используемый итог уже их содержит.
Активы наград и их оценку тоже записывайте отдельно. Заявленный APR не доказывает, что заработанные награды или комиссии покрывают разрыв за ваш срок хранения. Стоимость транзакций и другие фактические расходы входят в чистый результат; границы учёта должны совпадать для обоих вариантов.
Например, добавление условных $30 отдельных комиссий к $800 из модели даёт $830 до расходов. Это всё ещё на $170 меньше ориентира хранения в $1,000. Это иллюстрация учёта, а не прогноз комиссионного дохода. Если комиссии уже входят в $800, повторное добавление $30 ошибочно.
Составьте сравнение, к которому можно вернуться без вывода средств
Создайте запись с датой и следующими полями:
- Пул, сеть и идентификатор позиции.
- Сравниваемый период и исходное количество обоих активов.
- Более поздние количества, приходящиеся на ту же позицию или долю владения.
- Цены и время котировок для оценки обоих вариантов.
- Комиссии и награды с указанием, включены ли они в итог позиции.
- Внесения, выводы, полученные комиссии и расходы за этот период.
Позицию с дополнительными взносами или выводами нельзя сверить так, будто был только первый взнос. Отделите эти потоки до интерпретации разницы. Если неизвестно исходное количество или порядок учёта комиссий, пометьте результат как неполный вместо точного процента.
Общий итог портфеля помогает найти активы, но не показывает, сколько исходное количество стоило бы сейчас. Если два экрана показывают разные количества или охват, сначала используйте руководство по сверке баланса. Ни растущий график, ни текущий баланс не доказывают результат относительно хранения.
В упрощённой модели возврат к исходной относительной цене закрывает разрыв без комиссий. Слово «непостоянные» не обещает возврата цен или отмены расходов и других потерь. Полезный результат - сравнение с указанными входными данными и ограничениями, а не инструкция ждать, выводить средства или добавлять ликвидность.
Частые вопросы
Могут ли быть непостоянные потери, если позиция в пуле подорожала в долларах?
Да. Непостоянные потери сравнивают позицию с хранением исходного количества токенов по одним и тем же более поздним ценам. Оба варианта могут стоить больше первоначального взноса, но хранение при этом дороже позиции в пуле.
Подходит ли формула 50/50 для любого пула ликвидности?
Нет. Формула в примере предполагает два актива, равную исходную стоимость, пул постоянного произведения с полным диапазоном цен, неизменную долю и отсутствие комиссий. Концентрированные диапазоны, другие веса, стратегии хранилищ и иные конструкции пулов требуют своего расчёта.
Означает ли слово «непостоянные», что потери обязательно исчезнут?
Нет. В упрощённой модели разрыв закрывается, если относительная цена возвращается к исходной. Такой возврат не гарантирован. Расходы и другие риски учитываются отдельно, а выход из позиции не восстанавливает исходное количество токенов автоматически.