Как работает Impermanent Loss
Материал подготовлен одним из участников Web3 Academy для сообщества. Отдельное спасибо, что дал возможность выложить это и в публичный доступ на канале CryptoInside
Развлеку вас немного рассказами про Impermanent Loss (IL), а то все про этого зверя знают, но, возможно, не все понимают, как он образуется и как рассчитывается. Сейчас уже многие DEX перешли на V3 пулы по типу Uniswap, но далеко не у всех из них есть свои калькуляторы и, не понимая сути, рассчитать IL там бывает проблематичным. Я постараюсь показать, как рассчитывать IL в любом пуле на любой DEX, пользуясь только обычным калькулятором на телефоне.
Собственно, вся теория сводится к тому, что, внутри пула ликвидности, преобразование цены идет не по линейной зависимости от ее изменения, а, через квадратный корень от произведения уровней. Как выразить это понятней я не знаю, но в практической части все сразу станет ясно).
Поэтому сразу перейдем к практике:
У нас есть 10000$ в WBTC по цене биткоина 30000$.
Мы входим в пул WBTC/USDT наверх в диапазоне 30000 – 35000, чтобы на нижней границе у нас были одни биткоины, а на верхней границе все перелилось бы в USDT.
❓: какой будет IL, если цена биткоина поднимется с 30000$ до 35000$
1. Считаем холд: 10000$ х 35000 : 30000 = 11666,67$ (то, что мы бы получили, если бы оставили биткоин в покое).
2. Чтобы посчитать, сколько долларов мы получим в пуле, при выходе из диапазона, сначала считаем квадратный корень из произведения уровней:
И искомую сумму считаем по формуле:
10000$ х 35000 : 32403,7 = 10801,23$
То есть сумму, внесенную в пул, мы умножаем на верхнюю границу и делим на квадратный корень из произведения уровней.
3. Ну и IL = 11666,67$ – 10801,23$ = 865,44$ или 7,42%Смотрим калькулятор:
Собственно вот эта потеря, возникающая, при таком алгоритме преобразования активов внутри пула и есть Impermanent Loss.
Условия: вложили 10000$ в пул WBTC/USDT
-----30000 (3481,61$ в WBTC / 6518,39 USDT)
❓: как посчитать IL при выходе из диапазона вверх и вниз?
На самом деле надо понять только одно – движение к верней границе – это просто перелив 3481,61$ из биткоинов в USDT в диапазоне 30000 – 33000 аналогично предыдущему примеру.
3481,61 х 33000 : 30000 = 3829,8 и плюсуем 6518,39 USDT.
2. Теперь что мы получим при выходе из пула:
Сначала квадратный корень из произведения уровней:
Теперь смотрим, что получается, когда наши биткоины переливаются в USDT
3481,61 х 33000 : 31464,26 = 3651,54 и плюсуем те же самые 6518,39 USDT
Или 178,23 : 10348,19 х 100 = 1,72%
Я думаю, все уже поняли, что это просто перелив 6518,39 USDT в WBTC в диапазоне от 30000 к 25000
Биткоин: 3481,61 х 25000 : 30000 = 2901,34$ и прибавляем 6518,39 USDT
Сначала √30000 х 25000 = 27386,12
Теперь во что перельются наши USDT:
(умножаем их на нижнюю границу и делим на кв. корень произведения уровней)
6518,39 х 25000 : 27386,12 = 5950,45 $ ( уже в WBTC)
Ну и прибавляем наши упавшие биткоины 2901,34$
9419,73 – 8851,7 = 568,03$ или 6%
Нам осталось разобраться с пулами с двумя волатильными активами. Поэтому для примера возьмем:
В случае с двумя волатильными активами мы имеем дело с отношением цен.
Сейчас отношение цены битка к цене эфира 15.8
И я задал порог дивергенции (расхождения) -18 и конвергенции (схождения) – 10
При таких параметрах в пуле из 10000$ активы распределяются на
Что и как здесь можно посчитать?
Понятно, что монеты могут синхронно подняться в 10 раз или упасть в 5, при этом оставаясь внутри диапазона. При таких условиях посчитать точную сумму убытков при IL нельзя, она может отличаться в 10 раз при разных ценах активов в пуле. Но всегда точно можно определить % потерь на IL относительно холда. То есть я хочу сказать, что при любых ценах, например: биткоин 1800$ эфир 100$ (порог 18) или биткоин 100000$ эфир 10000$ (порог 10), потеря на IL в % от холда будет одна и та же и задается сразу тем диапазоном, который мы выставили.
❓Как его быстро прикинуть? Да точно также, как и в предыдущих примерах.
Рассчитаем % IL при дивергенции – расхождении цены к 18. Это произойдет если биткоин вырастет, или эфир упадет, но, так как точная сумма потерь нам не важно, мы для простоты смоделируем ситуацию, когда биткоин растет, а эфир остается на месте.
2348,46 х 18 : 15,8 = 2675,46 Прибавляем эфир, который остался неизменным: 7651,54
Теперь, что вышло из перелива: 2348,46 х 18 : 16.86 = 2507 Суммируем с эфиром 7651,54
3. IL: 10327 -10158,54 = 168,46 или 1.63% потери при достижении верней границы.
Сразу проиллюстрирую: биткоин (для радости сердца) вырос до 60000$, эфир соответственно 60000 :18 = 3333,33
Расписывать нижнюю границу я не буду, все аналогично, добавлю только:
1. Пулы V2 считаются по тому же принципу, там только чуть другая формула да и IL в разы меньше.
2. Пулы в TJ считаются точно также, только там надо считать каждую корзину отдельно, так как это полноценный пул.