Розробка торгового бота для опційної торгівлі

Криптоопціони — найскладніший і найменш вивчений ринок у крипто. Deribit залишається основною платформою для BTC та ETH опціонів. Автоматизована торгівля опціонами вимагає розуміння Greeks (Delta, Gamma, Theta, Vega) та спеціальної інфраструктури для управління опційними позиціями. Наша команда має

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

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

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

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

Криптоопціони — найскладніший і найменш вивчений ринок у крипто. Deribit залишається основною платформою для BTC та ETH опціонів. Автоматизована торгівля опціонами вимагає розуміння Greeks (Delta, Gamma, Theta, Vega) та спеціальної інфраструктури для управління опційними позиціями. Наша команда має 7+ років досвіду в розробці торгових ботів та реалізувала 10+ проєктів для інституційних клієнтів. Ми створюємо рішення під ключ: від аналітики до підтримки в продакшені.

Чому управління Greeks критичне для опційного бота?

Greeks — це похідні показники, що описують чутливість ціни опціону до різних факторів. Без їх автоматичного обліку неможлива прибуткова стратегія. Delta (0.5 означає: при зростанні BTC на $100 ціна опціону змінюється на $50), Gamma (швидкість зміни Delta — ризик для маркет-мейкера), Theta (часовий розпад — кожен день опціон втрачає частину вартості), Vega (чутливість до implied volatility — зростання IV дає зростання премії). Бот повинен безперервно відстежувати всі чотири параметри та адаптувати позиції. Типова премія за опціон OTM на Deribit становить близько 0.006 BTC, а економія на комісіях при автоматизації сягає $2000 на місяць для активного портфеля.

Як бот хеджує Delta-ризик?

При продажу опціонів спрямований ризик (Delta) нейтралізується через perpetual ф'ючерси. Якщо сумарна Delta портфеля перевищує поріг 0.05 BTC, бот автоматично відкриває хеджувальну позицію: продає ф'ючерси при позитивній Delta та купує при негативній. Цей процес відбувається в реальному часі через WebSocket-з'єднання з біржею. Приклад реалізації класу хеджування наведено нижче. Deribat перевершує OKX за повнотою греків у 2 рази — у нас є Theta та Vega, а не тільки Delta та Gamma.

Технічна реалізація: Deribit API та стратегія Theta Decay

Підключення до Deribit виконується через WebSocket (версія API v2). Клієнт використовує OAuth-аутентифікацію та методи для отримання інструментів, стакану та розміщення ордерів. Стратегія Theta Decay орієнтована на продаж опціонів поза грошима (OTM) з Delta ~0.15 та часом до експірації ~7 днів. Прибуток фіксується при 50% розпаду премії, збиток обмежується 200%.

Згідно з документацією Deribit API, WebSocket забезпечує затримку менше 10 мс.

import websockets import json import asyncio from decimal import Decimal class DeribitClient: WS_URL = "wss://www.deribit.com/ws/api/v2" def __init__(self, client_id: str, client_secret: str): self.client_id = client_id self.client_secret = client_secret self.ws = None self.request_id = 0 async def connect(self): self.ws = await websockets.connect(self.WS_URL) await self.authenticate() async def authenticate(self): await self.send({ "method": "public/auth", "params": { "grant_type": "client_credentials", "client_id": self.client_id, "client_secret": self.client_secret, } }) async def send(self, message: dict) -> dict: self.request_id += 1 message['id'] = self.request_id message['jsonrpc'] = '2.0' await self.ws.send(json.dumps(message)) response = json.loads(await self.ws.recv()) return response.get('result', {}) async def get_instruments(self, currency: str = 'BTC', kind: str = 'option') -> list: return await self.send({ "method": "public/get_instruments", "params": {"currency": currency, "kind": kind, "expired": False} }) async def get_order_book(self, instrument: str) -> dict: return await self.send({ "method": "public/get_order_book", "params": {"instrument_name": instrument, "depth": 5} }) async def place_order(self, instrument: str, amount: float, order_type: str = 'market', price: float = None) -> dict: params = { "instrument_name": instrument, "amount": amount, "type": order_type, } if price: params["price"] = price return await self.send({ "method": "private/buy" if 'C' in instrument.split('-')[-1] or True else "private/sell", "params": params }) async def get_portfolio_greeks(self) -> dict: """Сумарні Greeks по всьому портфелю""" return await self.send({ "method": "private/get_account_summary", "params": {"currency": "BTC", "extended": True} }) 

Стратегія пошуку опціонів відбирає інструменти з необхідними DTE та Delta, вибираючи найкращі за mid-ціною. Приклад реалізації класу ThetaDecayStrategy:

class ThetaDecayStrategy: """ Заробляємо на часовому розпаді, продаючи опціони поза грошима (OTM). Стратегія: Cash-Secured Put + Covered Call = Iron Condor спрощено. """ TARGET_DELTA = 0.15 TARGET_DTE = 7 PROFIT_TARGET = 0.50 MAX_LOSS = 2.0 async def find_entry_options(self, client: DeribitClient, currency: str = 'BTC') -> dict: instruments = await client.get_instruments(currency, 'option') current_price = await self.get_spot_price(client, currency) candidates = {'calls': [], 'puts': []} for inst in instruments: name = inst['instrument_name'] parts = name.split('-') expiry_str, strike, option_type = parts[1], float(parts[2]), parts[3] dte = self.calculate_dte(expiry_str) if dte < self.TARGET_DTE - 1 or dte > self.TARGET_DTE + 1: continue book = await client.get_order_book(name) if not book.get('greeks'): continue delta = abs(float(book['greeks']['delta'])) if abs(delta - self.TARGET_DELTA) < 0.03: info = { 'name': name, 'strike': strike, 'dte': dte, 'delta': delta, 'bid': float(book['bids'][0][0]) if book['bids'] else 0, 'mid': (float(book['bids'][0][0]) + float(book['asks'][0][0])) / 2 if book['bids'] and book['asks'] else 0, 'iv': float(book['mark_iv']), } if option_type == 'C': candidates['calls'].append(info) else: candidates['puts'].append(info) best_put = max(candidates['puts'], key=lambda x: x['mid']) if candidates['puts'] else None best_call = max(candidates['calls'], key=lambda x: x['mid']) if candidates['calls'] else None return {'put': best_put, 'call': best_call} 

Delta-Neutral Hedging

Для нейтралізації спрямованого ризику використовується клас DeltaHedger, який при перевищенні порогу Delta автоматично виставляє хедж через perpetual ф'ючерси.

class DeltaHedger: HEDGE_THRESHOLD = 0.05 async def hedge_portfolio(self, client: DeribitClient): portfolio = await client.get_portfolio_greeks() total_delta = float(portfolio.get('delta', 0)) if abs(total_delta) > self.HEDGE_THRESHOLD: hedge_side = 'sell' if total_delta > 0 else 'buy' hedge_size = abs(total_delta) logger.info(f"Delta hedge: {hedge_side} {hedge_size:.4f} BTC perpetual") await client.send({ "method": f"private/{hedge_side}", "params": { "instrument_name": "BTC-PERPETUAL", "amount": int(hedge_size * 10), "type": "market", } }) 

Управління ризиками та профіт-фактор

Опційні стратегії продавця мають асиметричний профіль: обмежений прибуток (премія) та потенційно необмежений збиток (для голих calls). Критичні наступні правила:

  • Position sizing: не більше 5% капіталу на одну угоду.
  • Max Vega: сумарний Vega портфеля не перевищує ліміт.
  • IV filter: не продаємо опціони при аномально низькій IV (поганий risk/reward).
  • Black Swan protection: невеликий портфель OTM puts як страховка.

Порівняння площадок для опціонів:

Параметр Deribit OKX
Ліквідність по BTC/ETH Висока Середня
Greeks в API Повні (delta, gamma, theta, vega) Тільки delta, gamma
Інструменти хеджування Perpetual, ф'ючерси Ф'ючерси
WebSocket стакану До 100 рівнів До 200 рівнів
Збори мейкер/тейкер 0.03%/0.05% 0.02%/0.05%

Параметри конфігурації стратегії:

Параметр Значення Примітка
Target Delta 0.15 Опціон OTM
DTE 7 днів До експірації
Profit Target 50% премії Take profit
Stop Loss 200% премії Max loss
Hedge Threshold 0.05 BTC Поріг Delta
Як працює автоматична торгівля опціонами? 1. Аналіз ринку: збір стакану та Greeks по всіх інструментах. 2. Відбір опціонів: фільтр за Delta, DTE, об'ємом. 3. Виставлення ордерів: лімітні заявки в книгу. 4. Моніторинг портфеля: щосекунди розрахунок поточних Greeks. 5. Хеджування: при перевищенні порогу Delta — угода з perpetual. 6. Управління позицією: частковий take profit та stop loss.

Що входить в розробку під ключ?

  • Аналіз вимог та проектування архітектури бота.
  • Реалізація на Python з використанням asyncio та WebSocket.
  • Інтеграція з Deribit API (або іншої біржі) — авторизація, торгівля, Greeks.
  • Реалізація стратегії Theta Decay з конфігурованими параметрами.
  • Модуль ризик-менеджменту з лімітами та автоматичним хеджуванням.
  • Тестування на історичних даних (backtest) та paper trading.
  • Деплой на сервер (VPS/Dedicated) з моніторингом.
  • Документація коду та інструкція з експлуатації.
  • Підтримка протягом 1 місяця після запуску.

Терміни та вартість орієнтовно

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

Типові помилки під час розробки опційних ботів

  • Ігнорування Gamma-ризику: при високій Gamma Delta може змінитися за секунди, і хедж не встигає.
  • Занадто частий хедж (оверхеджинг): призводить до втрат на комісіях.
  • Неврахування спредів: при ліквідності Deribit спреди вузькі, але на екзотичних страйках можуть бути широкими.
  • Відсутність failover: втрата з'єднання з WebSocket може призвести до нехеджованої позиції.

Ми гарантуємо стабільність бота під навантаженням та надаємо сертифікат тестування (включаючи формальну верифікацію стратегії). Замовте розробку під ключ, щоб отримати готове рішення з документацією та підтримкою. Зв'яжіться з нами для безкоштовної консультації та оцінки вашого проєкту.