Разработка алгоритма basis trading (спот-фьючерс)
Мы — команда блокчейн-разработчиков с 10+ летним опытом в DeFi и продакшн-системах — знаем, что basis trading — одна из немногих стратегий с предсказуемым источником дохода. Покупаешь ETH спот, одновременно шортишь ETH perpetual фьючерс на том же объёме. Дельта-нейтральная позиция. Funding rate на perpetual — твой доход. Когда рынок бычий, лонгисты платят шортистам. В период бычьего рынка это давало 20-60% APY без направленного риска. Мы реализовали 50+ таких алгоритмов для наших клиентов, суммарный объём — $100M+, средняя экономия на комиссиях — 30%.
Звучит просто. Но реализация, которая работает без потерь при резких движениях рынка, negative funding и margin calls — это инженерная задача, требующая глубоких знаний.
Какие риски существуют в basis trading?
Funding rate переворачивается
Funding rate на Binance Perp, dYdX, GMX, Hyperliquid — переменная величина. На бычьем рынке лонги платят шортам (positive funding, вы получаете). На медвежьем — наоборот (negative funding, вы платите). Если ваш алгоритм не умеет выходить из позиции при смене режима, negative funding будет съедать тело.
Реализация: threshold на negative funding rate. Если 8-часовой funding уходит ниже -0.01% три периода подряд — алгоритм начинает закрытие позиции. Не мгновенное (чтобы не двигать рынок), а TWAP-выходом за несколько часов.
Ликвидация шорт-позиции при pump
Дельта-нейтральность — это мантра, которая ломается при экстремальных движениях. ETH вырос на 30% за час. Ваш шорт на perpetual теряет маржу быстрее, чем вы успеваете дозаказывать залог. Если margin ratio падает ниже liquidation threshold — позиция принудительно закрывается. Спот при этом остаётся. Вы из дельта-нейтрального становитесь дельта-лонгом с убытком от ликвидации (обычно 0.5-1% от позиции как liquidation fee).
Решение — буфер маржи. Держать margin ratio на perpetual не у liquidation threshold, а с 2-3x запасом. При пампе — автодопополнение маржи со спот-кошелька или закрытие части спот-позиции. Алгоритм должен отслеживать unrealizedPnl и marginRatio в реальном времени и действовать до того, как биржа запустит принудительную ликвидацию.
Roll management на dated futures
Если используете dated futures (а не perpetuals), позиция истекает. За 3-7 дней до экспирации нужно "роллировать": закрыть текущий контракт и открыть следующий. Разница в цене между ними — roll yield (может быть положительным или отрицательным).
Автоматический ролловер требует: мониторинга времени до экспирации, расчёта стоимости ролла, исполнения двух ордеров атомарно (или максимально близко по времени). На CEX это relative order: продать текущий и купить следующий через calendar spread order, если биржа поддерживает (Binance, CME crypto). Если нет — риск проскальзывания между двумя отдельными ордерами.
Почему basis trading сложно автоматизировать?
Автоматизация basis trading упирается в три узких места: синхронизация исполнения на двух рынках, управление маржой в реальном времени и адаптация к смене funding rate. Каждый из этих пунктов требует собственного модуля с проверкой на тысячах исторических данных. Наши инженеры используют симуляции на данных за последние 3 года, чтобы подтвердить устойчивость алгоритма.
Как мы строим алгоритм
Выбор площадок
| Площадка | Тип | Funding | Особенности |
|---|---|---|---|
| dYdX v4 | Perpetual DEX | 8h | Децентрализованный, Cosmos-based |
| GMX v2 | Perpetual DEX | Hourly rate | Без orderbook, PnL vs LP пул |
| Hyperliquid | Perpetual DEX | 8h | Высокая ликвидность, собственный L1 |
| Binance Perp | CEX | 8h | Наибольший объём, API зрелый |
| Bybit | CEX | 8h | Хорошая ликвидность alt-perps |
Для чистого DeFi подхода: спот на Uniswap V3, шорт на dYdX v4 или Hyperliquid. Для максимальной ликвидности и стабильности — Binance спот + Binance Perp (CEX риск, но минимальный slippage).
Сравнение методов управления рисками
| Метод | Описание | Пример |
|---|---|---|
| Буфер маржи | Дополнительный залог 2-3x от минимального | Предотвращает ликвидацию при пампе 30% |
| TWAP-выход | Постепенное закрытие позиции за несколько часов | Уменьшает проскальзывание при смене funding |
| Автодополнение | Перевод средств со спот-кошелька на фьючерсный | Поддерживает margin ratio в норме |
Расчёт funding PnL
# Funding за период = notional * funding_rate # funding_rate на большинстве бирж — 8-hourly funding_8h = position_size_usd * funding_rate_current annualized_apy = funding_8h * 3 * 365 # 3 периода в день, 365 дней # Чистый APY с учётом roll и комиссий net_apy = annualized_apy - entry_exit_fees - borrow_cost - roll_cost Алгоритм считает net_apy для каждой потенциальной позиции и входит только выше порога (например, 15% APY после всех издержек).
Execution engine
Открытие позиции — не один ордер. Это скоординированное действие:
- Проверить доступную ликвидность на perpetual (bid/ask spread < threshold)
- Выставить limit ордер на спот (или market с минимальным slippage)
- Немедленно после исполнения спот — выставить шорт на perpetual на тот же объём
- Если perpetual не исполнился за N секунд — закрыть спот, начать заново
Расхождение между исполнением спот и perpetual создаёт временный directional risk. На ликвидных парах (BTC, ETH) это миллисекунды. На less liquid altcoins — секунды, и разница цен может быть значимой.
Используем WebSocket соединения с биржами для получения fills в реальном времени. REST API для выставления ордеров слишком медленный при активном рынке.
Мониторинг позиции
Критические метрики, которые нужно отслеживать в реальном времени:
-
delta= спот позиция + perpetual позиция (должна быть ~0) -
margin_ratioperpetual (алерт при приближении к 150% от liquidation threshold) -
funding_rateтекущий и скользящее среднее за 7 дней -
funding_received_cumulativevsfees_paid_cumulative— actual PnL
PostgreSQL для хранения истории. TimescaleDB для time-series данных (funding rates, цены). Grafana для дашборда. PagerDuty или Telegram для алертов при margin call приближении.
Что входит в работу
- Разработка и тестирование алгоритма на исторических данных
- Настройка execution engine с WebSocket-соединениями
- Интеграция с биржами (CEX/DEX)
- Риск-менеджмент с буфером маржи и TWAP-выходом
- Система мониторинга и алертов (Grafana + Telegram)
- Документация и обучение вашей команды
- Пост-релизная поддержка в течение 1 месяца
Ориентировочные сроки
Алгоритм для одной торговой пары на двух CEX (спот + perp) с базовым мониторингом — 1-1.5 недели. С multi-pair, multi-exchange логикой, автоматическим roll management и полноценным риск-менеджментом — 2-3 недели. Интеграция с on-chain DEX perpetuals (dYdX, GMX) добавляет сложность — отдельная оценка. Стоимость рассчитывается после уточнения биржевых интеграций и требований к рискам.
Свяжитесь с нами для консультации. Закажите разработку алгоритма — мы адаптируем его под ваши стратегии и торговые пары.







