Ребалансування LP: де саме ламається позиція
Пул Uniswap v3 заробляє лише в межах заданого коридору цін: поки ціна тримається в межах, комісії нараховуються, а капітал працює з високою щільністю.
Щойно ціна пробиває верхню або нижню межу діапазону, позиція перестає бути активною — ліквідність залишається в пулі, але перетворюється на один актив, і збір комісій зупиняється.
Далі вмикається те, що рідко враховують під час входу: непостійні втрати фіксуються не в момент закриття, а саме тоді, коли ціна виходить із діапазону. Позиція вже не отримує комісій, але продовжує нести ціновий ризик.
Простій ліквідності — не пауза, а пряме вирахування з дохідності: кожна година поза коридором — це втрата комісій, які в тому самому пулі забрали сусідні позиції.
Вузький коридор цін підсилює обидві сторони. Щільність капіталу в ньому вища, дохід на одиницю вкладеного більший — тому він і привабливий.
Але ширина діапазону та частота його пробиття пов’язані обернено: чим вужчий коридор, тим меншого руху ціни достатньо, щоб позиція перестала збирати комісії.
Ручний контроль впирається у швидкість. Поки власник помічає вихід із діапазону, перевіряє графік і підписує транзакцію, ціна вже пішла на кілька кроків, а нова межа виставлена за застарілою точкою.
Цикл повторюється: вихід, простій, перевстановлення за минулим рівнем, знову вихід — дохідність з’їдається простоями та перенесенням позиції.
Розбираємо, як це закривається: перерахунок меж за волатильністю, обмеження частоти перевстановлення та контроль втрат під час перенесення.
Ефект від системи: комісії, простій, класи відмов
Позиція в Uniswap v3 заробляє комісії лише поки ціна всередині заданого діапазону — весь інший час вона не приносить нічого.
Тому ефект від системи ребалансування ми вимірюємо не «дохідністю в моменті», а операційними метриками: скільки часу позиція провела в діапазоні, як швидко поверталася в роботу, скільки комісій зібрала та які класи відмов зникли.
Нижче — чекліст, за яким видно, що система справді працює, а не просто ганяє транзакції.
- Частка часу в робочому діапазоні. До впровадження позиція утримувалася в межах приблизно половину календарного часу: ціна виходила за межу, а рішення про перезбирання ухвалювалося вручну. Після впровадження показник тримається в районі 75–85% — це і є основна частина приросту.
- Час простою. Ручний розбір вибитої позиції займав від півгодини до кількох годин, і весь цей час збір комісій стояв на нулі. Автоматичний цикл перезбирання меж повертає позицію в роботу за хвилини.
- Збір комісій. Нарахування йде лише всередині діапазону, тому кожна хвилина простою — прямий недобір. Метрика вважається як частка зібраного від теоретичного максимуму при безперервному перебуванні в діапазоні.
- Зсув діапазону. Ширина меж підлаштовується під поточну волатильність: на спокійному ринку діапазон звужується й дає щільнішу ліквідність, на різких рухах розширюється — позиція рідше вибивається й рідше потребує перезбирання.
- Класи відмов, що зникли. Пішли пропущений зсув ціни, «зависла» позиція без газу, перезбирання меж за застарілою котировкою та дублювальні транзакції при паралельному запуску. Залишилися лише передбачувані відмови рівня мережі.
- Дохідність позиції. Порівнюємо її з двома базами: пасивним утриманням тих самих активів і позицією, покинутою поза діапазоном. Різниця показує внесок саме автоматики, а не ринкового руху.
Варіанти ребалансування LP: порівняння режимів роботи
Концентрована ліквідність дає підвищену комісійну дохідність лише поки ціна залишається всередині заданого діапазону.
Щойно вона пробиває межу, позиція перетворюється на односторонній актив і перестає заробляти — тому режим супроводу позиції впливає на результат сильніше, ніж розмір капіталу.
Чим відрізняються режими
Вибір тут — компроміс між швидкістю реакції на рух ціни та витратами на обслуговування. Нижче — три підходи, між якими зазвичай обирають під свій ризик-профіль.
| Варіант | Коли підходить | Обмеження |
|---|---|---|
| Ручний зсув діапазону | Спокійний ринок, велика позиція, є оператор, готовий стежити за ціною | Затримка реакції та людський фактор; кожне перебудування — мережеві комісії та ризик увійти не в той бік |
| Автоматичні тригери за порогом | Активний ринок, потрібна робота без вихідних і нічних чергувань | Поріг спрацювання підбирається під волатильність: вузький дає часті перебудування та зростання витрат, широкий — довгий простій поза діапазоном |
| Гібрид: зсув за розкладом плюс аварійний вихід | Позиції, де простій поза діапазоном особливо дорогий | Потрібне стійке джерело ціни та розмежування прав оператора й автоматики |
Поріг спрацювання та частота перебудувань налаштовуються під конкретну пару й горизонт утримання: ми рахуємо їх за історичною волатильністю і лише потім закладаємо в конфігурацію. Опишіть своє завдання — повернемося з оцінкою та планом під обраний режим.
Етапи впровадження: від аудиту позицій до передачі системи
Ребалансування позиції ліквідності в концентрованому діапазоні Uniswap v3 — не одна кнопка, а контур, який потрібно налаштувати, перевірити й передати.
Порядок робіт фіксований: пропустиш аудит пулу — пороги виставляться під зручність коду, а не під профіль волатильності, і система почне перебудовуватися на кожному шумі.
-
Аудит пулів. Комісійний рівень, розподіл обсягу за ціновими рівнями, глибина на межах, історія виходу ціни за діапазон. Рахуємо, чи окупає перебудування прослизання та комісії мережі.
-
Схема контуру. Звідки беремо ціну та стан позиції, де зберігаються ключі, хто підписує операції, що робити при розходженні джерел. На виході — схема та перелік відмовних сценаріїв.
-
Налаштування порогів. Ширина діапазону, тригери виходу та повернення, мінімальний крок і ліміт на частоту перебудувань. Окремо — захист від «пилки», коли ціна коливається біля межі діапазону.
-
Тестовий прогін. Спочатку на історичних даних, потім на обмеженому обсязі. Звіряємо розрахунок із фактом: скільки з’їли прослизання та комісії, чи збіглися сигнали з очікуваними.
-
Запуск. Поступове включення з лімітами за обсягом і частотою, оповіщення щодо відхилень. Перші дні інженер розбирає кожне спрацювання та править налаштування.
-
Передача системи. Доступи, документація щодо конфігурації, регламент дій при інциденті, межі, за якими потрібна наша допомога. Далі супроводжуємо: коригуємо пороги під зміну ринку.
Політики доступу, схеми та документація: що залишається у вас
Проєкт здається не демонстрацією працюючого сценарію, а набором артефактів, за якими ваша команда зможе супроводжувати систему без нас.
Нижче — те, що переходить замовнику разом із кодом: конфігурації, схеми та регламенти, які описують не лише штатну роботу, а й поведінку при збої.
- Розмежування доступу — матриця ролей: хто змінює параметри діапазону, хто лише бачить статистику, хто підписує транзакції. Права видаються за принципом мінімально достатніх, кожна дія потрапляє до журналу.
- Ролі та ключі — схема зберігання ключів підпису: окремий ключ на кожне середовище, апаратне сховище або сервіс секретів, процедура ротації та відкликання при компрометації.
- Схеми інтеграцій — діаграми зв’язків із вузлом мережі, джерелом котировок, пулом і сервісом сповіщень: які дані йдуть у кожен бік і що відбувається при недоступності джерела.
- Конфігурації стратегії — цільова частка позиції, ширина діапазону, поріг відхилення для ребалансування, ліміти за комісією та прослизанням, інтервали перевірки.
- Регламент реагування — порядок дій при розходженні котировок, застряглій транзакції, різкому русі ціни та відмові вузла, з порогами спрацювання та відповідальними.
- Документація — опис архітектури, точок входу, змінних середовища, інструкція з локального запуску та прогону стратегії на історичних даних.
- План відновлення — як відкотити конфігурацію до попередньої, вивести ліквідність вручну та перевірити цілісність резервних копій стану.
Кейс: як скоротили час поза діапазоном і втрати комісій
Керований пул на парі із середньою волатильністю якийсь час вели руками: діапазон виставляли за інтуїцією, а перевіряли позицію між іншими завданнями.
Поза робочим коридором позиція перестає збирати комісії та повністю перетворюється на один актив — якщо ціна розвертається, це фіксує збиток, який нічим компенсувати.
Вимірювання до змін дали неприємну картину: частка часу в діапазоні — 58%, медіана реакції на вихід за межу — близько 40 хвилин, втрачені комісії — 31% від потенційних.
Що змінили
Написали сервіс, який стежить за ціною та розподілом ліквідності в Uniswap v3 і заздалегідь рахує наступний коридор.
Перезбирання йде однією транзакцією: зняти залишок, за потреби свапнути в потрібну пропорцію, поставити новий діапазон — капітал не зависає поза ринком між кроками.
Глибину коридору рахуємо від поточної волатильності, а не від «гарного» круглого рівня, тому на спокійному ринку позиція живе довше й рідше платить за збирання.
Окремо закрили тремтіння. Ребалансування спрацьовує лише коли ціна пішла за межу на підтвердженій відстані та оцінка волатильності вища за поріг — інакше шум рухає позицію щогодини, а витрати на збирання та прослизання з’їдають зібрані комісії.
Пороги підбирали на історичних даних: прогнали кілька режимів ринку й залишили значення, за яких кількість перезбирань мінімальна, а час у діапазоні не просідає.
Метрики після
Частка часу в діапазоні зросла з 58% до 94%. Медіана реакції на вихід за межу скоротилася з 40 хвилин до ~2 хвилин — відновлення позиції тепер укладається в один рух ціни, а не в кінець дня.
Втрачені комісії знизилися з 31% до 7% від потенційних, кількість перезбирань — на третину менша, ніж при ребалансуванні за кожним перетином межі.
Частина збитків не зникає зовсім: на різкому односторонньому тренді позицію в коридорі не втримає жодна логіка, там працює лише обмеження просадки та виведення частини капіталу.
Що робити, якщо позиція вже вийшла з діапазону?
Вихід із діапазону відбувається не в момент торкання межі, а коли поточна ціна перестала потрапляти в інтервал, заданий при відкритті. Ліквідність при цьому перестає збирати комісії та повністю залишається в одному активі — у найневигіднішій точці руху.
Тому перший крок — не перезапуск, а фіксація стану: наскільки далеко ціна пішла від межі, як довго вона поза коридором і якою була волатильність на цьому вікні.
Якщо ціна повернулася всередину сама, позиція знову заробляє, і перезбирання діапазону лише зафіксує втрати на прослизанні та комісії мережі.
Перезапуск виправданий при стійкому виході: розворот у межах одного інтервалу перерахунку трапляється помітно рідше, ніж продовження руху в той самий бік.
Порядок дій при підтвердженому виході такий: зняти ліквідність, привести пару до цільового співвідношення, розрахувати нову ширину від фактичної волатильності та відкрити позицію заново з кроком тиків, що відповідає рівню комісії пулу в Uniswap v3.
Ширину беремо з реалізованої волатильності за вікно, а не на око: вузький коридор дає більше комісій, але виходить із діапазону кожні кілька годин, і кожен перезапуск з’їдає накопичене.
Далі — оцінка доцільності: очікуваний дохід від комісій у новому діапазоні за очікуваний час перебування в ньому проти вартості перезапуску, тобто комісії мережі та прослизання при обміні.
Якщо перезбирання окупається всередині одного циклу із запасом більшим за волатильність за цей час — перезапускаємо. Якщо ні, діапазон розширюється або змінюється сама логіка розміщення, інакше автоматичне ребалансування LP буде крутити позицію в збиток.
Часті технічні сумніви перед стартом
Автоматичне ребалансування — це потік рішень: коли зсунути діапазон, як відреагувати на вихід ціни за межу, що робити при розходженні даних між джерелами.
Помилки тут коштують не «незручності», а втрати ліквідності та зайвих перебудувань, тому сумніви інженерного характеру має сенс закривати до запуску. Нижче — питання, які замовники ставлять найчастіше.
Як обмежується максимальний збиток, якщо стратегія помилиться?
На етапі проєктування задаються жорсткі межі: гранична просадка за позицією, ліміт втрат на одне ребалансування та добовий ліміт кількості перебудувань.
При досягненні будь-якого порогу стратегія не «дотягує» діапазон вручну, а зупиняється, виводить ліквідність у нейтральний стан і фіксує причину зупинки в журналі.
Окремо рахується, чи окупає перебудування свою вартість: якщо очікуваний ефект менший за витрати на операцію, вона не виконується — це захист від серії дрібних зсувів, які з’їдають позицію.
Чи отримує підрядник доступ до коштів?
Ні. Використовуємо некастодіальну схему: приватні ключі залишаються у вас, сервіс лише формує транзакцію та передає її на підпис — без підтвердження з вашого боку операція не піде в мережу.
Якщо потрібен повністю автоматичний режим, розгортається гаманець-оператор з урізаними правами: він може змінювати межі діапазону, але не може вивести кошти на сторонню адресу. Права фіксуються в контракті, а не в домовленостях.
Що станеться, якщо зовнішнє джерело ціни видасть неправильні дані?
Сигнал вважається валідним, лише якщо він підтверджений кількома незалежними джерелами та не застарів за часом. При розходженні вище заданого порогу або затримці даних ордери не надсилаються взагалі — стратегія переходить у режим спостереження й чекає стабілізації.
Така поведінка важливіша за швидкість: пропущений зсув діапазону коштує дешевше, ніж перебудування за хибним сигналом.
Чи можна відкотити наслідки збою автоматики?
Кожна операція ідемпотентна та проходить спочатку на тестовому контурі з реальними ринковими умовами. Є ручний стоп, журнал усіх рішень з обґрунтуванням і можливість повернути позицію до вихідних меж.
Логи зберігаються так, щоб за ними відновлювалася повна картина: який сигнал надійшов, який поріг спрацював, що саме відправили в мережу.
Опишіть ваш сценарій — повернемося з оцінкою та планом: які пороги закладаємо, як влаштований доступ і що потрапляє в тестовий контур до першої бойової транзакції.Обговоримо завдання: зберемо схему під ваш пул
Щоб повернутися з оцінкою, а не із загальними словами, потрібен контекст за вашими позиціями: мережа та адреса пулу, поточний діапазон, розмір позиції та горизонт, на якому ви готові її тримати.
Цього достатньо, щоб порахувати частку часу поза діапазоном і обсяг упущених комісій відносно витрат на перемикання.
Що ви отримаєте у відповідь:
- карту поточної позиції: як часто ціна виходить за межі діапазону та скільки часу позиція простоює без комісій;
- розрахунок порогів спрацювання та ширини діапазону під ваш горизонт і ліквідність пулу;
- логіку ребалансування LP: тригери зсуву діапазону, поведінку при різкому русі ціни та захист від спрацювань на ринковому шумі;
- схему виконання та доступів: де зберігаються ключі, хто підписує транзакції, який ліміт на витрати перемикання;
- порядок запуску — прогін на історичних даних, робота на малому розмірі, потім повний обсяг позиції;
- план робіт за етапами з точками, де ви ухвалюєте рішення продовжувати чи змінювати підхід, і сценарії, у яких механіка не захищає.
Опишіть завдання в тому вигляді, у якому воно у вас є: вивантаження угод, таблиця параметрів або просто характеристики пулу. Обговоримо вимоги та повернемося з оцінкою завдання й планом робіт за вашими позиціями.







