Разработка системы расчета Greeks для крипто-опционов
Deribit в декабре 2022 года: опционы на ETH с экспирацией через 48 часов, IV (implied volatility) скачет с 80% до 140% за несколько часов после FTX коллапса. Трейдеры, которые смотрели только на цену опциона, теряли деньги — платили «правильную» цену, но покупали экспозицию на wrong Greeks. Delta была близка к 0.5, но Vega зашкаливала: позиция теряла стоимость при нормализации волатильности быстрее, чем зарабатывала от движения цены.
Greeks — это не академический инструмент. Это то, что отличает прибыльную опционную позицию от случайной ставки.
Что такое Greeks в контексте крипто-опционов
Базовые Greeks и их реальное значение
Delta (Δ) — чувствительность цены опциона к изменению цены базового актива. Call опцион с Delta 0.6: при росте ETH на $100 опцион дорожает примерно на $60. Delta также интерпретируется как вероятность исполнения опциона при экспирации (грубо).
Gamma (Γ) — скорость изменения Delta. Высокая Gamma у ATM (at-the-money) опционов с близкой экспирацией. Gamma риск: купил опцион с Delta 0.5, через час после резкого движения Delta уже 0.8 — хеджирование через Delta-нейтральность требует постоянной ребалансировки.
Theta (Θ) — временной распад. Каждый день опцион теряет часть стоимости из-за приближения экспирации. На криптовалютных опционах Theta особенно жёсткая для коротких экспираций: еженедельный опцион за 2 дня до экспирации теряет 30-50% временной стоимости.
Vega (ν) — чувствительность к изменению implied volatility. Главный Greek в крипто: IV на BTC/ETH может меняться на 20-30% за день. Опцион с Vega 50 при росте IV с 80% до 100% (+0.20) дорожает на $10.
Rho (ρ) — чувствительность к процентным ставкам. В крипто менее критична, но при интеграции с DeFi lending (где ставки динамические) игнорировать нельзя.
Модели ценообразования: Black-Scholes и его ограничения в крипто
Стандартная модель — Black-Scholes-Merton (BSM). Формула для call опциона:
C = S * N(d1) - K * e^(-rT) * N(d2)
d1 = [ln(S/K) + (r + σ²/2) * T] / (σ * √T)
d2 = d1 - σ * √T
Где S — spot price, K — strike, r — risk-free rate, σ — volatility, T — время до экспирации в годах, N — CDF нормального распределения.
Проблема BSM в крипто: модель предполагает постоянную волатильность и нормальное распределение доходностей. Реальность крипто — fat tails (выбросы значительно частее нормального распределения) и volatility smile/skew: IV выше для OTM puts и OTM calls, чем для ATM. BSM это не учитывает, поэтому использует одну σ для всего поверхности, что неверно.
Более реалистичные модели: SABR (учитывает stochastic volatility) и Heston model. Для on-chain расчётов они значительно сложнее вычислительно, но для off-chain аналитики — стандарт на профессиональных платформах.
Реализация расчётного движка
On-chain vs off-chain вычисления
Greeks невозможно точно рассчитать в Solidity без значительных компромиссов: floating point отсутствует, ln() и e^x нужно аппроксимировать через Taylor series или lookup tables. Типичная точность — 0.1-1% от теоретического значения, что приемлемо для отображения, но не для точного хеджирования.
Для протоколов типа Lyra Finance или Dopex — Greeks считаются off-chain и публикуются on-chain через оракул с подписью (EIP-712). Контракт верифицирует подпись и принимает значения как доверенные.
Для display-only систем (трейдинговые дашборды, аналитика) — off-chain TypeScript/Python сервис с BSM или SABR моделью, результаты возвращаются через API.
Implied Volatility: обратная задача
Если цена опциона известна (с маркета), нам нужно найти σ, при которой BSM даёт эту цену. Это численная задача — аналитического решения нет. Используем Newton-Raphson итерацию:
σ_new = σ_old - (BSM_price(σ_old) - market_price) / Vega(σ_old)
Сходимость: 5-10 итераций при хорошем начальном приближении. Начальное приближение — формула Brenner-Subrahmanyam: σ_0 ≈ √(2π/T) * (C/S) для ATM опционов.
Граничные случаи: очень глубокие ITM/OTM опционы, экспирация через часы (T → 0). Обрабатываем явно: проверка Vega > epsilon перед делением, fallback на bisection method при медленной сходимости.
Volatility Surface
Поверхность волатильности строится по двум осям: strikes (или moneyness = K/S) и expirations (в днях/часах). Для каждой точки (strike, expiry) — своя IV. Интерполяция между точками: cubic spline по strike axis, linear по time axis.
Данные для поверхности берём из Deribit API (REST или WebSocket), Binance Options, или DeFi протоколов (Lyra, Premia). Обновление каждые 5-60 секунд в зависимости от требований к актуальности.
Практические компоненты системы
Greeks Calculator API: REST/WebSocket сервис на Node.js/TypeScript. Принимает: spot price, strike, expiry, option type, market price (опционально). Возвращает: теоретическую цену, Delta, Gamma, Theta, Vega, Rho, IV. Latency <10ms для single calculation, <100ms для полной опционной цепочки.
Portfolio Greeks Dashboard: агрегирование Greeks по портфелю позиций. Net Delta (сумма Delta * qty по всем позициям), Net Vega, PnL при сценариях (stress testing: +/-10% spot, +/-20% IV).
Delta hedging calculator: на основе Net Delta рассчитывает необходимый хедж через перп или спот. Интеграция с Binance/Bybit API или GMX (on-chain perpetuals) для исполнения хеджа.
Volatility surface визуализация: 3D surface chart (D3.js или recharts), heatmap по strike/expiry, IV skew анализ.
Интеграция с DeFi опционными протоколами
| Протокол | Чейн | API/SDK | Особенности |
|---|---|---|---|
| Lyra Finance | Optimism, Arbitrum | TypeScript SDK | SABR модель on-chain |
| Premia | Arbitrum, Ethereum | viem + ABI | AMM-based pricing |
| Dopex | Arbitrum | GraphQL + contracts | Epochs-based |
| Hegic | Arbitrum | Ethers.js | Простые европейские опционы |
Процесс разработки
Математическое ядро (2-3 дня). BSM имплементация, Newton-Raphson для IV, surface interpolation. Тесты: сравнение с эталонными значениями Deribit для известных рыночных цен.
API сервис (1-2 дня). Node.js/TypeScript, кэширование spot price через Chainlink или CEX API, WebSocket для real-time обновлений.
UI/Dashboard (2-3 дня, опционально). React + recharts, portfolio aggregation, stress scenarios.
DeFi интеграция (1-2 дня на протокол). Чтение позиций из on-chain, расчёт Greeks по текущим market данным.
Базовая система расчёта Greeks без UI — 3-4 дня. Полная система с surface визуализацией, portfolio Greeks и DeFi интеграцией — 5-7 дней. Стоимость зависит от целевых протоколов и требований к точности модели.







