Эта страница переведена автоматически. Оригинал на английском языке является каноническим. Читать на английском →
Перейти к основному содержимому

Оракулы

На этой странице описаны источники данных и правила, которые Hypercall использует для:

  • Цен базовых активов (спот и форвард/марк)
  • Референсных цен расчёта (TWAP на экспирации)
  • Подразумеваемой волатильности (IV) / поверхности волатильности

Терминология​

Ответ metaAndAssetCtxs от Hyperliquid содержит несколько ценовых полей. Hypercall использует их так:

ПолеОписаниеИспользование
oraclePxВнешняя спотовая/индексная ценаКанонический спотовый вход для всего ценообразования
markPxМарк-цена Hyperliquid (цена оракула плюс корректировка на премию)Не используется как канонический спот
midPxСредняя цена по книге заявок HyperliquidТолько для справки
impactPxsЦены с учётом проскальзыванияТолько для справки

Форвардная цена / марк-цена до экспирации​

В Hypercall под «марк-ценой» может также пониматься форвардная цена, которая рассчитывается так:

F=S×er⋅tF = S \times e^{r \cdot t}

Где:

  • SS — спотовая цена оракула/индекса (oraclePx)
  • rr — безрисковая ставка, в настоящее время 5%
  • tt — время до экспирации (в годах)

Форвардная цена используется для греков, расчётов риска и других вычислений, которые зависят от форварда, а не от спота.


Оракул цены базового актива​

Назначение​

Оракул цены базового актива поставляет спотовые цены в реальном времени, которые используются для:

  • Ценообразования опционов и расчёта греков
  • Расчёта маржи
  • Мониторинга риска
  • Переоценки по рынку (mark-to-market)

Источник данных​

Hyperliquid WebSocket API (wss://api.hyperliquid.xyz/ws)

Мы считываем поле oraclePx для каждого поддерживаемого базового актива из WebSocket-подписки Hyperliquid activeAssetCtx (это те же поля контекста актива, которые возвращает metaAndAssetCtxs) и снимаем значение каждые 2 секунды. Резервного опроса по HTTP нет: пока фид недоступен или устарел, оракул помечается как неработоспособный и новые цены не записываются.

Базовый активРынок Hyperliquid
BTC, ETHОсновной перп-dex: BTC, ETH
SPCX, SP500, BOT, MU, NVDA, META, MSFT, AAPL, SNDK, BABAПерп-dex xyz (HIP-3): xyz:SPCX, xyz:SP500, xyz:NVDA и так далее

Форвардная цена​

Для любой опционной серии с будущей экспирацией Hypercall рассчитывает форвардную цену по приведённой выше формуле. Так ценообразование согласуется со временем до экспирации во всех расчётах риска и оценки.


Оракул расчёта​

Назначение​

Оракул расчёта определяет референсную цену, по которой опционы Exchange рассчитываются деньгами на экспирации.

Правила расчёта​

ПараметрЗначение
Время экспирацииBTC и ETH: 08:00 UTC. Все остальные базовые активы: 20:00 UTC (16:00 по нью-йоркскому времени, пока в США действует летнее время)
Референсная цена30-минутный TWAP по oraclePx
Окно TWAP[expiry - 30 minutes, expiry]
Минимум наблюдений500

Как это работает​

На экспирации позиции Exchange рассчитываются деньгами по 30-минутной средневзвешенной по времени цене (TWAP) спотовой цены оракула базового актива. TWAP сглаживает краткосрочную волатильность и даёт устойчивую к манипуляциям референсную цену расчёта.

Расчёт выполняется только по финализированному TWAP. Если Hypercall собрал в окне меньше 500 наблюдений (например, после перезапуска внутри окна), окно можно восстановить из архивной истории оракула Hyperliquid с тем же минимумом в 500 наблюдений. Если финализированная цена расчёта всё ещё недоступна на момент экспирации контракта, инструмент остаётся в статусе Expired Pending Price: торговля отключена, открытые заявки отменяются, а расчёт повторяется, пока финализированная цена оракула не станет доступна.

Метод расчёта TWAP​

Цена расчёта вычисляется алгоритмом медианы средних (median-of-means) с 5% усечением:

  1. Сбор наблюдений: в течение окна собирается nn ценовых наблюдений {p1,p2,…,pn}\{p_1, p_2, \ldots, p_n\}
  2. Отсечение выбросов: значения сортируются, с каждого хвоста удаляется по 5%, в результате получается усечённое множество P′P' размером n′=0.9nn' = 0.9n
  3. Разбиение на корзины: P′P' делится на k≈n′k \approx \sqrt{n'} корзин равного размера B1,B2,…,BkB_1, B_2, \ldots, B_k
  4. Расчёт средних по корзинам:
μi=1∣Bi∣∑p∈Bip\mu_i = \frac{1}{|B_i|} \sum_{p \in B_i} p
  1. Итоговая цена расчёта:
Pрасчёт=медиана(μ1,μ2,…,μk)P_{\text{расчёт}} = \text{медиана}(\mu_1, \mu_2, \ldots, \mu_k)

Такой подход надёжнее простого среднего: он устойчив к манипуляциям через кратковременные ценовые всплески или флэш-крэши в окне расчёта.


Оракул подразумеваемой волатильности​

Назначение​

Оракул IV поставляет поверхность волатильности, которая используется для:

  • Ценообразования опционов (входные данные Блэка-Шоулза)
  • Расчёта вега-риска
  • Маржинальных требований

Источник​

У каждого базового актива один настроенный источник волатильности: Deribit для BTC и ETH, данные по опционам, торгуемым на биржах США, для акций и индексов, и реализованная волатильность для BOT. Таблица приведена на странице Оракул волатильности. Движок перед использованием проверяет источник, возраст снапшота и саму поверхность.

Обработка закрытых торговых сессий и поведение fail-closed описаны на странице Оракул волатильности.

Поверхность волатильности​

Hypercall хранит в памяти поверхность волатильности для каждого базового актива, которая включает:

  • IV для конкретных настроенных страйков
  • ATM IV как базовый ориентир
  • Интерполяцию по страйкам и экспирациям, когда точных данных нет

Обработка устаревших данных​

Если необходимые данные о волатильности недоступны или устарели, система блокирует (fail closed) расчёты, зависящие от этой IV. Когда рынок опционов США закрыт, поверхности для акций и индексов берутся из снапшота, сделанного при закрытии последней сессии. Ограничения по возрасту данных описаны на странице Оракул волатильности.