Автоматичний менеджер LP-позицій Uniswap v3 — розробка

Ручне управління позиціями в Uniswap v3 забирає час і часто призводить до втрат при виході з діапазону. Ми розробляємо автоматичний менеджер LP-позицій під ключ: він сам переставляє діапазон і утримує позицію в робочій зоні. Ви отримуєте передбачуваний результат і контроль над ризиками без щоденного моніторингу.
Часті запитання

Uniswap v3: чому LP-позиції йдуть у мінус

Концентрована ліквідність в Uniswap v3 влаштована так: ви самі задаєте ціновий діапазон, у межах якого працюють ваші кошти. Поки ціна всередині — капітал задіяний щільніше, ніж у класичному пулі, і комісія на одиницю вкладеного зростає.

Щойно ціна виходить за межу, LP-позиція перестає заробляти: актив повністю конвертується в один токен, а ви тримаєте його осторонь від ринку.

Саме тут криється основна причина збитків. Діапазон — не статичне налаштування, а параметр, який треба переглядати в міру руху ринку. Чим вужчий коридор, тим вища віддача на капітал, але тим частіше ціна його покидає.

Без автоматизації власник або тримає широкий діапазон і втрачає в дохідності, або виставляє вузький і через кілька годин виявляє позицію за межею.

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

На волатильному ринку такі переходи трапляються по кілька разів на добу, і кожен пропущений момент — це недоотримана комісія плюс накопичений несприятливий відбір.

Окрема проблема — неправильний вибір моменту. Якщо ребалансувати на кожному коливанні, транзакційні витрати й прослизання з'їдають весь прибуток від комісій. Якщо ребалансувати рідко — позиція довго простоює поза діапазоном.

Баланс між цими крайнощами досягається лише алгоритмічно, з урахуванням волатильності, глибини пулу й вартості газу.

Автоматичний менеджер вирішує це як замкнений контур: відстежує ціну щодо меж, за заданими правилами ініціює вихід із діапазону й перевідкриття позиції, перераховує межі під поточну волатильність і контролює витрати кожної операції. Нижче розбираємо, як це закривається на практиці.

Архітектура автоматичного менеджера LP-позицій

Автоматичний менеджер утримує LP-позицію в цільовому діапазоні Uniswap v3 без участі оператора: контракт відстежує поточну ціну пулу, порівнює її з межами та ініціює ребалансування, коли позиція наближається до краю.

Ручне управління тут програє не в точності, а в швидкості реакції — поки оператор перевіряє графік, діапазон уже пройдено, ліквідність перестає заробляти, а активи залишаються в невигідній пропорції.

Ребалансування за тригером

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

Ключовий параметр — ширина коридору: вузький дає більше зборів, але частіше потребує перебудови, широкий рідше зрушується, але приносить менше на одиницю вкладеного капіталу.

Режими роботи менеджера

Режим Коли підходить Обмеження
Ручний із повідомленнями Рідкісні ребалансування, контроль кожної операції Реакція залежить від оператора, вікно пропускається
Напівавтоматичний Потрібне підтвердження перед великою перебудовою Затримка між сигналом і виконанням
Повністю автоматичний Волатильні пари, цілодобова робота Потребує коректних лімітів і захисту від прослизання

Захист від людського фактора

Автоматизація прибирає клас відмов, пов'язаних із ручними операціями: пропущений сигнал, неправильно виставлені межі, вхід у момент різкого руху ціни.

Контракт виконує заздалегідь задану логіку однаково в будь-яку годину, а всі дії фіксуються в журналі — видно, коли і чому спрацювало ребалансування.

Uniswap v3 дає концентровану ліквідність, але саме через неї позиція потребує постійної уваги. Менеджер перетворює це з рутини на керований процес із передбачуваними правилами.

Як ми впроваджуємо менеджер позицій: етапи робіт

Впровадження автоматичного менеджера LP-позицій для Uniswap v3 починається з аудиту: дивимося, у яких діапазонах зараз стоять кошти, як часто ви виходите за межі, скільки часу позиція проводить поза діапазоном і які комісії втрачаються марно. Без цього етапу будь-яка автоматизація закріплює вже наявні помилки в логіці ребалансувань.

Далі проєктуємо логіку під ваш профіль ризику та горизонт: правила входу й виходу з діапазону, пороги спрацювання, ліміти на розмір кроку та частоту перебудов.

Окремо фіксуємо, що робить менеджер при різкому русі ціни та при нестачі газу — це ті сценарії, де саморобні боти найчастіше втрачають кошти.

  1. Аудит поточних позицій. Збираємо історію за парами та діапазонами, рахуємо частку часу поза діапазоном і втрачені комісії — отримуємо базу для порівняння після впровадження.
  2. Проєктування логіки. Описуємо правила ребалансування, умови зупинки та захисні ліміти, узгоджуємо їх з вами до написання коду.
  3. Налаштування параметрів. Задаємо ширину діапазону, крок перебудови, пороги комісій і обмеження за частотою операцій під конкретну пару.
  4. Розробка та внутрішні перевірки. Пишемо модуль керування позицією, покриваємо ключові шляхи тестами, включно з аварійною зупинкою та відкатом.
  5. Перевірка на тестовій мережі. Проганяємо сценарії на історичних даних і в тестовій мережі: дивимося, як логіка поводиться на різких рухах і в спокійному ринку.
  6. Передача та документація. Віддаємо конфігурації, схему логіки, інструкцію зі зміни параметрів і порядок дій при збої.
  7. Супровід після запуску. Перший час стежимо за фактичними метриками та коригуємо пороги, якщо поведінка ринку відрізняється від розрахункової.

Кожен етап закінчується артефактом, який можна перевірити: звіт з аудиту, специфікація правил, набір параметрів, результати прогонів. Опишіть вашу задачу — повернемося з оцінкою та планом робіт за етапами.

Чим автоматичний менеджер відрізняється від ручного управління?

Ручне управління LP-позицією в Uniswap v3 зводиться до трьох дій: вибрати діапазон ціни, стежити за його актуальністю та вчасно перекласти ліквідність при виході ціни за межі. Поки ринок спокійний, це працює.

Але діапазон в Uniswap v3 — не «налаштував і забув»: чим він вужчий, тим вища частка комісій, і тим швидше ціна його покидає.

У момент виходу позиція перестає заробляти і повністю переходить в один актив — по суті, ви тримаєте його без комісії та з ризиком подальшого руху проти вас.

Автоматизація змінює саму природу процесу. Менеджер відстежує ціну та стан позиції безперервно, а не в ті моменти, коли в оператора є час відкрити інтерфейс.

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

Точність попадання в діапазон — друга прогалина. Оператор виставляє межі «на око» і рідко перераховує їх під змінену волатильність. Алгоритм рахує діапазон від поточної ціни та заданої ширини, тому позиція залишається в робочій зоні, а не висить мертвим вантажем за її межами.

Витрати на газ при ручному підході непередбачувані: перезбирання потрапляє на пік завантаження мережі, і комісія з'їдає зароблене. Менеджер може відкладати дію до прийнятного рівня газу або об'єднувати операції — там, де людина реагує негайно і дорого.

І головне — людський фактор. Пропущений вихід з діапазону, невірно введена межа, забута позиція. Алгоритм не втомлюється і не відволікається, а всі його дії відтворювані та логуються.

Кейс: як менеджер утримав позицію в діапазоні

До впровадження позиція в пулі з вузьким діапазоном жила в середньому 6-9 годин: ціна виходила за межу, ліквідність переставала заробляти, а повернення в діапазон вимагало ручного втручання.

Оператор перевіряв стан кілька разів на день, але між перевірками минали години — за цей час позиція встигала випасти й накопичити невиконані ордери. Частка часу в діапазоні трималася на рівні 55-60%, а кожна перестановка меж робилася вручну й із затримкою.

Що змінили

Ми зібрали автоматичний менеджер, який стежить за ціною та переставляє межі позиції за заданою стратегією. Логіку винесено в окремий сервіс: він читає стан пулу, порівнює поточну ціну з активним діапазоном і ухвалює рішення про перестановку.

Усі дії проходять через симуляцію на форку перед відправленням — транзакція спочатку перевіряється на реальному стані мережі, і тільки потім іде в мейннет.

Метрики до та після

Показник До Після
Частка часу в діапазоні 55-60% 92-95%
Ручних операцій на тиждень 20-30 1-2
Середня затримка реакції години хвилини
Клас усунених відмов вихід за межі, пропущені перестановки —

Окремо закрили клас відмов, пов'язаних із гонкою транзакцій: коли оператор і скрипт одночасно намагалися змінити позицію, частина операцій відвалювалася за nonce. Тепер черга дій серіалізована, а повторне відправлення йде з перерахунком газу.

Що залишилося під контролем людини

Автоматика не скасовує нагляд: оператор задає стратегію, ліміти за розміром позиції та пороги, за якими менеджер зупиняється й чекає рішення. Усі дії логуються, є відкат до попереднього стану позиції. Такий підхід знімає рутину, але залишає за людиною управління ризиком.

Uniswap v3

Сумніви перед впровадженням: доступи, міграція, відкат

Перед запуском автоматичного менеджера LP-позицій Uniswap v3 замовник зазвичай ставить три питання: які ключі ми отримуємо, що буде з уже відкритими позиціями і як відкотитися, якщо стратегія піде не так. Відповідаємо по суті — без загальних слів.

Що з доступами? Менеджер підписує транзакції гаманця, тому йому потрібен доступ до акаунта, який керує позиціями. Ми проєктуємо ролі так, щоб у бота був окремий ключ із правом лише на перебалансування та збір комісій, а виведення коштів залишалося за вами. Ключі зберігаються в захищеному сховищі, а не в коді чи конфігураційних файлах.

Що якщо міграція? Уже відкриті позиції не чіпаємо до першого планового циклу: менеджер зчитує поточні діапазони та підхоплює їх як є. Перехід на нову логіку відбувається поступово — спочатку на одній парі, потім на решті, з контролем результату на кожному кроці.

Як влаштований відкат? Кожен цикл перебалансування пише знімок стану: діапазон, ліквідність, комісії. Відкат — це повернення до попереднього знімка та повторне відкриття позиції за ним, а не «ручне відновлення на око». Плюс завжди залишається аварійний режим: зупинка бота та передача керування вам.

Що якщо стратегія почне втрачати гроші на волатильній парі?

У кожного менеджера є ліміти: максимальна просадка, мінімальний діапазон, поріг комісій для перебалансування. При виході за ліміт бот зупиняється та надсилає повідомлення, а не продовжує торгувати. Ліміти налаштовуються під вашу пару та горизонт.

Що якщо у вас уже є свій бот або скрипти? Ми не ламаємо наявну логіку: менеджер підключається як окремий шар поверх поточних позицій, а старі скрипти можна залишити в резерві.

Що ви отримаєте на руки:

  • Конфігурації менеджера: діапазони, ліміти просадки, пороги перебалансування.
  • Схему ролей і доступів з розділенням прав на керування та виведення.
  • Політику зберігання ключів і правила ротації.
  • Документацію щодо циклів роботи та логіки ухвалення рішень.
  • Інструкцію щодо відкату та аварійної зупинки.
  • Схему міграції наявних позицій за кроками.
  • Набір метрик і дашборд щодо комісій та просадки.

Опишіть вашу задачу — пару, горизонт і поточний стан позицій. Повернемося з оцінкою та планом впровадження.

Терміни впровадження менеджера LP-позицій

Терміни залежать не від обсягу коду, а від того, наскільки швидко узгоджуються правила управління позицією: межі діапазону, пороги ребалансування, ліміти на газ і допустиме прослизання. Нижче — орієнтовні етапи для менеджера LP-позицій Uniswap v3.

Діапазони наведено для типового проєкту з однією стратегією; паралельні стратегії та нестандартна логіка додають часу пропорційно.

Що впливає на термін. Кількість пулів і стратегій, необхідність зовнішнього аудиту коду, вимоги до мультипідпису для виведення коштів і наявність готової інфраструктури моніторингу. Якщо у вас уже розгорнуто вузол мережі та налаштовано оповіщення, етап налаштування скорочується.

Як прискорити. Зафіксувати правила управління позицією до старту розробки — це знімає переробки на етапі тестування. Детальні вимоги до поведінки при волатильності економлять більше часу, ніж будь-який інструмент.

Опишіть задачу: які пули, яка логіка ребалансування, хто управляє коштами — повернемося з оцінкою та планом за етапами.

Напрямки блокчейн-розробки

Останні роботи

  • Розробка сайту компанії B2B ADVANCE
    Розробка сайту компанії B2B ADVANCE
    1543
  • Розробка веб-додатків для компанії FEEDME
    Розробка веб-додатків для компанії FEEDME
    1394
  • Розробка веб-сайту для компанії БЕЛФІНГРУП
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    1081
  • Розробка інтернет магазину для компанії FURNORO
    Розробка інтернет магазину для компанії FURNORO
    1369
  • Розробка логотипу компанії B2B Advance
    Розробка логотипу компанії B2B Advance
    816
  • Розробка веб-додатків для компанії Enviok
    Розробка веб-додатків для компанії Enviok
    1142