Мы разработали vault, который обещал 20% APY независимо от движения рынка. Под капотом: long ETH на Aave, short ETH perp на GMX, доход от funding rate. При росте ETH на 40% за неделю short perp потребовал дополнительный margin. Vault автоматически ребалансировался — продавал часть long позиции для покрытия margin call. После нескольких ребалансировок vault вышел из дельта-нейтрального состояния, накопил 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% по сравнению с постоянным мониторингом — threshold + timer гибрид лучше постоянного мониторинга в 3-5 раз по частоте ребалансировок.
Как управлять 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. При резком движении этого может не хватить. Предотвратить потери до $1 млн помогает правильная конфигурация защитных механизмов.
Защитные механизмы:
- 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 протоколов для vault
| Параметр | GMX v2 | Synthetix Perps v3 | dYdX v4 |
|---|---|---|---|
| Исполнение | Keeper (latency 1-2 блока) | Атомарное (pyth oracle) | Cross-chain (Cosmos) |
| Ликвидность | Высокая на ETH/BTC | Средняя на altcoins | Высокая на основных |
| Комиссии | 0.05-0.1% | 0.1% + spread | 0.05% maker/0.1% taker |
| Задержка | 2-5 сек | 1 сек | ~1 блок (Cosmos) |
| Простота интеграции | Средняя (ExchangeRouter) | Высокая (atomic) | Низкая (IBC bridge) |
| Технические сценарии | Условия | Требования к vault |
|---|---|---|
| ETH +100% за 2 недели | Бычий рынок | 10+ ребалансировок, gas ~$2000 |
| ETH -80% за 6 месяцев | Медвежий рынок | Переход в yield-only, отказ от short |
| Negative funding rate -0.05% per 8h | Экстремальный bear | Длительность >2 недель — vault убыточен |
Backtesting инструменты: Python + CCXT для исторических данных perp, Dune Analytics для on-chain данных staking yield и Aave rates.
Детали стресс-тестов
Vault тестируется на форках mainnet с симуляцией 2-летней истории. Используем Echidna для fuzz-тестов инвариантов: delta всегда в допустимом диапазоне, NAV не падает ниже threshold, margin ratio > emergencyThreshold. Каждый тест покрывает 10 000+ случайных сценариев.Процесс разработки
Что входит в работу
- Документация архитектуры и спецификация
- Разработка ERC-4626 vault, HedgeManager, RebalanceEngine
- Интеграция с выбранным perp-протоколом и lending-протоколом
- Написание тестов (fork, fuzz, invariant) с покрытием >95%
- Внешний аудит (обязательно с отчётом)
- Деплой через Gnosis Safe с timelock
- Настройка Chainlink Automation для автоматизации ребалансировок
- Субграф The Graph для метрик vault
- Обучение вашей команды и документация по эксплуатации
- Поддержка в течение 3 месяцев после деплоя
Этапы и сроки
- Аналитика (5-7 дней): выбор стратегии, backtesting, определение параметров deltaTolerance, rebalance frequency, margin buffer.
- Разработка смарт-контрактов (4-6 недель): кодинг модулей и интеграция.
- Тестирование (2-3 недели): fork-тесты на mainnet с разными рыночными сценариями, fuzz-тесты инвариантов.
- Внешний аудит (обязателен): 1-2 недели, в зависимости от объёма кода.
- Деплой и мониторинг: 1 неделя.
MVP vault с одной стратегией (stETH + GMX short, Ethereum) — 6-8 недель. Полноценный vault с несколькими стратегиями, автоматическим ребалансированием и governance — 2-4 месяца включая аудит. Стоимость рассчитывается индивидуально. Мы — команда с 5-летним опытом в DeFi, разработали более 50 протоколов, гарантируем качество и прохождение аудита. Закажите разработку vault с правильной архитектурой. Свяжитесь с нами для консультации и оценки вашего проекта.







