Розроблення алгоритму delta-neutral стратегії
Delta-neutral — це не «стратегія без ризику». Це стратегія з нульовою дельтою в конкретний момент часу. Через годину дельта знову ненулева: ціна активу сдвинулася, гамма спрацювала, funding rate змінився. Утримувати нейтральність — це безперервний процес балансування. Більшість реалізацій ломаються саме тут: розробники роблять rebalancing за таймером, не за динамікою ринку, і стратегія дрейфує у збиток на волатильних періодах.
Математика та головні ризики
Дельта, гамма та чому вони важливі для DeFi
У класичних опціонах delta = dV/dS (зміна вартості позиції при зміні ціни активу). У DeFi контексті дельта LP-позиції у Uniswap v3 — це не константа, вона змінюється залежно від поточної ціни відносно діапазону.
Для Uniswap v3 позиції в діапазоні [P_a, P_b]:
- При ціні вище P_b: дельта = 0 (весь актив у стабільному токені)
- При ціні нижче P_a: дельта = 1 (весь актив у базовому токені)
- Всередину діапазону: дельта від 0 до 1, нелінійно
Це означає, що LP-позиція має негативну гамму — як продаж опціона. При великих рухах ціни LP втрачає більше, ніж при малих. Класичний impermanent loss — це й є прояв негативної гаммы.
Delta-neutral стратегія на LP компенсує цю дельту шортом через perpetual futures на Hyperliquid, dYdX, GMX v2 або Aave (через borrow + sell). При зміні дельта LP хедж потребує корекції.
Funding rate як основний джерело доходу
Основна ідея багатьох delta-neutral стратегій у DeFi: LP заробляє trading fees, шорт на perpetuals платить або отримує funding rate. Якщо funding rate позитивний (лонгисты платять шортистам) — шорт приносить додатковий дохід. Історично на Hyperliquid та dYdX funding rate на ETH/BTC позитивний у середньому 10-20% років.
Суммарна доходність: trading fees LP + funding rate - IL - gas costs на rebalancing.
Ризик: funding rate може розвернутись негативним. На бичачому ринку з негативним funding шорт платить — стратегія збиткова, якщо IL перевищує fees. Алгоритм повинен відслідковувати funding rate та виходити з позиції при перевищенні порогу (наприклад, -50% років за останні 7 днів).
Розрахунок оптимального розміру хеджу
Для LP-позиції в діапазоні потрібно обчислити поточну дельту. Аналітична формула для Uniswap v3:
def lp_delta(current_price, price_lower, price_upper, liquidity):
if current_price <= price_lower:
return 1.0 # все в token0
elif current_price >= price_upper:
return 0.0 # все в token1
else:
sqrt_p = math.sqrt(current_price)
sqrt_pa = math.sqrt(price_lower)
sqrt_pb = math.sqrt(price_upper)
# кількість token0 у позиції
amount0 = liquidity * (sqrt_pb - sqrt_p) / (sqrt_p * sqrt_pb)
# кількість token1 (normalized до token0 одиниць)
amount1_in_token0 = liquidity * (sqrt_p - sqrt_pa) / current_price
total_value = amount0 + amount1_in_token0
return amount0 / total_value if total_value > 0 else 0
Розмір хеджу = delta * total_LP_value_in_base_token. При зміні delta на >2-5% — тригеринг rebalancing.
Реалізація: алгоритмічний рухавик
Компоненти системи
Price oracle. Для триггерів rebalancing неможна покладатись на on-chain TWAP — затримка 30+ хвилин. Потрібен off-chain price feed: Binance WebSocket для spot price, Hyperliquid WebSocket для mark price perpetuals. Розхідність spot vs mark > 0.3% — додатковий сигнал для перевірки дельти.
Position tracker. Опитує NonfungiblePositionManager.positions(tokenId) кожні 30 секунд + підписка на Swap события для instant updates. Розраховує поточну дельту за формулою вище.
Hedge executor. При перевищенні delta threshold — відправляє ордер на perpetual exchange. Для Hyperliquid: REST API POST /exchange з параметрами {coin, isBuy, reduceOnly, sz, limitPx, tif}. Використовуємо limit order з малим slippage (0.1%) замість market order — економить на fees.
Risk monitor. Окремий процес, який перевіряє: liquidation risk шорт-позиції (collateral ratio на Hyperliquid > 20%), funding rate trend, total PnL стратегії. При критичних умовах — emergency exit: закрити шорт, вивести LP.
Rebalancing: thresholds vs continuous
Два підходи до частоти ребалансування:
| Підхід | Триггер | Gas cost | Точність хеджу |
|---|---|---|---|
| Threshold-based | Δ delta > 5% | Низький (рідко) | Середня |
| Time-based | Кожні N хвилин | Середній | Середня |
| Continuous | Кожен блок | Високий (неприйнятно) | Висока |
| Hybrid | Δ delta > 2% АБО кожні 4ч | Оптимальний | Хороша |
Оптимально: threshold-based з мінімальним інтервалом 1 годину (щоб уникнути gas waste при високій волатильності, коли кожен блок тригеріт ребалансування).
Backtesting на історичних даних
Перед деплоєм стратегії на реальні середства — backtesting на історичних даних. Джерела даних: Uniswap v3 Subgraph для fee даних, Coingecko/Binance API для price history, Hyperliquid historical funding rates.
Мінімум 6 місяців даних, включаючи волатильні періоди (май 2021, ноябрь 2022, март 2023). Метрики: Sharpe ratio, max drawdown, average funding income vs IL.
Стек розроблення
Python для backtesting рухавика та прототипу алгоритму — numpy для матричних обчислень, pandas для часових рядів. Rust або Go для production реального часу — latency критична при rebalancing. ethers-rs для on-chain взаємодії, WebSocket subscriptions.
Visualization: Jupyter notebook для backtesting звітів, Grafana для real-time мониторингу відкритих позицій.
Процес роботи
Економічне моделювання (1 тиждень). Параметризація стратегії, backtesting, визначення оптимальних thresholds.
Розроблення алгоритму (2-3 тижні). Position tracker, delta calculator, hedge executor, risk monitor.
Тестування на testnet (1 тиждень). Симуляція на Sepolia + Hyperliquid testnet з реальними price feeds.
Paper trading (1-2 тижні). Алгоритм у production режимі, але без реальних середств — спостерігаємо за рішеннями.
Production деплой. Постійний запуск з малим капіталом, масштабування по мірі підтвердження гіпотез.
Орієнтири за часом
Алгоритм з одним пулом та одним hedge venue: 4-6 тижнів. Система з кількома пулами, автоматичним вибором діапазону та multi-venue хеджуванням: 2-3 місяці.







