October 14

Работа с концентрированной ликвидностью

ГМ согильдейцы!
Этот ГИГАресерч подготовлен нашим DeFi экспертом.


Ну что, готовы окунуться в действительно сложную дефай-тему? Та, на которой пользователи теряют огромные деньги, при этом будучи уверенными, что зарабатывают? Сегодня я постараюсь вытянуть вас из трясины незнания и поставить на ступень выше 90% пользователей DeFi.

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

И тут в 2021 году у Uniswap появляется гениальная идея - "а что, если мы дадим возможность предоставлять ликвидность не во всем диапазоне, а только в его части?". Звучит более чем разумно - зачем нам размазывать ликвидность от цены 1$ за ETH до 10 000$, когда его цена на данный момент болтается в районе 2500$? Возьмём диапазон от 2000$ до 3000$ за ETH и будем получать преобладающую часть комиссий. Самое интересное, что в этих заключениях нет никакой ошибки.

Однако есть крайне важная недомолвка, которая переворачивает использование этого инструмента для LP-провайдеров с ног на голову. К ней мы вернемся чуть позже, разобрав принцип работы uniV3.
Отличия v2 от v3 наглядно.

На картинке выше наглядно продемонстрированы различия в предоставленной ликвидности.
I - uniV2
II - uniV3
III - комплекс позиций v3 (обычно, разных пользователей)

Основная задача, которую решает uniV3 - повышение эффективности предоставления капитала. Звучит красиво! А работает-то как? Чтобы разобраться, рассмотрим это решение с разных сторон.

При использовании DEX есть три стороны: сам DEX, Пользователь (который совершает обмен), и LP-провайдер. В зависимости от роли, V3 предоставляет разные преимущества:

DEX и Пользователь

Объединил, так как полученные преимущества взаимосвязаны. Получая капитал от LP-провайдеров не во всем диапазоне, а в его части, DEX может осуществить обмен с гораздо меньшим проскальзыванием (slippage). Всё потому что условный 1М $, предоставленный в пул, находится только в нужном диапазоне, а не размазывается (смотрим график выше и сравниваем ось Liquidity). Пользователь, в свою очередь, получает максимально эффективный обмен. Смотрим на примере:

Для начала возьмём декс, на котором пока что нет концентрированной ликвидности - наш любимый Tokan. И попробуем обменять 100 эфирок.

я выбрал свап ETH/USDC, так как в Токане туда предоставлено 4,2М $ ликвидности, что достаточно много

Как видим, 4М+$ в пуле нас не спасают - слиппедж 25к$. При увеличении суммы до 200 ETH потеря составит 49к$. Такое мы не обмениваем! Поэтому всегда особенно внимательно смотрим количество полученного при свапе.

Что у нас там по протоколам с использованием V3? Воспользуемся агрегатором jumper.exchange, чтобы не искать варианты вручную.

Уже хорошо. Впрочем, при 200ETH даже ему тяжело - потеря достигает 4,5 к$
Также фиксируем, что ODOS для больших сумм имба

Вывод: как пользователи мы очень любим uniV3, так как с её помощью получаем отличный курс в результате совершенного обмена. Это и есть обозначенная выше эффективность капитала: декс предоставит лучшие условия с меньшим количеством средств в пуле (что означает экономию на инсентивах/эмиссии), мы же получаем возможность совершать крупные обмены с минимальными потерями.

Но за чей же счёт мы получаем такие сладкие условия...

LP-провайдеры

Провайдеры V3 ликвидности получают нечто в красивой обертке: "вы можете размещать ликвидность только в выбранном диапазоне и получать значительно больше комиссий". Формально - всё сказанное выше абсолютно верно. Любой человек, рассматривавший пулы для вложений, видел насколько больший %APR предлагают пулы концентрированной ликвидности.

Размести свои токены в супер-узком диапазоне и получай 5000% APR на проверенной бирже. Сказка!

Теперь следим за руками. APR, который так заманчиво указывается протоколами в пулах V3, имеет два важных нюанса:

1) В большинстве случаев указывается APR при выставлении очень узкого диапазона. Пока просто зафиксируйте: чем уже диапазон, тем чаще вас будет выбивать из ренджа, и пул придется пересобирать. А при разборе пула вы фиксируете Impermanent Loss, который мы ниже разберем как главного злодея всей V3.

2) Это APR получаемых комиссий, а не доходность на вложенный капитал. А значит, если вы получите комиссий на 100$ при 700% APR, а тело пула из-за IL сократится на 100$ - по-прежнему протокол будет писать 700% APR. Хотя в данном случае ваша доходность составит 0$.

Вывод: V3 действительно позволяет зарабатывать LP-провайдерам больше комиссий. Однако указанный %APR - фикция, так как в столь узком диапазоне работать невозможно, а также не учтены непостоянные потери (IL)


Impermanent Loss (непостоянные потери)

IL - уменьшение количества активов в пуле, возникающее при волатильности одного актива по отношению к другому. Вроде несложно, но ничего не понятно. Разбираемся.

В статье про пулы V2 я упоминал, что активы внутри пула не лежат без дела, а постоянно участвуют в обменах. Каждый свап добавляет в пул один актив, и забирает из него другой (внимательные помнят, что из-за этого и возникает slippage).

Активы, размещенные в пул ликвидности, при изменении их стоимости ведут себя иначе, нежели их простое удержание на адресе.

Разница между ОБЫЧНЫМ УДЕРЖАНИЕМ АКТИВОВ и их РАЗМЕЩЕНИЕМ В ПУЛ - и есть IMPERMANENT LOSS.

Поскольку IL присутствует как в пулах V2, так и V3, для начала рассмотрим его влияние в пуле V2, так будет проще.

Приведу пример:
У вас на адресе есть 10 токенов "А" стоимостью 1$ и 1 токен "Б" стоимостью 10$. Вы составили пул А/Б на Uniswap и получаете комиссии.
Токен "Б" вырос 10->15$
Вы могли бы подумать, что стоимость пула выросла до 10+15$, но это НЕВЕРНО

Поскольку токены пула участвуют в обменах, они "впитывают" изменение их стоимости не в полной мере. В нашем примере токен "Б" вырос на 50%. Обозначим изменение стоимости токена "Б" буквой K.
Чтобы посчитать изменение стоимости пула, нам необходимо взять квадратный корень из K

Продолжим наш пример.
K=1.5 , так как Б вырос на 50%
Изменение стоимости пула А/Б составило (кв.корень из 1,5 - 1,225):
20$*1,225 = 24,5$
В свою очередь простое удержание дало бы нам стоимость 25$ IL составило 2,53% от начальной позиции, либо 2,02% от текущей

Итак, размещая активы в пул мы зарабатываем комиссии, но несем риск IL, который будет сокращать стоимость пула. Вывод простой - нам необходимо использовать те пулы, в которых доходность превышает IL!

Не пугайтесь! Вручную вас считать каждый раз это никто не заставляет. Мы с вами разбираем что такое IL и как оно работает, поэтому минимальные расчеты необходимы. Ниже в статье будет гугл-таблица, в которой вы сможете поупражняться и посмотреть работу IL при разных изменениях стоимости.

Сравнение IL пулов V2 и V3

Мы разобрали, что пулы ликвидности имеют дурацкое свойство сокращаться в своём размере из-за IL. Это краеугольный камень для осознанной работы с пулами ликвидности. Сейчас же немного сравним IL в разных видах ликвидности.

IL в пулах V3 в разы отличается от V2. Для расчёта IL в пуле V3 необходимо указывать диапазон, поэтому я покажу всего пару примеров:

при диапазоне +/- 50% IL пула V3 выше в 3,4 раза при диапазоне +/- 25% IL пула V3 выше в 8,5 раз

Отсюда вытекает следующий вывод - для использования пулов V3 нам мало большого количества комиссий. Нам нужно, чтобы стоимость активов находилась в диапазоне как можно дольше, что даст нам возможность окупить IL и, возможно, заработать что-то сверху.

Механика пулов V3

Как мы уже разбирали выше, при создании пула указывается диапазон. Он выбирается в % от текущего соотношения стоимостей, либо устанавливается в отношении актива А к активу Б. Для примера возьмём мой пул V3 ETHFI-ETH на бирже Camelot (Arbitrum).

Выбираем в каком активе удобнее смотреть: ETHFI или ETH. На скрине рендж от 1022 ETHFI/ETH до 1829 ETHFI/ETH

У предоставления ликвидности по форме uniV3 есть ещё одно принципиально важное отличие. Если математика V2 держит баланс активов в пуле примерно 50/50%, то в V3 изменение стоимости актива А к активу Б приводит к перетеканию позиции в пользу того токена, чья стоимость падает. Выглядит это следующим образом:

Изначально в пуле было примерно по 50% каждого актива

С момента создания пула, ETHFI просел по отношению к ETH, поэтому в пуле его стало больше (на момент скрина пул состоит из 1021$ ETHFI и 238$ ETH). Тем самым, при изменении соотношения цен, мы будем получать одного из токенов больше: притом именно того, который дешевеет. Это весомый риск V3.

Хорошо, что диапазон на скрине был выбран достаточно широкий - в противном случае стоимость бы вышла из диапазона, а мне бы пришлось выбирать одно из двух:

1) Ждать и надеяться, что стоимость вернется в диапазон. Пока цена вне диапазона - никаких комиссий мы не зарабатываем.
2) Разбирать пул (который при выходе из ренджа состоял бы на 100% из ETHFI), и фиксировать полученный IL, который существенно испортил бы результат.

Дополнительно отмечу: если при составлении V2 пула вы получаете LP-токен, как подтверждение размещения средств в пул, то при создании пула V3 зачастую вам на адрес приходит NFT с кривой, содержащей в себе данные об активах и диапазоне:

Пример получаемой NFT для пула UNI/WETH

Разбирать подробно данную NFT смысла не вижу, но в заключении оставлю ссылку на небольшую статью про них.

Итак, мы уже поняли что такое uniV3, какие проблемы решает, а какие для предоставления ликвидности напротив - создаёт. Немаловажным моментом остаётся удержание наших активов внутри торгового диапазона. С целью решить данную задачу, появляется новый тип протоколов...

Автоматические менеджеры ликвидности

Они же CLM (Concentrared Liquidity Management), к примеру: Gamma Strategies, ICHI, Steer, Jones, Defiedge и другие. Их работа заключается в переставлении диапазона пула, если соотношение стоимостей подходит к границе и грозит выходом из ренджа.

Предоставление ликвидности V3 в менеджер ликвидности на примере Gamma. Диапазон указан серым

Помимо этого, вы можете выбрать в каком диапазоне предоставить ликвидность - обычно выбор идёт между wide, common, narrow (широкий, обычный, узкий). От ширины диапазона зависит количество получаемый комиссий, но чем более узкий рендж - тем чаще будут его перестановки.

Переставление узких диапазонов на примере Gamma

Плюс очевиден - вы продолжаете постоянно получать комиссии, так как ваш диапазон автоматически переставляется при подходе к границы.

Но есть и минусы. Во-первых, Gamma часть дохода забирает себе. Во-вторых, вспоминаем про IL, который фиксируется в момент разбирания пула. Смотрим на картинку чуть выше и теперь понимаем, что непостоянные потери на данном диапазоне были зафиксированы 14 (!) раз.

Narrow диапазоны в менеджерах ликвидности, на мой взгляд, сразу необходимо определить в категорию RECT. Разумеется, по причине множественных фиксаций IL

Как вы теперь понимаете, IL в пулах V3 - вещь страшная. И крайне высок шанс, что комиссии банально не смогут окупить непостоянные потери в менеджере ликвидности.

Итак, инструменты мы разобрали, плюсы-минусы изучили. Настало время перейти к практике и подумать, в каких же случаях всё-таки можно использовать пулы V3 и даже менеджеры ликвидности.

Примеры использования пулов V3

Я бы сказал, что есть три направления, по которым можно работать в концентрированной ликвидности:

1. Пары стейбл-стейбл

Пулы с надежными стейблами на Velodrome, Optimism

Выглядит неплохо: курс должен оставаться в районе 1:1 примерно всегда, а значит менеджер ликвидности нам не нужен. Перетекание в один актив также нам не страшно - ведь оба актива стоят 1$.

Недостатка два:
1) мы не одни такие умные: в этих парах размещено очень много средств, что значительно сокращает доходность.
2) необходимо очень внимательно выбирать активы, потому что в случае депега вы останетесь на 100% в позиции упавшего стейбла, и полученные комиссии вряд ли компенсируют данный убыток.

2. V3 в парах коррелирующих активов

К примеру, эфир и деривативы ликвидного стейкинга (wstETH, Stone, mETH, rETH и другие). Также у нас появилось множество LRT токенов, чья стоимость также значительно коррелирует с ценой базового актива - ETH.

Пример нескольких пулов на Camelot. Такой APR с рисками и CLM совершенно не интересен

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

3. Продажа актива через пул V3

Как мы с вами уже знаем, при выходе из диапазона пул полностью переливается в один актив. Пытливые умы смекнули, что это можно использовать: устанавливаешь диапазон с эфиром или стейблом таким образом, чтобы при достижении желаемых отметок выбранный актив полностью перелился в эфир/стейбл. А в ожидании роста токена до нужных значений - получаешь комиссии.

Разумеется, результаты этой авантюры будут полностью зависеть от рынка. Возможны абсолютно разные варианты: от резкого роста "продажного" токена (а следовательно, вы получаете большой IL и мало комиссий), до медленного его сползания (в этом случае вы и вовсе можете остаться в ненужном токене, купив его ещё больше, чем было).

Риски данного способа достаточно высоки, рассмотрим вновь мой пул ETHFI/ETH в Камелоте:

Моя попытка продажи ETHFI в эфир через пул V3

Представим, что цена ETH = 2500$, а ETHFI = 1,5$. При данных вводных мы получим, что при сохранении цены эфира, ETHFI будет продан в эфир при достижении цены 2,45$. И наоборот, эфир будет полностью продан в ETHFI при 1,37$.

Разумеется, по причине волатильности самого ETH, в реальности картина значительно сложнее. ETH и ETHFI двигаются в похожем направлении, и ETHFI вполне справедливо считают бетой на ETH (то есть движение ETHFI в % должно быть более сильным относительно эфира). На это и сделана ставка, однако, даже в 30-процентном диапазоне, я был очень близок к переливанию своего эфира в ETHFI.

Также не забываем: мы рассчитываем, что комиссий удастся заработать больше, чем будет зафиксирован IL. Для этого нам необходимо, чтобы пул продержался достаточное время для его окупаемости.


Выводы

Тема V3 достаточно сложна для понимания, однако без её изучения вы всегда будете находиться в иллюзиях, что там можно заработать огромные деньги. Я до сих пор встречаю людей, которые на идеи фарминга 30-40% APR в V2 смотрят свысока, будучи уверенным, что в концентрированной ликвидности они зарабатывают сотни % APR. На деле же медленно сливают свои депозиты, а бычий рынок может спрятать даже самые большие потери на IL.

Предоставляю слово Михаилу Егорову, основателю Curve и сильнейшему математику:

Вы знали, что у Curve тоже есть концентрированная ликвидность? Она спрятана в середине торгового диапазона

Также отмечу, что есть профессиональные участники рынка, которые умеют работать с V3 в "промышленном" масштабе. Приведу цитату одного из руководителей данной компании:

"Съели собаку на узких диапазонах. По-прежнему хэджируем на фьючах, реже - через лэндинговые протоколы. Отполировали алгоритм ребалансировки. Всё ещё ориентируемся на доходность 0,5%-1% в сутки, пулы с доходностью ниже - разбираем, сужаем диапазон или временно вообще оставляем пару" "V3 без хэджа - игра в русскую рулетку с полуавтоматическим пистолетом) Хэдж - в первую очередь, ребалансировка - во вторую, автоматизация - только в третью"

Я не являюсь сильным специалистом в хэджировании, но прекрасно понимаю почему для работы в V3 это необходимо. Если ваши компетенции тоже не особо высоки в данном вопросе - перечитайте цитаты ещё разок и хорошенько подумайте, так ли сильно вас манят V3 пулы. V3 не хорош и не плох, это лишь инструмент, которым нужно уметь пользоваться.

Для того, чтобы вы могли использовать этот инструмент эффективно - я даю вам доступ к шикарной табличке. ВАЖНО! Пройдя по ссылке, создайте копию на свой диск (Файл - создать копию), в самой таблице, пожалуйста, ничего не меняйте.

В таблице 4 вкладки: Калькуляторы IL V2, IL V3, формулы V3, а также специальная вкладка, на которой можно сделать симуляцию результата и получить ответ "что было бы выгоднее" - HODL актив, либо предоставить его в LP. Делайте копию и развлекайтесь.

Я отношусь к V3 как к великолепной технологии, позволяющей нам свапать большие объемы активов. В то же самое время для размещения собственных средств я практически всегда сделаю выбор в пользу классической V2 ликвидности. И очень надеюсь, что теперь вам стало понятно почему.

Полезное:
Презентация uniV3 от Uniswap
Таблица для GoH (не для распространения!)
Небольшая статейка про Uniswap V3 NFT


LFG!