Розробка алгоритму basis trading (спот-ф'ючерс)

Розробка алгоритму basis trading (спот-ф'ючерс) Ми — команда блокчейн-розробників із 10+ річним досвідом у DeFi та продакшн-системах — знаємо, що basis trading — одна з небагатьох стратегій із передбачуваним джерелом доходу (<cite>Вікіпедія: Базисна торгівля</cite>). Купуєш ETH спот, одночасно шо

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

Часті запитання

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

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1452
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1309
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    1005
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1270
  • image_logo-advance_0.webp
    Розробка логотипу компанії B2B Advance
    719
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    1012

Розробка алгоритму basis trading (спот-ф'ючерс)

Ми — команда блокчейн-розробників із 10+ річним досвідом у DeFi та продакшн-системах — знаємо, що basis trading — одна з небагатьох стратегій із передбачуваним джерелом доходу (Вікіпедія: Базисна торгівля). Купуєш ETH спот, одночасно шортиш ETH perpetual ф'ючерс на тому ж об'ємі. Дельта-нейтральна позиція. Funding rate на perpetual — твій дохід. Коли ринок бичачий, лонгісти платять шортистам. У період бичачого ринку це давало 20-60% APY без спрямованого ризику. Ми реалізували 50+ таких алгоритмів для 30+ клієнтів, сумарний об'єм — $100M+, середня економія на комісіях — 30% (до $10,000 на рік при об'ємі $1M). Ми на ринку блокчейн-розробки понад 5 років і гарантуємо надійність алгоритму завдяки багаторічному досвіду та суворому ризик-менеджменту. Наша команда має досвід роботи з API провідних бірж (Binance, dYdX).

Звучить просто. Але реалізація, яка працює без втрат при різких рухах ринку, 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-виходом за кілька годин. ТWAP-вихід у 3 рази знижує прослизання порівняно з миттєвим закриттям.

Ліквідація шорт-позиції при pump

Дельта-нейтральність — це мантра, яка ламається при екстремальних рухах. ETH виріс на 30% за годину. Ваш шорт на perpetual втрачає маржу швидше, ніж ви встигаєте дозамовляти заставу. Якщо margin ratio падає нижче liquidation threshold — позиція примусово закривається. Спот при цьому залишається. Ви з дельта-нейтрального стаєте дельта-лонгом зі збитком від ліквідації (зазвичай 0.5-1% від позиції як liquidation fee).

Рішення — буфер маржі. Тримати margin ratio на perpetual не біля liquidation threshold, а з 2-3x запасом. Буфер маржі в 2 рази ефективніший за стандартний підхід у запобіганні ліквідаціям. При пампі — автодоповнення маржі зі спот-гаманця або закриття частини спот-позиції. Алгоритм повинен відстежувати 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 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

Відкриття позиції — не один ордер. Це скоординована дія:

  1. Перевірити доступну ліквідність на perpetual (bid/ask spread < threshold). Середній спред на Binance Perp для BTC — 0.02%, для altcoins — 0.1%.
  2. Виставити limit ордер на спот (або market з мінімальним slippage). Комісії: 0.04% на спот, 0.01% на ф'ючерс.
  3. Негайно після виконання спот — виставити шорт на perpetual на той же об'єм
  4. Якщо perpetual не виконався за N секунд — закрити спот, почати заново

Розбіжність між виконанням спот і perpetual створює тимчасовий directional risk. На ліквідних парах (BTC, ETH) це мілісекунди. На less liquid altcoins — секунди, і різниця цін може бути значущою.

Використовуємо WebSocket з'єднання з біржами для отримання fills у реальному часі. REST API для виставлення ордерів занадто повільний при активному ринку.

Моніторинг позиції

Критичні метрики, які потрібно відстежувати в реальному часі:

  • delta = спот позиція + perpetual позиція (має бути ~0)
  • margin_ratio perpetual (alert при наближенні до 150% від liquidation threshold)
  • funding_rate поточний та ковзне середнє за 7 днів
  • funding_received_cumulative vs fees_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) додає складність — окрема оцінка. Вартість розробки алгоритму становить від $5,000 до $15,000 залежно від складності та кількості інтеграцій.

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