defi

Разбираемся в концентрированных пулах ликвидности (Uniswap v3)

Концентрированные пулы обещают в разы больше комиссий, чем обычные. Обещание честное, но у него есть обратная сторона, которую надо уметь считать. Ниже математика по шагам: состав позиции, потери конвертации, оптимальная ширина диапазона. Потом сравнение стратегий на бэктестах: неподвижный диапазон, движущийся диапазон, лесенки, удержание. И схема, по которой это всё выбирать. Примеры на концентрированных пулах Aquarius, AMM в сети Stellar.

Параметры пулов сняты 15–16 сентября 2026 через API Aquarius. История цен XLM с Binance с 2018 года, EUR/USD за 1 000 дней, дневные закрытия. Это разбор механики, а не совет, куда нести деньги.

# Часть 1. Математика

# Состав позиции

В обычном пуле ликвидность размазана по всем ценам от нуля до бесконечности. В концентрированном поставщик выбирает отрезок [Pa,Pb][P_a, P_b], и его деньги работают только внутри. Цена живёт на сетке тиков с шагом, который задаёт пул:

P=1.0001tP = 1.0001^{\,t}

Границы диапазона можно ставить только на узлах этой сетки; шаг задаёт пул, у XLM/USDC это 20 тиков, около 0.2%, у USDC/EURC, пары долларового и евро-стейблкоинов, 60, около 0.6%. Больше формула не понадобится, она здесь для того, чтобы «±25%» дальше читалось как «границы на ближайших узлах сетки».

Позиция описывается одним числом, ликвидностью LL. Сколько в ней монет при цене PP внутри диапазона:

x=L(1P1Pb)y=L(PPa)\begin{aligned} x &= L\left(\dfrac{1}{\sqrt{P}} - \dfrac{1}{\sqrt{P_b}}\right) \\ y &= L\left(\sqrt{P} - \sqrt{P_a}\right) \end{aligned}

где xx первая монета пары, yy вторая. Ниже PaP_a позиция целиком в xx, выше PbP_b целиком в yy. Между границами она непрерывно продаёт xx на росте и покупает на падении. Двигать диапазон нельзя: позицию выводят и открывают новую.

Из корней следует неочевидная вещь: диапазон ±25% от цены выглядит симметричным, но в логарифмах это −28.8% вниз и +22.3% вверх. Внизу «места» больше, и позиция при входе получается 44% первой монеты и 56% второй по стоимости, а не 50/50. Ровно 50/50 даёт только диапазон, симметричный в разах: от P/kP/k до PkP \cdot k.

0102030405060708090100↑ доля первой монеты в позиции, % стоимости0,70,80,911,11,21,3цена, в разах от цены входа →44%
Из чего состоит позиция при каждой цене. Диапазон ±25% от цены входа, полоса это диапазон, пунктир цена входа. Ниже диапазона позиция целиком в первой монете, выше целиком во второй

Сколько ликвидности покупает доллар, зависит от ширины. Для узких диапазонов LL обратна полуширине, поэтому при одинаковой сумме ±5% даёт примерно в пять раз больше LL, чем ±25% (отношение ширин 25 к 5), а ±1% в пять раз больше, чем ±5%:

LV2PwL \approx \frac{V}{2\sqrt{P}\,\cdot w}

где VV стоимость позиции, ww полуширина в долях.

# Как считается доход

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

комиссии=FpoolLLactive+L\text{комиссии} = F_{\text{pool}} \cdot \frac{L}{L_{\text{active}} + L}

Награды в AQUA, токене протокола, делятся так же, пропорционально LL; у держателей ICE с множителем до 2.5, дальше он не учитывается. Обе величины линейны по LL, а LL на доллар обратна ширине. Отсюда главное свойство: сужение диапазона умножает доход, и ровно в той же пропорции умножает всё остальное, о чём ниже.

# Откуда берётся убыток

Пул это автомат, который всегда торгует и не имеет мнения о цене. Когда на бирже курс изменился, арбитражные трейдеры, обычно боты, торгуют с пулом, пока его цена не сравняется с рыночной. Каждая их сделка выгодна им и невыгодна пулу, иначе они бы её не делали.

Пример на обычном пуле. В него кладут 1 000 EURC + 1 000 USDC при курсе 1.00. Правило пула: xy=1000000x \cdot y = 1\,000\,000. EURC дорожает до 1.21. Рынок выкупает EURC, пока запасы не станут:

x=10000001.21=909.09y=10000001.21=1100\begin{aligned} x &= \sqrt{\frac{1\,000\,000}{1.21}} = 909.09 \\ y &= \sqrt{1\,000\,000 \cdot 1.21} = 1\,100 \end{aligned}

Стоимость позиции: 909.091.21+1100=2200909.09 \cdot 1.21 + 1\,100 = 2\,200. Если бы монеты лежали в кошельке: 10001.21+1000=22101\,000 \cdot 1.21 + 1\,000 = 2\,210. Минус десять долларов.

Куда они делись. Пул продал 90.91 EURC за 100 USDC, средняя цена продажи 1.10. А в конце EURC стоит 1.21. Продал по 1.10 то, что теперь стоит 1.21: 90.910.11=1090.91 \cdot 0.11 = 10. Пул продаёт постепенно на всём пути наверх, поэтому средняя цена продажи всегда хуже конечной. При падении зеркально: покупает по пути вниз по средней выше конечной.

Общая формула для обычного пула, если цена изменилась в rr раз:

VpoolVhold=2r1+r\dfrac{V_{\text{pool}}}{V_{\text{hold}}} = \dfrac{2\sqrt{r}}{1 + r}

При r=1.2r = 1.2 это −0.37%, при r=2r = 2 или r=0.5r = 0.5 это −5.7%.

В концентрированном пуле та же формула умножается на коэффициент концентрации, во сколько раз LL на доллар больше, чем в полном диапазоне. Для ±1% это около ста. Поэтому 2 000 $ в диапазоне 1.1385–1.1615 при движении курса с 1.15 до 1.17 отстают от удержания на 12 $, а при 1.20 уже на 38 $. По формуле состава: на входе это 865 EUR + 1 005 USD; при 1.17 позиция уже целиком в долларах, 2 005 $, а внесённые монеты стоили бы 2 017 $; при 1.20 позиция те же 2 005 $, монеты 2 043 $. После 1.1615 она больше ничего не продаёт, а евро продолжает расти.

-30-25-20-15-10-50↑ позиция против монет в кошельке, %0,512цена, в разах от цены входа →полный диапазон±25%±5%
Потери конвертации при движении цены: на сколько процентов позиция стоит меньше, чем те же монеты в кошельке. На цене входа ноль, в любую сторону минус. Полный диапазон против ±25% и ±5%; пунктир это цена входа и границы ±25%. Ось цены логарифмическая: падение вдвое и рост вдвое на одном расстоянии от входа

Это impermanent loss: если цена вернётся к точке входа, пул откупит те же 90.91 EURC за те же 100 USDC, и потери исчезнут. Отсюда и непостоянство убытка. Но это верно ровно до тех пор, пока позицию не трогают: обнулиться потери могут только у позиции, которая всё ещё стоит там же, где была открыта.

# Почему нельзя поставить минимальный диапазон

Три соотношения. ww полуширина диапазона (0.05 для ±5%), σ\sigma годовая волатильность.

Доход внутри диапазона:

доход1w\text{доход} \propto \dfrac{1}{w}

Потери конвертации внутри диапазона, в год:

потериσ24w\text{потери} \approx \dfrac{\sigma^2}{4w}

Обе величины обратны ширине. Внутри диапазона отношение дохода к потерям от ширины не зависит вообще. Разницу создаёт третья величина. Ожидаемое время до первого выхода за границу, в днях:

T(ln(1+w))2σday2T \approx \dfrac{\left(\ln(1+w)\right)^2}{\sigma_{\text{day}}^2}

Ту же формулу можно прочитать наоборот: чтобы диапазон прожил время TT, его ширина должна быть порядка σT\sigma\sqrt{T}, где σ\sigma волатильность за единицу времени. Для EUR/USD на год это около ±7%, для XLM около ±80%.

Снаружи диапазона дохода нет, а неправильная монета остаётся в позиции. Где у этой кривой максимум, из формул не выводится: это зависит от того, как именно ходит курс конкретной пары. Надо считать на истории.

Как считается результат

Позиция на 2 000 $ открывается и год не трогается. Три числа на конец года:

  • Доход. За каждый день, когда цена внутри диапазона, начисляются комиссии (доля позиции в активной ликвидности пула × комиссии пула за день) и награды (ликвидность позиции × ставка AQUA на единицу ликвидности × цена AQUA). Вне диапазона ноль.
  • Потери конвертации. Стоимость позиции на конец года минус стоимость тех же монет, что были внесены, по курсу конца года. Это и есть цена того, что пул продавал по пути.
  • Издержки. Только у стратегий, которые трогают позицию: комиссия пула за обмен при перестановке, 0.30% в USDC/EURC и 0.10% в XLM/USDC от обменянной суммы, обычно половины позиции, плюс сеть, около 0.5 $ за операцию. Неподвижная позиция их не несёт, поэтому в первой таблице этого столбца нет.
  • Итого к удержанию = доход + потери − издержки. Движение самого курса сюда не входит: оно одинаково для пула и для кошелька.

Пример на одном годе. Курс 1.0981 → 1.0401 за год, диапазон ±3% (1.0652–1.1310). Вход: 897 EUR + 1 015 USD. Цена была внутри 87% дней, начислено 41 $ комиссий и 206 $ наград, доход 247 $. В конце года позиция целиком в евро: 1 835 EUR, по курсу 1.0401 это 1 909 $. Внесённые монеты по тому же курсу стоили бы 1 948 $. Потери конвертации −39 $. Итого к удержанию +208 $, это +10.4%.

Теперь то же самое по истории EUR/USD с 22 декабря 2023 по 16 сентября 2026, это 1 000 дней. Она нарезана на отрезки длиной в год, начинающиеся каждые 5 дней: 127 отрезков, каждый это один год, который стратегия прожила бы, войдя в его первый день. Дальше «год» и «годовой отрезок» значат одно и то же. Первые четыре столбца это средние по 127 отрезкам, они складываются. Следующие два показывают разброс, последний долю времени внутри диапазона:

Пул USDC/EURC, комиссия 0.30% · диапазон вокруг цены на первый день отрезка, ширина по строкам, дальше не трогаем · 2 000 $ · EUR/USD с 22 декабря 2023 по 16 сентября 2026, 127 годовых отрезков с шагом 5 дней, перекрываются

Ширина Комиссии Награды Потери конв. Итого к удержанию Типичный отрезок Худшие 10% отрезков В диапазоне
±1% 1.6% 8.4% −2.6% 7.4% 3.8% ≤ −2.4% 24%
±2% 1.4% 7.1% −2.4% 6.2% 4.5% ≤ −2.7% 40%
±3% 1.3% 6.4% −2.2% 5.4% 5.5% ≤ −3.4% 54%
±5% 1.0% 5.2% −1.8% 4.4% 6.0% ≤ −3.1% 72%
±8% 0.8% 3.8% −1.4% 3.2% 4.4% ≤ −2.7% 85%
±15% 0.5% 2.4% −0.8% 2.1% 2.4% ≤ +0.4% 100%

В среднем узкий диапазон выигрывает, и монотонно: ±1% даёт 7.4% против 2.1% у ±15%. Но ±1% проводит внутри диапазона только четверть года, и результат зависит от того, куда курс ушёл в первые недели: типичный отрезок даёт 3.8%, а не 7.4%, и каждый десятый в минусе. Типичный исход лучше всего у ±5%. Это и есть плата за узость у неподвижной позиции: не потери, а лотерея на время в диапазоне.

# Когда ставка вообще окупается

Из двух формул выше следует простой критерий. Доход внутри диапазона это F/wF/w, где FF комиссии и награды пула на доллар ликвидности, потери это σ2/4w\sigma^2/4w. Ширина сокращается, и остаётся отношение:

4Fσ2\dfrac{4F}{\sigma^2}

Если оно заметно больше единицы, комиссии перекрывают потери внутри диапазона, и дальше вопрос только в том, сколько времени цена проводит внутри. Если меньше единицы, позиция проигрывает удержанию при любой ширине: сужение умножает и доход, и потери одинаково, а остаться в диапазоне узкому труднее.

Какое FF сюда подставлять. Ставка конкретной позиции это бейдж пула (доходность на его странице: комиссии и награды за год, делённые на всю ликвидность пула), умноженный на отношение её LL на доллар к средней по пулу, и это отношение растёт как 1/w1/w, ровно как потери. В критерии оно сократилось вместе с шириной, поэтому сюда идёт бейдж как есть. Ставка позиции понадобится в части 3, там, где потери выписаны для своей ширины явно.

Подставим пулы Aquarius на день снятия. XLM/USDC: бейдж около 11% в год, годовая волатильность 79%, σ20.62\sigma^2 \approx 0.62, отношение 40.11/0.620.74 \cdot 0.11 / 0.62 \approx 0.7. Меньше единицы: пока цена внутри диапазона, позиция теряет против кошелька быстрее, чем зарабатывает. USDC/EURC: бейдж около 18%, волатильность 7%, σ20.005\sigma^2 \approx 0.005, отношение около 150. Один и тот же инструмент, но на одной паре он работает, а на другой нет, и разница не в ширине диапазона, а в σ2\sigma^2 в знаменателе. Чтобы XLM/USDC перешёл через единицу при нынешней волатильности, комиссии пула должны вырасти на порядок.

Формула грубая: потери σ2/4w\sigma^2/4w это скорость внутри диапазона, а у диапазона конечной ширины они упираются в потолок, когда цена выходит. Поэтому дальше всё проверяется на истории, и история подтверждает знак: на XLM позиция ±25% отстаёт от кошелька в 86% годовых отрезков, на EUR/USD обгоняет в 80%.

# Если двигать диапазон, потери становятся постоянными

Impermanent loss называется так только применительно к позиции, которую не трогают. Перенос диапазона делает потери постоянными в буквальном смысле: позиция выводится в уже сконвертированном состоянии, цене больше некуда возвращаться, а новая открывается вокруг текущей цены. В примере ±1% из раздела про убыток это выглядит так: евро продан по средней 1.158 на пути к 1.17, при перестановке откуплен по 1.17, и на следующем шаге вверх снова продан по средней 1.16. Каждый такой цикл это реализованный минус.

Та же история EUR/USD, но диапазон переставляется каждый раз, когда цена из него вышла. При перестановке примерно половина позиции меняется по комиссии самого пула, 0.30%, это 0.15% от позиции; на 2 000 $ сеть добавляет ещё сотые, итого около 0.17% за раз. Средние по тем же 127 отрезкам:

Пул USDC/EURC, комиссия 0.30% · диапазон вокруг цены на первый день отрезка, ширина по строкам, при выходе переставляем вокруг новой цены · 2 000 $ · EUR/USD с 22 декабря 2023 по 16 сентября 2026, 127 годовых отрезков с шагом 5 дней, перекрываются

Ширина Доход Потери конв. Издержки Итого к удержанию Худшие 10% отрезков Перестановок в год
±1% 35.9% −13.3% −5.6% 16.9% ≤ 11.0% 34
±2% 20.1% −6.5% −1.6% 12.0% ≤ 8.1% 9
±3% 13.8% −4.1% −0.7% 9.0% ≤ 6.8% 4
±5% 8.5% −2.8% −0.3% 5.4% ≤ 3.4% 2
±8% 5.4% −1.4% −0.1% 3.9% ≤ 2.3% 0

Столбец «потери» и есть постоянные потери: при ±1% капитал в позиции тает на 13.3% в год, и это уже не отыграется, потому что каждая перестановка фиксирует продажу дешевле и покупку дороже. Стратегия живёт только потому, что доход больше.

По этой модели на EUR/USD чем уже диапазон, тем лучше, и даже худшие отрезки в плюсе.

0%2%4%6%8%10%12%14%16%↑ заработано сверх кошелька, % в год±1%±2%±3%±5%±8%±15%ширина диапазона →не трогатьдвигать диапазон
Сколько позиция принесла сверх тех же монет в кошельке за год: доход минус потери конвертации минус издержки. EUR/USD, средние по 127 годовым отрезкам. При ±15% диапазон ни разу не переставлялся, линии совпали бы

Оговорки здесь важнее самих цифр:

  • Доход на 85% состоит из наград AQUA. Они зависят от голосования держателей ICE и от цены токена. Без наград итог ±1% был бы около −13%, а не 17%: одних комиссий, 5.9%, на потери и издержки не хватает.
  • Модель считает награды линейно по ликвидности. Если узкие позиции наберут заметную долю пула, ставка на единицу ликвидности упадёт для всех.
  • Цены дневные. Внутри дня курс выходит за ±1% гораздо чаще, чем видно по закрытиям. Перестановок будет не 34, а больше, и каждая фиксирует потери.
  • 34 перестановки в год это бот. Вручную такое не держат.

Поэтому ±1% из таблицы отбрасываем: на дневных данных этот результат проверить нельзя, а на внутридневных перестановок будет в разы больше и каждая фиксирует потери. Рабочая ширина для движущегося диапазона на EUR/USD дальше ±2–3%.

Impermanent loss это плата за то, что поставщик ликвидности стоит второй стороной у арбитража, и начисляется она непрерывно. Для неподвижной позиции она может отыграться. Для движущегося диапазона нет, и её надо покрывать доходом.

# Часть 2. Стратегии на бэктестах

# XLM против EUR/USD

Главный вывод: при нынешних оборотах Aquarius позиция в диапазоне на XLM/USDC приносит меньше, чем те же монеты в кошельке, а на USDC/EURC больше, и причина в волатильности пары, а не в выборе ширины. «Меньше, чем в кошельке» не значит «в убыток»: в долларах позиция чаще в плюсе, просто кошелёк был бы ещё больше в плюсе. И это вывод для того, кто держит монеты без ICE и без хеджа; кому пул выгоден при той же волатильности, разобрано ниже. Дальше это видно на числах.

Дневная волатильность XLM за последний год 4.12%, годовая 79%. У EUR/USD 0.39% и 7%. Это не пара 1:1 вроде USDC/USDT: курс движется, и потери конвертации на нём есть, просто в десять раз медленнее, чем на XLM. Потери внутри диапазона идут как σ2\sigma^2, значит при одинаковой ширине у XLM они в 127 раз больше. Сколько дней диапазон живёт до первого выхода цены за границу, по формуле для TT из раздела про ширину. Две пары: EUR/USD с дневной волатильностью 0.4% и XLM/USDC с 4.1%, линиями модель, точками реальные медианы. Обе оси логарифмические: и ширина, и дни различаются в десятки раз, а на таких осях квадратичная зависимость выглядит прямой, и удвоение ширины даёт вчетверо больше дней:

1101001 00010 000↑ дней до первого выхода за границу±2%±5%±10%±20%±50%ширина диапазона →EUR/USD, σ 0.4% в деньXLM/USDC, σ 4.1% в день
Дней до первого выхода за границу по ширине диапазона. Линии: модель случайного блуждания T = (ln(1 + w))² / σ². Точки: реальные медианы по дневным ценам из таблицы ниже; EUR/USD шире ±5% за 1 000 дней не выходил ни разу. Обе оси логарифмические

Те же реальные медианы числами, дней до первого выхода (медиана удержания):

EUR/USD за 1 000 дней и XLM с 2018 года · дневные цены

Ширина EUR/USD XLM
±1% 10 дней 1 день
±2% 28 дней 1 день
±3% 54 дня 2 дня
±5% 133 дня 3 дня
±10% не выходил за 1 000 дней 8 дней
±25% не выходил 28 дней
±50% не выходил 74 дня

На графике видно, где модель работает. До ±5% точки EUR/USD лежат на своей линии, а от ±10% курс не выходит вовсе: евро не блуждает случайно, а возвращается к прежним уровням. Точки XLM на узких диапазонах висят над линией только потому, что дневные цены не видят выхода быстрее одного дня; от ±10% они ложатся на прямую. На XLM диапазон ±5% живёт три дня, ±25% около месяца. Если переставлять диапазон при каждом выходе, одна перестановка это обмен примерно половины позиции по 0.1% плюс сеть, около 0.05% позиции: при ±5% на XLM это около 6% в год, при ±25% около 0.5%. Сама перестановка дешёвая. Дорого то, что она фиксирует, и это видно в следующем разделе.

# Что делать, когда цена вышла за границу

После выхода в позиции одна монета, и есть два варианта: переставить диапазон вокруг новой цены, докупив вторую монету, или не трогать. Оба на пуле XLM/USDC (комиссия 0.10%), 10 000 $, ±25%, календарный 2023 год: XLM за него вырос с 0.073 до 0.129, это +78%, с пиком 0.163 в июле:

Пул XLM/USDC, комиссия 0.10% · ±25% · 10 000 $ · 2023 год

Стратегия Позиция в конце Комиссии Издержки Итого
Переставить с обменом: продать половину, открыться вокруг новой цены 9 129 $ 2 620 $ 16 $ 11 733 $
Ничего не делать 10 520 $ 889 $ 0 $ 11 409 $
Держать те же монеты, без пула 13 424 $ 13 424 $

Издержки перестановки при ±25% ничтожные: 16 $ за три перестановки на 10 000 $. Комиссии 2 620 $ за год это 26% при бейдже пула 11%, и вот откуда: позиция ±25% держит вдвое больше ликвидности на доллар, чем средняя в пуле, а при ценах 2023 года, вдвое ниже сегодняшних, на те же 10 000 $ покупается ещё в 1.4 раза больше LL (она растёт как 1/P1/\sqrt{P}), тогда как оборот и активная ликвидность пула взяты сегодняшние. Абсолютные суммы поэтому завышены, соотношение строк нет. Разницу делает то, во что превращается позиция после выхода. «Ничего не делать» вышла вверх весной, осталась целиком в USDC и до конца года собирала комиссии только на откатах: 889 $. Перестановка каждый раз откупала половину в XLM по новой, более высокой цене и на этом теряла, зато стояла в диапазоне и зарабатывала. Оба варианта проиграли простому удержанию монет входа.

Но это один год и одно направление. Тот же бэктест на всей истории XLM с 2018 года, нарезанной на годовые отрезки с шагом 30 дней: 89 годовых отрезков, результат каждого делится на «держать те же монеты в кошельке»:

Пул XLM/USDC, комиссия 0.10% · ±25% · XLM с 31 мая 2018 по 16 сентября 2026, 89 годовых отрезков с шагом 30 дней, перекрываются

Стратегия (±25%) Медиана Худшее Лучшее Отрезков лучше удержания
Переставить с обменом 0.53 0.14 1.09 3%
Ничего не делать 0.75 0.20 1.24 25%

По годам видно, где именно проигрыш. Отношение к удержанию:

Пул XLM/USDC · ±25% · по календарным годам

Год XLM Перест. Ничего
2019 −60% 0.53 0.75
2021 +102% 0.24 0.73
2022 −74% 0.66 0.45
2023 +78% 0.88 0.85
2024 +152% 0.56 0.71
2025 −53% 0.65 0.74

Хуже всего в годы сильного роста: позиция продавала XLM на пути вверх, а перестановка каждый раз выкупала его дороже. Лучше всего в боковике. Перестановка помогает только в падении.

Чувствительность к объёму торгов: модель брала сегодняшний объём пула. Чтобы медиана стратегии «ничего не делать» вышла на 1.0, объёму нужно вырасти примерно втрое; при десятикратном пул обыгрывает удержание в 84% отрезков.

# То же самое в деньгах

Коэффициенты вроде 0.75 из таблиц выше мало что говорят сами по себе, поэтому тот же расчёт в деньгах. 10 000 $ в XLM/USDC 16 сентября 2023, три года без движений, XLM за это время +48%:

Пул XLM/USDC · ±25% · 10 000 $ · 16 сентября 2023 → 16 сентября 2026

Куда Стало Итог
Только XLM 14 757 $ +48%
Пул ±25% 13 422 $ +34%
Половина в XLM, половина в USDC, без пула 12 379 $ +24%
Ровно те монеты, что ушли бы в пул (44% XLM, 56% USDC), без пула 12 098 $ +21%
Только USDC 10 000 $ 0%

Ориентир всего поста это «те же монеты в кошельке», и относительно него пул здесь выиграл: +34% против +21%. «Только XLM» другое сравнение, про веру в рост из последней части, и ему пул проиграл: он продал весь XLM по дороге до 0.149 и три года собирал комиссии, сидя в USDC. Итого 10 520 $ в позиции плюс 2 901 $ комиссий. Это один из удачных для пула отрезков: цена вышла вверх рано и не вернулась высоко, а комиссии капали. По 89 отрезкам с 2018 года типичная картина обратная, и именно она, а не этот пример, отвечает на вопрос «выгодно ли».

Позиция в пуле на волатильном активе, если коротко, это продажа роста в обмен на комиссии. Она срезает и падение, и подъём: два реальных отрезка из бэктеста, в одном XLM за год −20%, позиция +10%, в другом XLM +308%, позиция те же +10%. При нынешних оборотах комиссий за это дают мало.

# Для кого расчёт другой

Критерий 4F/σ24F/\sigma^2 считан для того, кто положил монеты и сравнивает с кошельком. У части участников пула FF выше или ориентир другой, и для них тот же пул сходится.

  • Держатели ICE. Множитель поднимает награды до 2.5 раз, и это меняет FF только для них. На XLM/USDC награды невелики, и даже с множителем отношение остаётся меньше единицы; на USDC/EURC, где награды основная часть дохода, он превращает хорошую ставку в очень хорошую.
  • Маркетмейкеры с хеджем. Узкий диапазон, перестановки ботом и короткая позиция по XLM на бирже с фьючерсами против той, что лежит в пуле. Движение цены им безразлично, остаются комиссии за вычетом платы за финансирование. Их ориентир не кошелёк, а доходность на капитал. В цепочке, впрочем, видны не они, а их бедные родственники: в той девятой части ликвидности XLM/USDC, что сейчас активна, сидят боты с полосками ±0.1–0.4% и капиталом в единицы тысяч долларов, о них ниже.
  • Те, кто и так собирался конвертировать. Лесенка продажи для того, кто хотел продать на 0.60–0.80, и лесенка покупки для того, кто хотел купить на просадке. Для них конвертация это цель, а комиссии бонус к лимитной заявке.
  • Те, кто ставит на боковик и оказывается прав. В 14% годовых отрезков цена вернулась к точке входа, и пул обошёл кошелёк. Это честная ставка, просто с историей не на её стороне.

Для всех остальных, а это и есть «просто держу монеты в пуле», расчёт из этого поста.

# Пики и откаты

Всё выше считало конец пути наверху. Если цена сходила вверх и вернулась ровно к точке входа, позиция откупила XLM обратно, потерь нет, комиссии остались. Настоящие циклы так аккуратно не заканчиваются. Два реальных цикла XLM, 10 000 $ на входе, диапазоны ±25% и ±50% от цены входа:

Пул XLM/USDC · 10 000 $ · два цикла «вверх и обратно»

Цикл Диапазон Внутри На пике Итог с комиссиями Держать те же монеты Отношение
2021: 0.184 → 0.735 → 0.137 ±25%, 0.138–0.230 25% 0 XLM + 10 520 $ 8 852 $ 8 877 $ 1.00
2021 ±50%, 0.092–0.276 46% 0 XLM + 10 866 $ 9 327 $ 9 019 $ 1.03
2024: 0.132 → 0.561 → 0.176 ±25%, 0.099–0.165 30% 0 XLM + 10 520 $ 12 412 $ 11 476 $ 1.08
2024 ±50%, 0.066–0.198 53% 0 XLM + 10 866 $ 12 493 $ 11 290 $ 1.11
10 00015 00020 000↑ стоимость, $2024априюльокт2025априюльокт2026априюльпул + комиссиимонеты в кошелькевышла наверх, всё в USDC
Цикл 2024 по неделям, 10 000 $ на входе, диапазон ±25% (0.099–0.165). Полосы: периоды, когда цена была внутри диапазона, разрывы короче недели слиты. Вне их позиция лежит в одной монете и ничего не собирает. Летом 2024 цена ушла под диапазон, позиция целиком в XLM и ходит вместе с ценой; с ноября 2024 цена над диапазоном, позиция целиком в USDC и линия ровная, пока в 2026 цена не вернулась к границе. Зазор на финише это комиссии, потери конвертации остались. Удержание взлетает на пике и возвращается. Ось стоимости логарифмическая, иначе пик съедает разрыв на финише

Границы заданы долями от цены входа, поэтому «на пике» у 2021 и 2024 совпадают: в обоих циклах цена прошла верхнюю границу насквозь, а сколько USDC остаётся после полной продажи, зависит только от долей, не от самих цен.

Ни один цикл не закончился внутри диапазона, и потери никуда не делись. В 2021 цена финишировала на 0.137, чуть ниже нижней границы 0.138: позиция ±25% на обратном пути откупила весь XLM, 59 108 против 23 976 на входе, и стоит 8 098 $ против 8 877 $ у тех же монет в кошельке, минус 780 $. В 2024 цена финишировала на 0.176, выше верхней границы 0.165, позиция целиком в USDC, 10 520 $ против 11 476 $, минус 956 $. Отношение 1.00 и 1.08 получилось потому, что комиссии за время внутри диапазона, 754 $ и 1 892 $, покрыли эти потери. На графике это финишный зазор между ровной линией пула и кошельком.

Так что на круге пул не проигрывает, но не потому, что потери отыгрались, а потому, что их размер набежал комиссиями. Запас небольшой: узкий диапазон большую часть цикла стоял снаружи и ничего не собирал, ±25% был внутри четверть времени в 2021 и треть в 2024. Диапазон ±50% стоял внутри вдвое дольше и вышел чуть лучше, хотя ликвидности на доллар у него вдвое меньше. Выбор ширины это ставка на то, будет ли пик постоянным: если цена ушла и не вернулась, помогает только ширина.

Выход за границу на пару центов ничего не стоит: на верхней границе позиция уже целиком в USDC, дальше она просто не растёт вместе с ценой и не получает комиссий. Отставание копится линейно, по цене одной монеты за каждый цент, а основное набежало ещё внутри диапазона.

# Позиции вне текущей цены

Диапазон можно поставить целиком выше или ниже цены. Тогда позиция при открытии состоит из одной монеты и работает как лесенка лимитных заявок, которая ещё и платит комиссии, пока цена внутри.

Лесенка продажи выше цены. Условные 20 000 XLM + 1 000 USDC при XLM 0.176:

02 0004 0006 0008 00010 00012 00014 00016 00018 000↑ стоимость, $0,20,40,60,8цена XLM →без пулапозиция 0.14–0.45лесенка 0.60–0.80
Что будет с 20 000 XLM + 1 000 USDC при каждой цене. Пунктир это цена входа 0.176 и границы лесенки 0.60 и 0.80

До 0.60 лесенка ведёт себя как удержание, потом продаёт по средней 0.69 и собирает комиссии. Третья линия это обычная позиция ±25% вокруг входа, 0.14–0.45: она распродаёт XLM уже к 0.45 и дальше не растёт. Ловушка та же, что у любой позиции: если цена прошла лесенку насквозь и развернулась, на пути вниз позиция откупит XLM обратно. Продажа состоится, только если закрыть позицию наверху и забрать USDC. Из всех вариантов только позиция в диапазоне вокруг текущей цены спорит с верой в рост.

Лесенка покупки ниже цены из USDC имеет ловушку: если цена зашла в диапазон, купила XLM, а потом отскочила, позиция продаст купленное обратно. Чтобы накопить, её надо закрыть на дне вручную. Проверка на истории XLM с 2018 года: 3 500 $ в диапазоне сразу под ценой, от текущей цены до на 10% ниже, целиком из USDC. В день, когда позиция что-то купила, купленный XLM выводится в кошелёк, а остаток USDC заново кладётся под новую цену; таких дней выходит 17 в год. Сравнение с покупкой равными долями каждый день на те же 3 500 $. Итог в монетах на конец года; остаток USDC и комиссии лесенки пересчитаны в XLM по цене конца года:

Пул XLM/USDC · лесенка на 10% под ценой · 3 500 $ · история XLM с 2018 года

Лесенка покупки Покупка равными долями
Типичный отрезок 29 400 XLM 29 400 XLM
Худший для лесенки отрезок (XLM 0.04 → 0.54) 6 500 XLM 34 100 XLM
Лучший для лесенки отрезок (XLM 0.08 → 0.38) 41 400 XLM 14 600 XLM
Отрезков, где накопил больше 42% 58%
Дней, когда нужно что-то сделать 17 365

В типичном отрезке оба способа дают одно и то же. Разница в хвостах: когда XLM уходит вверх без просадки, лесенка остаётся с долларами и накапливает в пять раз меньше; когда сначала проседает, а потом растёт, в три раза больше. Лесенка покупки это ставка на просадку перед ростом, а не способ накопить дешевле.

# Что делают реальные участники

История вводов и выводов обоих пулов с их открытия 29 апреля 2026 и операции полусотни крупнейших аккаунтов в Horizon показывают три стратегии, которых выше не было.

Слоёный диапазон. Крупнейший вкладчик USDC/EURC, 126 тыс. $ и 41% ликвидности, держит два слоя: широкую подложку ±9.7% (EUR/USD 1.04–1.26) и поверх неё узкий слой ±1.5% (1.14–1.18) вокруг текущего курса. В узком слое 17% его капитала и 55% его ликвидности, в широком наоборот. Узкий слой собирает комиссии и награды, пока курс стоит, широкий страхует от простоя, когда курс уходит, и его доход не падает до нуля. Весной этот же аккаунт пробовал до девяти мелких слоёв на 5 тыс. $, в июне вышел целиком, а в августе вернулся со 120 тыс. $ в два слоя и с тех пор двигал только узкий, последний раз 11 сентября, перелив в него часть капитала из широкого. У двух следующих по капиталу та же конструкция в миниатюре. Итог лежит между строками таблицы EUR/USD: разброс как у широкого, средняя ставка ближе к узкому.

0%10%20%30%40%50%60%70%80%90%100%↑ ликвидность на этом курсе, % от всей у аккаунта1,051,11,151,21,25курс EUR/USD →±9.7%: 83% денег±1.5%: 17% денег
Профиль слоёного диапазона крупнейшего вкладчика USDC/EURC: сколько его ликвидности стоит на каждом участке курса EUR/USD. Широкий слой ±9.7% держит 83% денег и даёт 45% ликвидности, узкий слой ±1.5% поверх него держит 17% денег и даёт остальные 55%. Полоса это узкий слой: его ставили 25 августа вокруг курса 1.16, а к 16 сентября курс пула сполз к 1.151 (пунктир), и слой висит со смещением вверх

Обмен через позицию. Три четверти всех вводов и выводов в XLM/USDC, 9 из 12.7 млн $ оборота, сделали аккаунты, которые забирают позицию в пределах суток. Схема одна: внести обе монеты узким диапазоном ±0.4% вокруг цены, дождаться выхода за границу, забрать ту монету, что осталась. Это лимитная заявка, которая платит комиссии вместо того, чтобы их брать, и исполняется по средней цене диапазона. По деньгам у четырёх из пяти таких аккаунтов минус от 0.6% до 3.4% оборота: цена вышла не в ту сторону, и позиция конвертировала против них. В плюсе один, с диапазоном ±24.5% и односторонними вводами XLM выше цены на росте мая–июня: +1.4% оборота плюс 4 тыс. $ комиссий за 51 день. То есть работает тот же принцип, что у лесенки продажи, а узкая двусторонняя версия это ставка на направление с плечом из концентрации.

Фарм наград узкой полоской. 89% ликвидности XLM/USDC держат пятнадцать аккаунтов с суммарным капиталом около 32 тыс. $. Семь из них переставляются синхронно, в пределах получаса, и вместе держат 59% ликвидности пула на 23 тыс. $. Полоска 20–80 тиков, ±0.1–0.4%, ставится вплотную к цене и живёт в среднем семь часов, в активный день её двигают каждый час. Смысл в формуле веса наград: узкая полоска даёт в сотни раз больше LL на доллар, и пока цена внутри, эти аккаунты забирают большую часть наград и комиссий пула. Итог за 3.5 месяца у двух главных аккаунтов: по цене −1.5 и −1.7 тыс. $, комиссии +0.5 и +0.4 тыс. $, награды +1.2 и +0.9 тыс. $, около нуля на 10 тыс. $ капитала при сотнях транзакций. С 9 сентября кластер не двигался, и его полоски висят на 5.6% выше рынка целиком в XLM.

Для сравнения, 92% капитала XLM/USDC это один аккаунт с 1.2 млн $ в диапазонах ±50% и ±100%, четыре ввода в мае–июне и ни одного вывода: минус 9% по цене вместе с рынком, ровно как удержание.

# Сводная таблица

Стратегия Где выигрывает Где проигрывает Работа
Неподвижный широкий диапазон боковик; на круге «вверх и обратно» не проигрывает тренд в любую сторону нет
Неподвижный узкий диапазон медленные пары вроде EUR/USD, ±3–5%: типичный исход лучший всё волатильное; уже ±3% это лотерея на время в диапазоне нет
Движущийся диапазон медленные пары вроде EUR/USD, если есть награды волатильный актив, любой тренд бот или дисциплина
Лесенка продажи выше цены рост, который и так собирались продать нет дохода, пока цена не дошла закрыть наверху, иначе на откате откупит обратно
Лесенка покупки ниже цены просадка перед ростом рост без просадки проверять каждый день, забирать купленное, 17 раз в год
Слоёный диапазон медленная пара: узкие слои собирают, широкие страхуют простой волатильный актив, любой тренд перестановка узких слоёв раз в недели
Обмен через позицию направление угадано: конверсия по средней плюс комиссии направление не угадано: конверсия против себя ввод и вывод на каждый обмен
Фарм наград узкой полоской пока награды платят и полоска внутри цены простой вне цены, потери на каждой перестановке бот, перестановки каждый час
Удержание без пула тренд боковик, где комиссии ушли другим нет

# Часть 3. Как выбирать

Сначала волатильность пары, всё остальное потом. Критерий один: 4F/σ24F/\sigma^2, комиссии пула против квадрата волатильности. Больше единицы с запасом, как у USDC/EURC (около 150), и позиция зарабатывает; меньше единицы, как у XLM/USDC (около 0.7), и никакая ширина не спасёт: по восьми годам истории не спасла ни одна. Концентрированная ликвидность как источник дохода это инструмент для пар с малой волатильностью: валютных вроде EUR/USD или связанных активов. На волатильной паре она превращается в ставку на боковик.

Решить, трогать ли позицию. Не трогать: ширина порядка σT\sigma\sqrt{T}, для EUR/USD на год это около ±7%, а лучший типичный исход в бэктесте у соседних ±5%; ноль работы, потери остаются нереализованными. Двигать: потери становятся постоянными, стратегия живёт только при доходе выше них. На EUR/USD ±2–3% это 9–12% при 4–9 перестановках в год, почти целиком из наград. На XLM это минус при любой ширине.

Разобрать доход на части. Комиссии зависят от объёма торгов и живут долго. Награды в токене протокола зависят от голосования и цены токена, могут исчезнуть. Если награды дают большую часть, план должен выдерживать сценарий «награды обнулились».

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

Считать до входа. Доход в диапазоне × доля времени внутри − σ2/4w\sigma^2/4w − издержки. Запас должен быть заметным, а не один-два процента. Откуда брать числа: FF это бейдж на странице пула, комиссии и награды за год, делённые на его ликвидность. В критерии он идёт как есть, а здесь потери выписаны для своей ширины, поэтому и бейдж надо умножить на отношение своей LL на доллар к средней по пулу, для широкой позиции это меньше единицы. σ\sigma считается по истории цены: стандартное отклонение дневных логарифмических доходностей, умноженное на 365\sqrt{365}; у XLM это 4.1% в день и 79% в год, у EUR/USD 0.39% и 7%. Доля времени внутри для своей ширины есть в первой таблице EUR/USD, столбец «В диапазоне»; сколько диапазон живёт до первого выхода, в таблице медиан. Издержки за перестановку: половина позиции по комиссии пула, 0.05% при 0.10% и 0.15% при 0.30%, плюс сеть, на маленькой позиции заметная.

Риск хвоста считать отдельно. Отвязка монеты от доллара и уязвимость контракта не зависят от ширины и стратегии, но бьют по всей сумме. Сумма в пуле должна быть той, потерю которой можно пережить, и это ограничение сверху на всё остальное. Концентрированные пулы Aquarius на момент написания ещё проходят аудит.

Данные. Параметры пулов сняты 15–16 сентября 2026 через API Aquarius: объём торгов, активная ликвидность, награды. История XLM: дневные закрытия XLM/USDT на Binance с 31 мая 2018 по 16 сентября 2026. EUR/USD: дневные закрытия EURUSDT на Binance с 22 декабря 2023 по 16 сентября 2026, 1 000 дней; эта история стоит за пару USDC/EURC, у стейблкоинов своей истории мало, а ходят они вместе с валютами. Годовые отрезки: история нарезана на отрезки по 365 дней с шагом 5 дней для EUR/USD и 30 дней для XLM. Участники пулов: список держателей и все вводы и выводы с 29 апреля 2026 из API Aquarius, диапазоны позиций из операций аккаунтов в Horizon, капитал по чистым потокам монет по ценам на момент операции; результат по цене не включает несобранные комиссии.
Термины. Годовой отрезок: кусок истории длиной 365 дней; отрезки начинаются каждые 5 или 30 дней и перекрываются, по ним считается статистика. Типичный отрезок: медиана, половина отрезков дала больше, половина меньше. Худшие 10% отрезков: каждый десятый отрезок дал не больше этого. Потери конвертации: стоимость позиции минус стоимость внесённых монет по цене конца периода. К удержанию: результат позиции с доходом, делённый на стоимость тех же монет в кошельке. Активная ликвидность: ликвидность позиций, чей диапазон включает текущую цену. Перестановка в моделях: вывод позиции, обмен примерно половины по комиссии самого пула (0.30% в USDC/EURC, 0.10% в XLM/USDC), ввод вокруг новой цены, сеть 0.5 $.
Что не учтено. Объём торгов и ликвидность пула взяты на день снятия и распространены на всю историю. Цены дневные: внутридневные выходы за границы не видны, поэтому время в диапазоне завышено, а число перестановок занижено, и для узких диапазонов это существенно. Комиссии не реинвестировались, издержки перестановок из рабочей ликвидности не вычитались; и то и другое эффекты второго порядка. Награды считались по сегодняшней эмиссии и цене токена, линейно по ликвидности. Границы диапазонов заданы в процентах от цены входа, как в форме Aquarius, поэтому позиция на входе не 50/50. Всё это сдвигает результат в обе стороны, но не меняет соотношений между стратегиями. Отвязка монеты от доллара и уязвимость контракта в моделях отсутствуют вовсе, а бьют по всей сумме.