Разработка delta-neutral vault
Vault обещал 20% APY независимо от движения рынка. Под капотом: long ETH на Aave, short ETH perp на GMX, доход от funding rate. При росте ETH на 40% за неделю short perp потребовал дополнительный margin. Vault автоматически ребалансировался — продавал часть long позиции для покрытия margin call. После нескольких ребалансировок в восходящем тренде vault вышел из delta-нейтрального состояния, накопил directional bias, и следующая коррекция на 15% ударила по позиции вдвойне. Это не баг — это неправильно настроенный ребалансировочный алгоритм.
Что такое delta-нейтральность и почему её сложно удержать
Delta в контексте DeFi vault — мера чувствительности стоимости портфеля к изменению цены базового актива. Delta = 0 означает: цена ETH вырастет на 10% или упадёт на 10% — стоимость vault не изменится (до комиссий).
Технически delta-нейтральность достигается просто: купить 1 ETH spot (delta = +1) и открыть short на 1 ETH futures (delta = -1). Сумма дельт = 0. Проблема в том, что delta портфеля постоянно дрейфует из-за:
- Gamma эффекта. При движении цены соотношение hedge ratio изменяется. После роста ETH на 20% стоимость long позиции выросла, а short не изменилась в USD — delta стала положительной.
- Funding rate изменений. Открытие/закрытие perp позиции в ответ на funding rate меняет hedge ratio.
- Yield rebalancing. Получение и реинвестирование доходности изменяет размер позиций.
Реальный vault требует непрерывного мониторинга delta и периодического ребалансирования для возврата к нейтральному состоянию.
Архитектура delta-neutral vault
Источники доходности
Доходность delta-neutral vault приходит из нескольких источников одновременно:
| Источник | Тип | Надёжность | Зависимость |
|---|---|---|---|
| Funding rate (short perp) | Переменная | Средняя | Market sentiment |
| Staking yield (stETH, rETH) | Стабильная | Высокая | ETH consensus |
| LP fees (если spot в Uniswap) | Переменная | Средняя | Trading volume |
| Borrowing spread (Aave deposit) | Стабильная | Высокая | Utilization rate |
Наиболее resilient стратегия комбинирует несколько источников. Классическая конфигурация: long stETH (получаем staking yield ~4%) + short ETH perp на GMX v2 или Synthetix (получаем funding rate при bull market). При отрицательном funding rate (bear market) — переходим на Aave deposit yield только.
Smart contract архитектура
Vault построен на ERC-4626 стандарте с дополнительными модулями:
HedgeManager — управляет perp позицией. Читает текущую delta vault, рассчитывает требуемый размер short, вызывает открытие/закрытие позиции на perp DEX. Абстрагирует конкретный perp протокол за интерфейсом — можно переключаться между GMX и dYdX без изменения логики vault.
RebalanceEngine — решает когда ребалансировать. Ключевой параметр: deltaTolerance (например, ±5%). Пока абсолютная delta vault в диапазоне [-5%, +5%] от NAV — ребаланс не нужен. При выходе за диапазон — triggered rebalance.
YieldAccumulator — собирает доходность от всех источников (funding payments, staking rewards, LP fees), конвертирует в единую единицу учёта, реинвестирует.
OracleModule — агрегирует Chainlink price feeds с TWAP для расчёта delta. Критично использовать один источник цены для обеих сторон хеджа, иначе разница в oracle может создавать фантомную delta.
Алгоритм ребалансирования
Наивный подход: ребалансировать при каждом отклонении delta. Проблема: при волатильном рынке это может означать десятки ребалансировок в день, каждый с gas расходами и slippage.
Более эффективный подход — threshold + timer гибрид:
function shouldRebalance() public view returns (bool) {
int256 currentDelta = calculateDelta();
uint256 deltaDriftPercent = abs(currentDelta) * 10000 / totalNAV;
bool thresholdBreached = deltaDriftPercent > DELTA_TOLERANCE; // 500 = 5%
bool timerExpired = block.timestamp > lastRebalance + REBALANCE_INTERVAL; // 24h
return thresholdBreached || (timerExpired && deltaDriftPercent > MIN_REBALANCE_DRIFT);
}
Threshold ребаланс при критическом отклонении, timer ребаланс для накопленного drift. Это снижает количество ребалансировок на 70-80% по сравнению с постоянным мониторингом без потери качества хеджа.
Управление margin на perp позиции
Самая опасная точка стратегии — liquidation short perp позиции при резком росте базового актива. Если vault держит 10 ETH long stETH и 10 ETH short perp, при росте ETH на 50% unrealized loss на short = 5 ETH. Если maintenance margin = 5%, нужно держать минимум 0.5 ETH margin на каждый 10 ETH notional. При резком движении этого может не хватить.
Защитные механизмы:
Dynamic margin. Размер margin не фиксированный, а proportional к текущей позиции и expected volatility (через 30-day historical vol). При росте volatility — автоматически добавляем margin из vault reserves.
Partial hedge ratio. Не хеджируем 100% delta. Если хеджировать 80% — сохраняется небольшая положительная delta, что снижает pressure на margin при росте. Трейдофф: vault слабо, но позитивно коррелирует с ростом актива.
Emergency deleverage. Если margin ratio падает ниже emergencyThreshold — автоматически закрываем часть long позиции для пополнения margin, даже ценой нарушения delta-нейтральности. Защита от liquidation приоритетнее чистоты хеджа.
Интеграция с perp протоколами
GMX v2 — наиболее популярный выбор для on-chain short. Контракт взаимодействует через ExchangeRouter. Особенность: исполнение ордера происходит не мгновенно — есть latency 1-2 блока (keeper исполнение). При резком движении рынка реальная цена исполнения может отличаться от ожидаемой.
Synthetix Perps v3 — атомарное исполнение через pyth oracle. Меньше latency риска, но ниже ликвидность на altcoin парах.
dYdX v4 — отдельный cosmos-app chain. Требует cross-chain архитектуру: vault на Ethereum, hedge на dYdX. Усложняет атомарность операций.
Тестирование в экстремальных условиях
Для delta-neutral vault обязательны стресс-тесты на исторических данных:
ETH +100% за 2 недели (Q4 2020): проверяем, сколько ребалансировок нужно, total gas cost, итоговый PnL.
ETH -80% за 6 месяцев (2022): funding rate часто становится отрицательным. Стратегия переходит в убыток по funding. Когда правильнее закрыть short и перейти в чисто yield позицию?
Negative funding rate -0.05% per 8h (экстремальный bear): при какой продолжительности отрицательного funding vault становится убыточным?
Backtesting инструменты: Python + CCXT для исторических данных perp, Dune Analytics для on-chain данных staking yield и Aave rates.
Процесс разработки
Аналитика (5-7 дней). Выбор источников доходности, backtesting стратегии, определение параметров: delta tolerance, rebalance frequency, margin buffer.
Разработка smart contracts (4-6 недель). ERC-4626 vault, HedgeManager, RebalanceEngine, интеграции с perp протоколом и lending протоколом.
Тестирование (2-3 недели). Fork-тесты на mainnet с симуляцией разных рыночных условий, fuzz-тесты инвариантов через Echidna (delta всегда в допустимом диапазоне, NAV не падает ниже threshold).
Внешний аудит (обязателен). Сложность логики и высокий риск потери средств при ошибке — обязательное условие для аудита перед деплоем.
Деплой. Мультисиг через Gnosis Safe, timelock на параметры, Chainlink Automation для автоматических ребалансировок, The Graph субграф для индексации vault метрик.
Ориентиры по срокам
MVP vault с одной стратегией (stETH + GMX short, Ethereum) — 6-8 недель. Полноценный vault с несколькими стратегиями, автоматическим ребалансированием и governance — 2-4 месяца включая аудит. Стоимость рассчитывается индивидуально.







