Стратегии LP в Uniswap v3 и хеджирование
Пассивная позиция Uniswap v3 представляет собой набор лимитных ордеров, которые вы не можете отменить. Активный — выбранный диапазон, вновь центрированный по графику, застрахованный от преступника — это рыночная книга, и ее следует вести как таковую. Такое переосмысление меняет каждое решение. Маркет-мейкер оценивает котировки исходя из прогноза волатильности, а не интуитивного ощущения. Маркет-мейкер рассматривает каждую реквоту как затраты, а не как рефлекс. Маркет-мейкер всегда знает дельту своих запасов и сознательно решает, хранить ее или хеджировать. А маркет-мейкер знает, что некоторые из его контрагентов действуют быстрее и лучше информированы, и учитывает это в цене.
В статье о концентрированной ликвидности построены примитивы: тики, ликвидность , формулы количества токенов, feeGrowthInsideи тот факт, что позиция LP представляет собой выплату при короткой волатильности, эксплуатационные расходы которой представляют собой соотношение потерь против ребалансировки (LVR). Эта часть представляет собой руководство оператора поверх этого фундамента. Мы определяем диапазон на основе прогноза отклонения, формулируем решение о ребалансировке как явную сделку между ожидаемой комиссией и реализованной стоимостью, получаем дельту позиции прямо из функции стоимости и нейтрализуем ее с помощью бессрочных фьючерсов, рассматриваем ликвидность «точно в срок» (JIT) как крайний случай активного LP и завершаем рассказом о том, как честное бэктестирование всего этого в цепочке может лгать вам. В целом ментальная модель представляет собой Авелланеду-Стойкова с двумя жестокими модификациями: ваши котировки попадают в публичный реестр до того, как они заполнятся, и каждый реквот требует газа.
Ширина диапазона из прогноза волатильности
Единственным наиболее важным параметром активной LP является ширина диапазона, и это ставка на чистую волатильность. Слишком широкий размер — и вы разбавляете свою ликвидность за счет тиков, которые редко торгуются, зарабатывая комиссионные с анемичными ставками пула v2. Слишком узкий, и вы прекрасно концентрируете глубину — вплоть до того момента, пока цена не выйдет за пределы вашего диапазона, вы на 100% входите в убыточный актив и ничего не зарабатываете, пока не выполните ребалансировку (по пути кристаллизуя убыток от дивергенции). Оптимальная ширина — это та, которая удерживает цену внутри диапазона достаточно часто, чтобы концентрированная ставка комиссии с лихвой окупала LVR, который усиливается концентрацией. Это утверждение о распределении будущих доходов, поэтому вы оцениваете его на основе прогноза этого распределения.
Логарифм цены модели на горизонте удержания как примерно , с волатильность за период. Симметричный -сигма диапазон в логарифме цены равен
так и . Выбор выбирает вероятность остаться в диапазоне: удерживает цену внутри примерно 68% горизонтов, на ~95%. шире торгует ставкой комиссии в зависимости от времени в диапазоне, и золотая середина зависит от уровня комиссии и режима волатильности — это именно та сумма, которую маркет-мейкер прогнозирует, а не угадывает.
Преобразование в параметры цепочки занимает одну строку, потому что тики являются логарифмической ценой. С , тиковый индекс , и , поэтому полуширина в тактах примерно равна . Привязывайтесь к тактовому интервалу пула, и у вас есть границы:
import numpy as np
TICK = np.log(1.0001) # ≈ 1.0000e-4, one tick in log-price
def range_from_vol(price, sigma_per_day, horizon_days, k=1.0, spacing=10):
"""Symmetric k-sigma range -> tick bounds for a v3 position.
`price` is the RAW pool price (token1/token0, base units)."""
sig_h = sigma_per_day * np.sqrt(horizon_days) # vol over the horizon
i0 = round(np.log(price) / TICK) # current tick
half = round(k * sig_h / TICK) # half-width in ticks
lower = ((i0 - half) // spacing) * spacing # floor to spacing
upper = -(-(i0 + half) // spacing) * spacing # ceil to spacing
return lower, upper, np.exp(lower*TICK), np.exp(upper*TICK)
Проработанное число фиксирует интуицию. Возьмем ETH с прогнозируемым ежедневным объемом 4%, недельным горизонтом повторного центрирования ( дни) и . Затем , поэтому диапазон охватывает , то есть примерно — о группа, или тики привязаны к интервалу. Ширина является линейной в прогнозе объёма (до первого порядка в лог-пространстве), и в этом весь смысл: ваша концентрация ликвидности должна дышать вместе с рыночной, а не оставаться на статическом уровне «±10%, потому что в прошлом месяце это казалось правильным». Варьируйте две ручки — режим и уверенность. — и полоса движется так же, как движется котируемый спред маркет-мейкера:
| Прогноз ежедневно | Режим | полуширина | полуширина | Прибл. тики () |
|---|---|---|---|---|
| 2% | спокойный | ±5,3% | ±10,6% | ±529 |
| 4% | нормальный | ±10,6% | ±21,2% | ±1058 |
| 6% | повышенный | ±15,9% | ±31,8% | ±1587 |
| 8% | подчеркнул | ±21,2% | ±42,3% | ±2116 |
Прочтите таблицу как политику цитирования, а не как поиск. Более узкая полоса приносит более высокую комиссию за доллар, пока находится в диапазоне (большая глубина за тик), но быстрее выходит из диапазона и чаще центрируется; более широкая полоса является противоположностью. Мультипликатор концентрированной ликвидности — это рычаг. Группа котирует примерно на порядок большую глубину за тик, чем позиция v2 с полным диапазоном, и получает комиссионные в этом кратном размере находясь в диапазоне — но в то же время этот кратный показатель более подвержен воздействию LVR. Ширина диапазона — это то место, где вы выбираете точку на границе ставки комиссии и времени в диапазоне, а прогноз объема — это то, что говорит вам, где эта граница находится сегодня.
Одно ограничение ограничивает узкий конец: интервал между тактами. Ваши границы должны быть привязаны к интервалу уровня комиссий, поэтому минимальный диапазон, который вы можете выразить, устанавливается выбранным вами пулом — примерно ±10 б.п. на уровне 0,05% (интервал 10), ±60 б.п. на уровне 0,30% (интервал 60), ±2% на уровне 1% (интервал 200). Это объединяет два решения, которые выглядят независимыми: выбор уровня комиссии — это выбор разрешения диапазона. Стабильная пара, чей прогноз волатильности требует диапазона ±0,3%, может реализовать это только на уровне 0,05%; попробуйте это на уровне 1%, и сетка тиков заставит вас как минимум в восемь раз расшириться, разбавляя ту самую концентрацию, за которую вы платили более высокую комиссию. Сопоставьте степень детализации уровня с шириной прогноза, а не наоборот.

Откуда откуда? Реализованная волатильность в скользящем окне — это грубый ответ, и он очень ретроспективен — он показывает диапазон, который вы должны были установить на прошлой неделе. Правильный инструмент — это модель условной дисперсии, которая реагирует на текущий режим: прогноз GARCH(1,1), агрегированный до горизонта, как это разработано в Прогнозирование волатильности GARCH для криптовалюты. ГАРЧ дает вам и, повторяя рекурсию, - дисперсия на шаг вперед, квадратный корень которой равен ты хочешь. Эффект кредитного плеча криптовалюты (объем больше подскакивает при движении вниз) свидетельствует в пользу асимметричного варианта и того же механизма таргетинга на волатильность, который изменяет размер направленной позиции на изменяет размер диапазона LP на : противоположное направление, одинаковый прогноз. Подайте эту серию в range_from_vol при каждом повторном центрировании, а концентрация позиции автоматически отслеживает прогноз. В связи с этим возникает следующий вопрос, который поднимается в этой статье: как часто следует выполнять перецентрирование?
Ребалансировка: прибыль от комиссий по сравнению с торговлей с реализованной себестоимостью
Чрезмерная ребалансировка — это главный разрушитель розничных доходов от пластинок, и это тонкий убийца, потому что каждый отдельный рецентр чувствует себя ответственным. Цена дрейфовала к границе вашего диапазона, поэтому вы снова центрировались, чтобы «оставаться активными». Но повторный центр v3 не является бесплатным реквотированием на CEX. Это совокупность трех затрат:
- Газ — сожгите старую позицию, создайте новую и (обычно) замените ее, чтобы сбалансировать инвентарь. В основной сети это нетривиальная фиксированная стоимость за цикл, жестокая для небольших позиций.
- Стоимость свопа — для повторного центрирования вы должны вернуть свои перекошенные запасы обратно в соотношение нового диапазона, заплатив комиссию за своп и влияние на цену в этой сделке.
- Кристаллизованный LVR — невидимый. Пока цена колебалась, позиция накапливала убытки от дивергенции на бумаге. Удержание цены туда и обратно позволит вернуть большую часть этой суммы (вы сохраняете комиссию, возвращаете колебания запасов). Повторное центрирование реализует эту потерю: вы продаете актив, в котором сейчас находитесь, по заниженной цене и сбрасываете его. Каждый повторный центр конвертирует бумажный LVR в забронированный LVR.
Таким образом, решение о ребалансировке не в том, «я на грани?» но расчет реквот маркет-мейкера: превышает ли ожидаемое будущее повышение комиссионных от позиции с лучшей ориентацией реальные затраты на достижение этой позиции? Структурно это проблема контроля транзакционных издержек — оптимальная политика — это полоса без ребалансировки вокруг центра, а не растяжка. Внутри группы вы позволяете инвентарю дрейфовать и продолжаете собирать гонорары; вы действуете только тогда, когда ожидаемая выгода оправдывает затраты.
def should_rebalance(pos, price, fee_apr, sigma, gas_usd, swap_bps):
"""Rebalance only if expected fee uplift beats the realized recenter cost."""
V = pos.value(price)
recenter_cost = (gas_usd
+ swap_bps * 1e-4 * pos.inventory_to_swap(price) # fee+impact
+ pos.crystallized_lvr(price)) # the hidden one
tau = pos.expected_time_in_range(price, sigma) # horizon until next recenter
fee_uplift = (pos.fee_rate_centered(price) - pos.fee_rate_now(price)) \
* fee_apr * V * tau
return fee_uplift > recenter_cost
Решение о ребалансировке в цифрах
Сделайте это конкретным. Предположим, вы держите позицию на сумму 50 000 долларов США в пуле ETH/USDC с процентной ставкой 0,05%, цена приблизилась к границе вашего диапазона, и повторное центрирование улучшит ваш эффективный захват комиссий из анемичного состояния. APR (вы едва в пределах досягаемости) назад к АПРЕЛЬ. В вашем прогнозе GARCH говорится, что вновь центрированный диапазон такой ширины сохраняется примерно дни лет, прежде чем вы снова вернетесь в центр. Общий подъем составляет
Напротив, стоимость повторного центрирования: 25 долларов газа (чеканка + сжигание + своп), обмен однобоких запасов - скажем, 20 000 долларов США кроссы по 5 б.п. комиссии плюс влияние за 10 долларов США - и кристаллизованный LVR от продажи в ходе движения, еще 60 долларов США. Общая реализованная стоимость . С , вы снова центрируетесь - но обратите внимание, насколько это близко, и как всплеск газа на 5 долларов или более короткая ожидаемая задержка меняет знак. Теперь сократите позицию до 5000 долларов США с теми же процентами: подъем упадет до 15 долларов США, в то время как бензин останется на уровне 25 долларов США, и сделка никогда не будет стоить того. Срок повышения платы зависит от условного; газовый термин этого не делает. Эта единственная асимметрия является причиной того, почему небольшие LP в основной сети должны либо работать в одном широком, редко затрагиваемом диапазоне, либо оставаться в стороне.
Пороговое значение и периодическое
Из этого неравенства выпадают два режима, и они являются честным ответом на вопрос «пороговый или периодический». Пороговая ребалансировка (полосы) — действие, когда цена выходит из диапазона допуска — является теоретически правильной формой, поскольку она зависит от состояния, которое действительно имеет значение. Периодическая перебалансировка — центрирование выполняется каждые независимо от того, блоки или часы — это грубое приближение, которое можно оправдать только потому, что его проще использовать и о нем легче рассуждать; его патология возвращается во время отбивки, что означало бы возвращение бесплатно, заплатив бензин и кристаллизовав LVR за поездку туда и обратно, которую вы бы выиграли, ничего не делая. Эмпирически, чем шире ваш уровень комиссий и чем выше газ, тем шире должна быть ваша полоса и тем реже ваши ребалансировки — 1% пул, перецентрированный ежедневно, почти всегда поджигает деньги. Неудобное следствие: для многих небольших позиций в основной сети срок повышения комиссии никогда не очищает срок газа, а правильное количество ребалансировок равно нулю — установите широкий диапазон один раз и оставьте его, или вообще не используйте LP.
Именно поэтому место проведения имеет такое же значение, как и стратегия. Во всем неравенстве доминирует газовый термин в сети Ethereum, где цикл ребалансировки стоит реальных денег; на L2 (Арбитр, База, Оптимизм) тот же цикл стоит центов, поэтому рушится, полоса, очищающая его, сужается, и активный LP с узким диапазоном и частым перецентрированием становится жизнеспособным именно для тех мелких позиций, которые никогда не могли себе этого позволить на L1. Это не сноска — именно поэтому серьезные активные стратегии LP в значительной степени перекочевали в L2 и почему вопрос «как часто проводить ребалансировку» имеет разный ответ в каждой цепочке. Однако условия LVR и своп-стоимости не уменьшаются с ростом газа, поэтому дешевый газ снижает барьер как для чрезмерной ребалансировки, так и для разумной ребалансировки; Дисциплина неравенства имеет * большее значение *, когда газ перестает навязывать вам ее.
Существует третий вариант, который полностью позволяет избежать повторного центрирования: односторонний диапазон. Вместо симметричной полосы, которую вы перемещаете, следуя за ценой, разместите асимметричный диапазон, который выражает точку зрения — ликвидность только ниже спота, если вы готовы накопить актив на пути вниз, и только выше, если вы хотите распределить его на пути вверх. Это вариант использования лимитного ордера в цепочке, и он превращает «ребалансировку» в «пополнение»: когда односторонний диапазон полностью заполняется (цена пересекает его), вы выполнили запланированную покупку или продажу по средней цене с повышенным комиссионным вознаграждением, и решение заключается в том, перевооружаться ли, а не преследовать ли. Для мандатов накопления и распределения он доминирует над симметричным перецентрированием, потому что колебание запасов, с которым вы могли бы бороться с помощью хеджирования, — это именно та позиция, которую вы действительно хотели.

Связь с LVR стоит четко обозначить, поскольку она связывает всю эту серию: сумма ваших реализованных потерь от повторного центрирования за срок действия позиции, правильно оцененная, сходится к LVR, который анализ IL/LVR предсказывает на основе реализованного отклонения ценового пути. Ребалансировка не позволяет избежать LVR; он выбирает когда платить и в какой валюте. Если вы проводите ребалансировку слишком часто, вы также платите комиссию за газ и своп сверх LVR, который вы все равно собирались платить. Вот почему чрезмерная ребалансировка доминирует среди видов неудач: это LVR плюс налог, который вы сами взимаете.
Дельта-хеджирование LP с помощью бессрочных фьючерсов
Если ширина диапазона — это ваша ставка на волатильность, а полоса ребалансировки — это ваша политика инвентаризации, то дельта-хеджирование — это то, как вы разделяете их, чтобы вы держали рыночную книгу (короткая позиция по объему, собирайте спред), а не направленную книгу (длинная или короткая ETH случайно). Для хеджирования вам нужна дельта позиции, и прелесть v3 в том, что она выпадает прямо из функции значения без каких-либо числовых значений.
Стоимость позиции в диапазоне в единицах токена1 (числовая единица, например USDC) — это выражение, полученное в части концентрированной ликвидности:
Дифференцировать по цене рискованного актива (токен0, например ETH):
Дельта позиции равна количеству токенов 0, которое в данный момент удерживает позиция. Это не совпадение, и на этом стоит остановиться: , так , а инвариант АММ делает предельную торговую прибыль на кривой нейтральной по текущей цене, т.е. . Два завершающих члена отменяются, и дельта — это просто запас ETH. LP длинная позиция по рисковому активу ровно на ту сумму, которая в данный момент находится в позиции — число, которое уменьшается по мере роста цены (позиция продает ETH до уровня силы) и растет по мере падения цены (она покупает при падении). Для нейтрализации держите короткого преступника размером в терминах ETH.
def lp_delta(L, price, pb):
"""dV/dP for an in-range v3 position == token0 (ETH) currently held."""
sp, spb = price**0.5, pb**0.5
return L * (1.0/sp - 1.0/spb) # short this many ETH on a perp to neutralize
def lp_gamma(L, price):
return -L / (2.0 * price**1.5) # < 0: short gamma -> hedge must be re-shorted
Дельта диапазона, в цифрах
Повторно используйте точную позицию из примера работы с концентрированной ликвидностью: на полигоне , отчеканенный в . Дельта — это короткая позиция, которую вы должны носить с собой, и она монотонно движется от полной сумки ETH внизу до плоской вверху:
| (USDC/ETH) | Позиция ETH | Преступник хедж |
|---|---|---|
| 2500 (нижняя граница) | 2,287 | короткая позиция 2,287 ETH |
| 2750 | 1,599 | короткая позиция 1,599 ETH |
| 3000 (отчеканено здесь) | 1.000 | шорт 1.000 ETH |
| 3250 | 0,471 | короткая позиция 0,471 ETH |
| 3500 (верхняя граница) | 0,000 | нет живой изгороди |
Хеджирование – это не «короткая позиция в 1 ETH и забыть об этом». Когда цена растет с 3000 до 3250, позиция продает половину своего ETH, а требуемая короткая позиция падает с 1,0 до 0,47 — поэтому вы должны выкупить 0,53 ETH для хеджирования по более высокой цене. При распродаже до 2750 позиция покупает ETH, и ваша короткая позиция должна вырасти до 1,60 и быть продана по более низкой цене. Каждый раз при хеджировании покупка максимум, продажа минимум: это отрицательная гамма, делающая денежный поток реальным, а ее эксплуатационные расходы — это строка LVR в книге ниже.
Гамма отрицательна — — что представляет собой выигрыш в короткой позиции, рассматриваемый со стороны риска. Отрицательная гамма означает, что хеджирование никогда не является статичным: по мере роста цены дельта позиции падает (она удерживает меньше ETH), поэтому короткая позиция, размер которой вы выбрали по вчерашней цене, теперь слишком велика, и вам придется выкупить ее обратно; когда цена падает, дельта растет, и вам приходится открывать короткие позиции. Вы всегда торгуете в убыточном направлении, чтобы оставаться нейтральными, и совокупная стоимость непрерывного повторного хеджирования равна именно LVR. Эта стоимость имеет закрытую форму для позиции v3, которую стоит получить, поскольку она превращает хеджирование в число, которое вы можете прогнозировать. Анализ IL/LVR дает мгновенную ставку LVR при цене волатильности GBM. как , и мы только что вычислили — величина гаммы позиции. Замена:
Это и есть утечка в долларах за единицу времени, которую фиксирует дельта-хедж – пропорциональная (концентрация – это множитель как на прибыль, так и на комиссию) и на квадрат прогноза по объему, который определяет размер вашего диапазона. Это также дает вам прямой тест на безубыточность: позиция +EV до финансирования и газа только в том случае, если ставка комиссионного дохода ее очищает.
где уровень комиссии и — это объем свопа, проходящий через ваш диапазон в единицу времени. Обе стороны масштабируются с , поэтому концентрация в соотношении отменяется — что является основной причиной, по которой ширина диапазона сама по себе никогда не делает убыточный пул прибыльным. Что очищает LVR, так это объем, генерирующий комиссию, относительно волатильности, то есть пул, в котором трейдеры уходят быстрее, чем вас отбирают арбитражеры. LP с идеальным дельта-хеджированием не лишен риска — в нем ценовой риск заменен на уверенность в выплате. — и его прибыли и убытки сводятся к чистому реестру:
Этот срок финансирования — это арендная плата, которую вы платите за хранение хеджа, и он заслуживает уважения. Цена бессрочного фьючерса привязана к споту посредством периодических выплат финансирования; Короткая позиция выплачивает финансирование, когда ставка отрицательна, и получает его, когда ставка положительна. Как описано в статье как ставки финансирования убивают ваше кредитное плечо, крипто-преступное финансирование в среднем положительное — длинные позиции платят коротким в типичном режиме контанго — что означает, что коротким LP по дельта-хеджированию часто платят за хеджирование, настоящий попутный ветер, который может перевернуть всю сделку в плюс. Но оно зависит от режима и стремится к среднему; при устойчивой распродаже финансирование становится отрицательным, и ваше хеджирование начинает обходиться вам дороже всего остального. Оцените хеджирование в соответствии с вашей реализованной дельтой, отметьте финансирование как реальную статью расходов и никогда не думайте, что исторический попутный ветер положительного финансирования является постоянным.
Реестр в цифрах
Поместите всю книгу на одну страницу, чтобы Л = 738,37[2500,3500]Р=3000\ell = \sigma^2 L\sqrt{P}/4\sigma$, утечка LVR
Это 1,74% позиции за одну неделю — и против позиции полного диапазона v2 тот же капитал будет терять только , а соотношение, которое в точности соответствует множителю концентрации этого диапазона. Концентрация — это рычаг на обоих лезвиях: 12,4× ставка сбора в радиусе действия, 12,4× LVR. Чтобы очистить позицию \char36 113/неделю, необходима комиссионная доходность порядка 90% годовых — это отрезвляет, и это честная причина, по которой узкие диапазоны с высокой волатильностью так часто проигрывают. Финансирование, между тем, здесь является ошибкой округления: хеджирование примерно 1 условного ETH по типичной ставке +0,01%/8 часов зарабатывает около \char36 6 за неделю (короткая позиция собирает в режимах положительного финансирования), мягкий попутный ветер, который не создает и не разрушает сделку. И каждая ребалансировка будет добавлять ~\char36 25 газа сверху. Урок, который преподает реестр с первого взгляда: комиссии — единственная статья, которая может вас спасти, LVR — это то, что вас потопит, а финансирование и газ — это детали — выбирайте диапазон так, чтобы первое превосходило второе, или не заключайте сделку.

Два практических замечания. Во-первых, детализация хеджирования сама по себе является компромиссом по затратам: повторное хеджирование каждого тика сводит к минимуму ошибку отслеживания, но максимизирует комиссионные за торговлю и отток финансирования, поэтому большинство отделов повторно хеджируют на дельта-диапазоне, та же логика отсутствия торговых регионов, что и ребалансировка LP. Во-вторых, хеджирование нейтрализует дельту только находясь в диапазоне; как только цена выходит, позиция становится на 100% состоящей из одного актива с плоской или полностью линейной дельтой, и размер хеджа для режима внутри диапазона теперь неверен — еще одна причина, по которой ширина диапазона и политика ребалансировки не могут быть разработаны независимо от хеджирования.
Где поставить живую изгородь
Инструмент хеджирования – это живое решение, а не деталь. Централизованная биржа (Binance, Bybit) обеспечивает самую большую ликвидность и самые узкие спреды, но вновь вводит кастодиальный и промежуточный риск — ваш LP находится в цепочке, а ваш хедж — нет, и две ветви могут рассинхронизироваться на быстром рынке или при заморозке вывода средств. Ончейн-преступник (Hyperliquid, GMX, dYdX) хранит все в одном расчетном домене и может быть объединен с позицией LP за счет более тонких книг, собственного оракула и особенностей финансирования. В любом случае вы несете базовый риск: преступник отслеживает индекс, который не идентичен цене вашего пула, поэтому совершенно дельта-нейтральная книга по-прежнему имеет небольшой остаток, который увеличивается именно тогда, когда вы меньше всего можете себе это позволить. А короткая гамма представляет собой опасность ликвидации: хедж, который должен расти на пути вниз, находится в том же направлении, что и маржинальный колл, поэтому определите размер обеспечения преступника для диапазона напряженной волатильности из первого раздела, а не для спокойного, иначе движение гэпа ликвидирует хедж и оставит LP обнаженной в самый худший момент.
Ликвидность JIT: маркет-мейкер одного блока
Доведите активный LP до логического предела — ребалансируйте каждый блок, удерживайте позицию на время одного свопа — и вы получите ликвидность «точно в срок», самую оптимальную стратегию в области разработки LP. JIT-провайдер наблюдает за мемпулом на предмет большого входящего свопа и в том же блоке: создает чрезвычайно узкую, чрезвычайно глубокую позицию по ликвидности, заключающую в скобки текущую цену непосредственно перед свопом-жертвой, позволяет свопу выполняться против этой стены ликвидности (захватывая львиную долю своей комиссии, поскольку затмевает пассив уже в тике), затем сжигает позицию сразу после — все в пределах одного блока.
Экономика поражает. Поскольку монетный двор и сжигание охватывают один своп, практически не меняя цены между ними, позиция приносит полную комиссию за огромную условную сумму, принося при этом почти нулевые непостоянные потери — у цены не было времени на расхождение. Множитель ставки комиссии концентрированной ликвидности, доведенный до предела: обеспечивает, скажем, в тысячи раз большую пассивную глубину именно в тот момент, когда она зарабатывает, и исчезает до того, как любой неблагоприятный выбор может укусить. Это самый близкий к безрисковому рынку процесс, и именно поэтому существует JIT.
Разделение комиссии — это просто доля ликвидности. Своп на 10 миллионов \char36 через пул 0,05% приносит 5000 \char36 комиссионных, разделенных пропорционально находящимся в диапазоне. . Если пассивные LP держатся в скрещенных галочках и бот JIT мнит для блока позиция JIT фиксирует
оставив пассивных LP, которые были там всю неделю, с \char36 50. Бот ничего не сделал для 99,99% блока и взял 99% комиссии за один своп, который имел значение — именно поэтому доход от пассивных комиссий, измеренный честно, не соответствует общему доходу пула.
И, как и любое заметное преимущество в цепочке, JIT потерпела поражение. Как только несколько ботов наблюдают за одними и теми же крупными ожидающими свопами и имитируют один и тот же захват комиссий, они делают ставки друг другу на аукционе строителей за право сидеть перед потоком, и чаевые, уплаченные строителю, сходятся к полученной комиссии — то же самое, что произошло с ликвидациями в цепочке и атомарным арбитражем. Остается только остаток: свопы с другими пропущенными ботами, пулы с незрелыми рынками застройщиков и операционное качество, позволяющее удерживать большие простаивающие запасы и никогда не пропускать сгорание. Это настоящая стратегия и настоящий бизнес; это не розничная торговля.
Подвох и причина, по которой JIT — это игра для специалистов, а не бесплатные деньги, тройная. Требуется реальный инвентарь. В отличие от атомарного арбитража с мгновенными кредитами, который финансирует себя и погашает в рамках одной транзакции, JIT-своп-сжигание охватывает три отдельные транзакции в блоке (мята, обмен жертвы, сжигание), поэтому мгновенный кредит, который должен быть погашен в рамках одной транзакции, не может финансировать часть LP. JIT-бот должен хранить базовый капитал, часто миллионы в обоих токенах, как в режиме ожидания, так и в готовности. Это пакет в цепочке поставок MEV. Для победы в заказе — отчеканить прямо перед обменом, сжечь сразу после — необходимо отправить пакет строителю блоков через точно такую же систему разделения предлагающего-сборщика-разработчика, как описано в статье о MEV и мемпуле; JIT конкурирует за место в блоке и платит разработчику, как и любой другой поисковик, а прибыль после этой ставки невелика. Это неблагоприятный отбор для пассивных LP. JIT-боты скользят по самому большому и наиболее благоприятному потоку — жирным неинформированным свопам, где комиссии высоки, а токсичность низка — и оставляют пассивные позиции, удерживая мелкие сделки и токсичный, информированный поток, генерирующий LVR. Реализованный комиссионный доход пассивного LP ниже, чем общий комиссионный доход пула именно потому, что JIT захватила лучшие доли. Последний пункт — не просто экономическая сноска; это мина в следующем разделе.

Тестирование LP на основе данных в цепочке, честно
Каждое приведенное выше утверждение (диапазоны объёмного размера лучше статических, ребалансировка полос лучше периодической, хеджирование LP дает +EV в режиме X) — это гипотеза, которую вы должны проверить на истории цепочки, прежде чем вкладывать капитал. Данные находятся прямо здесь: события свопа и события ликвидности в журналах контракта пула или предварительно агрегированы в подграфе Uniswap. Ловушка в том, что наивное LP-тестирование систематически оптимистично, и все предвзятости движут в одном направлении. Вам придется справиться с тремя, иначе ваш Шарп окажется выдумкой.
Атрибуция комиссионных. Самый соблазнительный способ — оценить доход от комиссий как (объем пула) × (уровень комиссий) × (ваша доля в пуле TVL). Это неправильно по двум причинам. Комиссии начисляются только на ликвидность, которая находится в пределах диапазона на момент каждого свопа, поэтому правильный знаменатель — это ваша доля в пределах , а не ваша доля в TVL — и они различаются всякий раз, когда цена находится вдали от вашего центра. А рост комиссии зависит от траектории: это зависит от точной последовательности свопов и от того, где каждый из них оставил цену относительно ваших границ. Единственный честный метод — переиграть свопы и разграничить feeGrowthInside аккумуляторы через границы вашего диапазона, точно так же, как это происходит в контракте — бухгалтерский учет O (1) из части концентрированной ликвидности. Пропорциональный объем по TVL может быть отключен на большую кратную величину в любом направлении, и он отключается наиболее как раз тогда, когда цена колеблется вблизи ваших краев, а это именно тот режим, который вам больше всего нужно правильно смоделировать.
Согласование цены и тика пула. В каждый момент времени существуют две цены, и они не равны: собственный тик пула (где находится предельная цена AMM после последнего свопа) и внешняя/CEX Mid (где актив фактически торгуется). Отметьте свою позицию на тике пула, и вы включите прибыль арбитражера в свои собственные доходы, потому что тик пула устаревает между арбитражными сделками; отметьте в середине CEX, и вы должны выровнять временные метки на разных площадках с разными часами и временем блоков. Частота снимков усугубляет это: ежечасные снимки подграфа молча пропускают пересечение внутричасового диапазона — позиция, которая вышла из вашего диапазона и снова вошла в него в течение часа, выглядит так, как будто она все время находилась в диапазоне, завышая комиссии и занижая LVR. Все, что вы заявляете о времени в диапазоне или LVR, должно исходить из уровня подкачки, повтора с отметкой времени блока, а не из почасовых отметок.
MEV и JIT в пуле влияют на оценку комиссии. Это самый тонкий и самый опасный момент, и именно поэтому раздел JIT находится прямо перед этим. Если вы оцениваете комиссионный доход пассивной стратегии на основе исторического реализованного дохода от комиссий пула, вы зачисляете свою пассивную позицию на комиссионные, которые фактически заработали JIT-боты — доход, который настоящий пассивный LP никогда бы не увидел, потому что ликвидность JIT была отчеканена заранее для этих точных свопов. Ваш бэктест наследует фантомные комиссии. Те же самые свопы несут и другую половину искажения: большая часть объема пула представляет собой арбитраж — токсичный, информированный поток, который является вашим LVR — поэтому если считать весь этот объем «хорошим» объемом, приносящим комиссию, игнорируя при этом неблагоприятный отбор, который он накладывает, это вдвойне льстит результату. Честный бэк-тест LP должен (а) реконструировать ликвидность в пределах диапазона, включая временные позиции JIT, чтобы правильно отнести комиссионные, (b) отдельно учитывать LVR от реализованной ценовой траектории, а не предполагать, что комиссии являются свободными деньгами, и (c) рассматривать арбитраж и JIT-скимминговые свопы как то, что они есть — затратную сторону реестра, а не доходную сторону. Пропустите это, и ваша прекрасная стратегия размером с объем, перебалансированная по диапазонам и дельта-хеджированием будет выглядеть прибыльной на бумаге и кровоточить в производстве по причинам, которые в газете вам никогда не показывали.
Каждое из этих отклонений увеличивает расчетную доходность вверх, что является наихудшим из возможных вариантов неудачи — бэктест, который льстит:
| Источник смещения | Наивный ярлык | Честный метод | Влияние на оценку прибылей и убытков |
|---|---|---|---|
| Атрибуция сборов | объем × доля ТВЛ | разница feeGrowthInside по обмену повтор |
завышенное или заниженное значение, хуже всего вблизи краев |
| Ценовая отметка | тик в бассейне | CEX Mid, временная метка блока выровнена | завышает (запекает арбитражную прибыль) |
| Частота снимков | почасовые снимки | уровень подкачки, с меткой времени блока | завышает время в диапазоне |
| JIT-скимминг | кредиты фантомные сборы | восстановить переходный JIT | завышает доход от комиссионных |
| Арбитражный поток | считается «хорошим» объемом | счет отдельно как LVR | завышает (игнорирует неблагоприятный отбор) |
Дисциплина та же самая, которая отличает реальное тестирование торговой стратегии от фантазии: моделируйте затраты с той же строгостью, что и доходы, и с наибольшим подозрением относитесь к цифрам, когда они выглядят лучше всего.
Что забрать
Запустите позицию v3 так же, как письменный стол работает с книгой, и выстроятся пять решений:
- Ширина зависит от объема. Размер диапазона Полоса -сигма из прогноза форвардного отклонения — GARCH, не отстающая реализована — поэтому концентрация дышит вместе с режимом, а не сидит на статическом значении по умолчанию. Карта тиков представляет собой одну линию, поскольку тики представляют собой логарифм цены.
- Ребалансировка — это стоимость реквота, а не рефлекс. Действуйте только тогда, когда ожидаемое повышение комиссий очищает газ + своп + кристаллизованный LVR; правильная форма — это полоса без ребалансировки, а правильная частота намного ниже, чем подсказывает инстинкт. Чрезмерная ребалансировка — это LVR плюс налог, взимаемый вами самим, и для многих небольших позиций оптимальный счет ребалансировки равен нулю.
- Дельта – это запас. Для позиции в диапазоне. , ETH, который вы сейчас держите; Короче говоря, преступник должен вести книгу по рынку вместо случайно направленной. Отрицательная гамма означает постоянное перехеджирование, стоимость которого является LVR, а финансирование — это зависящая от режима рента — часто это попутный ветер, но никогда не гарантия.
- JIT — это ограничение в один блок для активного LP: глубокая ликвидность вокруг одного свопа, почти нулевой IL, требуемый реальный капитал (без срочного кредита) и пакет в цепочке поставок MEV, который отбирает лучший поток от пассивных LP.
- Бэктест дает оптимистичные результаты, если вы не отличаетесь
feeGrowthInsideдля атрибуции используйте метки времени блока на уровне подкачки и рассматривайте JIT-скимминг и арбитражный поток как сторону затрат. Фантомные комиссии плюс игнорируемый LVR — вот как проигрышная стратегия проходит проверку.
Суть этой серии в том, что LP-позиция имеет точную аналитическую структуру — стоимость, дельта, гамма, LVR — и в тот момент, когда вы записываете их, LP-позиция перестает быть «депозитом и молись» и становится хеджируемой, крупной и проверяемой сделкой. Математика заключалась в концентрированной ликвидности; расчет прибыльности находится в непостоянных убытках и LVR; эта часть показывает, как вы на самом деле управляете позицией между этими двумя. Ничто из этого не устраняет риск. Он просто сообщает вам, за какой риск вам платят.
Ссылки
- Адамс Х., Цинсмайстер Н., Салем М., Кифер Р., Робинсон Д. (2021). Uniswap v3 Core (технический документ).
- Милионис Дж., Моаллеми К., Рафгарден Т., Чжан А.Л. (2022). Автоматическое создание рынка и балансировка потерь и ребалансировка. arXiv:2208.06046.
- Милионис Дж., Моаллеми К., Рафгарден Т. (2023). Компромисс сложности и приближения в механизмах обмена: AMM против LOB и связанная с этим работа с LVR с комиссией. arXiv: 2302.11737.
- Картеа А., Дрисси Ф., Монга М. (2023). Предсказуемые потери обеспечения ликвидности на рынках постоянной функции и рынках концентрированной ликвидности. arXiv:2309.08431.
- Фрич Р. и др. (2023). Анализ и сравнительный анализ ликвидности «точно в срок» (JIT) на Uniswap v3.
- Подграф Uniswap и основные библиотеки:
Position.sol,Tick.sol,SqrtPriceMath.sol(математика роста комиссии и суммы для честного повтора). - Боллерслев, Т. (1986). Обобщенная авторегрессия, условная гетероскедастичность — прогноз GARCH(1,1), лежащий в основе определения размера диапазона.
Авторы
Инженер торговых систем
Разработка торговых ботов с 2017 года: межбиржевой арбитраж (подключал до 30 бирж), парный арбитраж на коинтеграции между спотом и фьючерсами, скальпинг, фронтраннинг, торговля по новостям, сентиментный анализ, трендовые алгоритмы, а также алгоритмы управления и балансировки портфелей. Делает выставление ордеров до 1 мс, warehouse для big data, бэктестинг-движки, AI-агентов и интерфейсы для ботов (в т.ч. open-source profitmaker.cc). Стек: JS/TS, Python, Rust/Zig/Go, DevOps, backend, frontend, архитектура.