История опционов (почасовая)
Почасовой ряд открытого интереса опционов, объёма, соотношения пут/колл, ATM IV или макс. боли по одной монете. История начинается с момента, когда CoinBoss начал сбор (2026-11-11); более ранние часы задним числом не заполняются.
/api/sd/options/historyЗапрос
Параметры запроса
| Имя | Тип | Обязательный | По умолчанию | Допустимые значения | Описание |
|---|---|---|---|---|---|
| coin | string | Обязательный | — | — | Символ монеты без учёта регистра (например, `BTC`). При отсутствии или некорректном значении возвращается 400. Пример: BTC |
| metric | string | Обязательный | — | oi, volume, pcr, atm_iv, max_pain | Возвращаемый ряд. Пример: oi |
| range | string | Необязательный | 7d | 24h, 7d, 30d, 90d | Период выборки; одна точка в час, не более 2160 точек. |
| exchange | string | Необязательный | all | all, deribit, binance, bybit, okx, gate, coincall | Одна площадка либо `all` для агрегата по всем площадкам. |
Пример запроса
curl -s "https://www.coinboss.com/api/sd/options/history?coin=BTC&metric=oi"Поля ответа
Таблица полей формируется из реальных ответов, поэтому в ней перечислено ровно то, что возвращает эндпоинт. В путях a[] обозначает элементы массива, а {*} — объекты с динамическим ключом, например монетой или биржей.
| Поле | Тип | Единица | Описание |
|---|---|---|---|
| success | boolean | — | true, если запрос выполнен успешно. При ошибке тело ответа имеет вид `{ success: false, code, error, request_id }`. |
| schema | string | — | Идентификатор схемы этого ответа. Меняется только тогда, когда у существующего поля меняется смысл или тип. |
| now | number | ms | Время сервера в момент формирования ответа. |
| coin | string | — | Символ монеты (в верхнем регистре). |
| exchange | string | — | Идентификатор биржи (в нижнем регистре). |
| metric | string | — | Ряд, выбранный параметром `metric`. |
| range | string | — | Применённый период выборки. |
| interval | string | — | Шаг между точками ряда. |
| points_count | number | — | Число возвращённых точек. |
| expected_points | number | — | Число часовых точек в запрошенном периоде при полных данных. |
| history_started_at | number | ms | Время первого часа, собранного CoinBoss. |
| first_t | number | ms | Время первой возвращённой точки. |
| last_t | number | ms | Время последней возвращённой точки. |
| points | array | — | Точки ряда, от старых к новым. |
| points[] | object | — | Точки ряда, от старых к новым. |
| points[].t | number | ms | Начало временного интервала. |
| points[].snapshot_at | number | ms | Время цикла коллектора, по которому записана точка. |
| points[].n_exchanges | number | — | Число площадок в точке. |
| points[].exchanges | array | — | Площадки, учтённые в этой строке. |
| points[].exchanges[] | string | — | Площадки, учтённые в этой строке. |
| points[].oi_usd | number | USD | Открытый интерес как номинал в USD: количество монет × спотовая индексная цена. Односторонний. может отсутствовать |
| points[].call_oi_usd | number | USD | Открытый интерес по коллам, номинал в USD. может отсутствовать |
| points[].put_oi_usd | number | USD | Открытый интерес по путам, номинал в USD. может отсутствовать |
| points[].oi_coin | number | coin | Открытый интерес в единицах базовой монеты. может отсутствовать |
| points[].index_price | number | USD | Спотовая индексная цена, используемая для пересчёта в USD (в агрегатах — медиана собственных индексных цен площадок). может отсутствовать |
| coverage | object | — | Что входит и что не входит в эти значения. Сверьтесь с этим блоком, прежде чем сравнивать итоги с другим источником. |
| coverage.included_exchanges | array | — | Источники, актуальные данные которых учтены. |
| coverage.included_exchanges[] | string | — | Источники, актуальные данные которых учтены. |
| coverage.unavailable | array | — | Источники, которые не удалось включить, с указанием причины для каждого. Они никогда не учитываются как 0. |
| coverage.unavailable[] | object | — | Источники, которые не удалось включить, с указанием причины для каждого. Они никогда не учитываются как 0. |
| coverage.unavailable[].exchange | string | — | Идентификатор биржи (в нижнем регистре). |
| coverage.unavailable[].reason | string | — | Машиночитаемый код причины. |
| coverage.unavailable[].detail | string | — | Понятное человеку объяснение причины. |
| coverage.stale_excluded | array | — | Строки, не учтённые потому, что их последнее обновление выходит за окно актуальности. пусто в образцах, по которым построена таблица |
| method | object | — | Текстовое описание формул, использованных для этого ответа, по одной записи на поле. |
| method.points | string | — | Пояснение к формуле для `points`, обычный текст. |
| method.exchanges | string | — | Пояснение к формуле для `exchanges`, обычный текст. |
| method.history_depth | string | — | Пояснение к формуле для `history_depth`, обычный текст. |
| method.oi_usd | string | — | Пояснение к формуле для `oi_usd`, обычный текст. может отсутствовать |
| meta | object | — | Происхождение данных и актуальность этого ответа. |
| meta.schema | string | — | Идентификатор схемы этого ответа. Меняется только тогда, когда у существующего поля меняется смысл или тип. |
| meta.source | array | — | Публичные эндпоинты источников, из которых собраны данные. |
| meta.source[] | object | — | Публичные эндпоинты источников, из которых собраны данные. |
| meta.source[].exchange | string | — | Идентификатор биржи (в нижнем регистре). |
| meta.source[].endpoint | string | — | Публичный эндпоинт источника, который читает коллектор (показан для сведений о происхождении данных; клиенты его не вызывают). |
| meta.observed_at | null | — | Метка времени, указанная источником для данных. |
| meta.received_at | number | ms | Время получения данных коллектором CoinBoss. |
| meta.fetched_at | number | ms | Время формирования этого ответа. |
| meta.window | string | — | Временное окно, которое охватывают значения. |
| meta.quality | string | — | FRESH, PARTIAL, STALE, BROKEN или UNAVAILABLE — оценка по меткам времени данных и покрытию. |
| meta.is_stale | boolean | — | True, если данные старше своего окна актуальности. |
| meta.cache_ttl_s | number | s | Время жизни кеша этого ответа. |
| meta.fallback | string | — | Что возвращает эндпоинт при сбое коллектора или источника. |
| points[].pcr_oi | number | ratio | Открытый интерес по путам ÷ открытый интерес по коллам, в единицах монеты; `null`, если сторона коллов равна 0. может отсутствовать |
| points[].pcr_vol | number | ratio | Объём путов за 24h ÷ объём коллов за 24h, в единицах монеты; `null`, если сторона коллов равна 0. может отсутствовать |
| method.pcr_oi | string | — | Пояснение к формуле для `pcr_oi`, обычный текст. может отсутствовать |
| method.pcr_vol | string | — | Пояснение к формуле для `pcr_vol`, обычный текст. может отсутствовать |
| points[].atm_iv_30d | number | % | ATM IV, линейно интерполированная к постоянному сроку 30 дней; `null`, если 30 дней не попадают между двумя датами экспирации. может отсутствовать |
| method.atm_iv | string | — | Пояснение к формуле для `atm_iv`, обычный текст. может отсутствовать |
| method.atm_iv_30d | string | — | Пояснение к формуле для `atm_iv_30d`, обычный текст. может отсутствовать |
Сформировано 2026-11-11 23:00 UTC; использовано реальных ответов: 3.
Пример ответа
/api/sd/options/history?coin=BTC&metric=oi · Реальный ответ, получен 2026-11-13 03:58:20 UTC. Длинные массивы и словари сокращены для отображения: points: элементов было 23; meta.source: элементов было 6; coverage.unavailable: элементов было 12.
- "success"true
- "schema""coinboss.sd.options/1"
- "now"1794542300888
- "coin""BTC"
- "exchange""all"
- "metric""oi"
- "range""7d"
- "interval""1h"
- "points_count"23
- "expected_points"168
- "history_started_at"1794416400000
- "first_t"1794416400000
- "last_t"1794520800000
- "points"
- "coverage"
- "included_exchanges"
- "unavailable"
- "stale_excluded"
- "method"
- "points""one point per UTC hour bucket (t = bucket start, ms); the value is the LAST collector snapshot inside that hour (snapshot_at); hours in which the collector prod…"
- "exchanges""exchanges that were fresh and therefore included in that hour's figure; a change in this list between points explains level shifts in the all-exchange series"
- "history_depth""hourly summaries are kept for 90 days; the series starts when the collector was first deployed (history_started_at), so fewer points than the requested range ma…"
- "oi_usd""sum over contracts of oi_coin x that exchange's spot index price (USDT/USDC treated 1:1 as USD); oi_coin is open interest in units of the underlying coin after …"
- "meta"
- "schema""coinboss.sd.options/1"
- "source"
- "observed_at"null
- "received_at"1794522484809
- "fetched_at"1794542300888
- "window""7d"
- "quality""STALE"
- "is_stale"true
- "cache_ttl_s"300
- "fallback""hours without a collector snapshot are absent from the series (no interpolation); PARTIAL means fewer hourly points exist than the requested range (history shor…"
Проверенные образцы
Помимо примера выше, автопроверка вызывает этот эндпоинт с указанными параметрами и каждый раз сверяет схему.
| Параметры | HTTP | Задержка | Результат |
|---|---|---|---|
| coin=ETH&range=24h&metric=pcr | 200 | 2 ms | Пройдено STALE |
| coin=BTC&metric=atm_iv | 200 | 3 ms | Пройдено STALE |
| coin=BTC | 400 | 1 ms | Пройдено возвращает ожидаемую ошибку |
Проверено: 2026-11-13 03:58:20 UTC
Сведения
- Аутентификация
- Не требуется. Публичный эндпоинт.
- Лимит запросов
- 1200 запросов в минуту на один IP
- Серверный кеш
- 5m
- Пограничный микрокеш
- 10s
- Частота обновления
- Одна точка в час, записываемая по последнему циклу коллектора за этот час.
- Окно
- 24h / 7d / 30d / 90d, часовые точки.
- Источники данных
- Публичные REST-эндпоинты опционов Deribit, Binance, Bybit, OKX, Gate и Coincall; данные собирает и хранит CoinBoss (sd_opt_latest, sd_opt_summary_hourly). Сторонние агрегаторы не используются.
- Покрытие бирж
- Шесть опционных площадок. Для монеты, по которой на выбранных площадках нет торгуемых опционов, возвращается HTTP 200 с полями null, `meta.quality = "UNAVAILABLE"` и причиной в `coverage.unavailable`. Площадки без публичной ленты опционов также перечислены там.
- Пагинация
- Пагинации нет; `range` ограничивает число точек.
- Сортировка
- По возрастанию времени.
- Единицы измерения
- USD notional = contracts × contract size × spot index price of the venue. `*_coin` fields are in units of the underlying coin. Implied volatility is in percent (55 = 55 %). `vol_premium_usd_24h` is premium turnover, reported separately and never added to notional volume.
- Метки времени
- Миллисекунды эпохи Unix (UTC), если в описании поля не указано иное
- Формат ответа
- json
- Стабильность
- Стабильный
- Доступен с
- 2026-11-11
Текущий статус
Эндпоинт сообщает качество данных STALE
Доступность за последние 30 дней
Пройдено 99.75% из 407 проверок
Ошибки
Неудачные вызовы имеют одинаковую структуру на всех эндпоинтах. Полный список приведён на странице ошибок. Ошибки и лимиты запросов →
| Код | HTTP | Значение | Что делать |
|---|---|---|---|
| INVALID_PARAM | 400 | Отсутствует обязательный параметр, или значение не принимается. `param` называет параметр, если он известен. | Не повторяйте запрос без изменений; исправьте его. |
| UNAUTHORIZED | 401 | Заголовок `CB-API-KEY` был отправлен, но ключ неизвестен или отозван. Для публичных данных ключ не нужен — уберите заголовок или используйте действительный ключ. | Не повторяйте запрос без изменений. |
| FORBIDDEN | 403 | Маршрут не входит в публичный API (внутренний или только для аккаунта). | Не повторяйте запрос. |
| NOT_FOUND | 404 | Неизвестный маршрут, либо запрошенная монета / биржа / фонд не существует. | Не повторяйте запрос; сверьте путь и идентификаторы с каталогом. |
| RATE_LIMITED | 429 | Запросов больше, чем позволяет поминутный лимит. `Retry-After` указывает, сколько секунд нужно подождать. | Дождитесь истечения `Retry-After`, затем повторите запрос с нарастающей задержкой. |
| INTERNAL | 500 | Непредвиденная ошибка сервера. Сообщение намеренно общее; при обращении указывайте `request_id`. | Повторите запрос один раз через несколько секунд; если ошибка сохраняется, сообщите о ней, указав ID запроса. |
| UPSTREAM_FAILED | 503 | Источник данных, стоящий за этим эндпоинтом, не ответил вовремя. Устаревшие или подменные значения вместо него не возвращаются. | Повторите запрос с нарастающей задержкой; проверьте страницу статуса. |
| UNAVAILABLE | 501 / 503 | Набор данных временно не готов (прогрев кеша), либо у эндпоинта пока нет законного публичного источника. | Повторите запрос позже; каталог помечает эндпоинты, недоступные по проектному решению. |
| REQUEST_FAILED | 200 | Некоторые более старые эндпоинты отвечают HTTP 200 с `success: false`. Всегда проверяйте `success`, а не только статус HTTP. | Зависит от сообщения; считайте запрос неудачным. |
Попробовать
/api/sd/options/historyДеградацияstring — Coin symbol, case-insensitive (for example `BTC`). Missing or malformed values return 400.
string — Series to return.
string · по умолчанию 7d — Look-back range; one point per hour, 2160 points at most.
string · по умолчанию all — One venue, or `all` for the cross-venue aggregate.
https://www.coinboss.com/api/sd/options/history?coin=BTC&metric=oiДругие эндпоинты этой категории
- Цепочка опционов (одна площадка) /api/sd/options/chain
- Опционы по датам экспирации /api/sd/options/expiries
- История опционов (почасовая) /api/sd/options/history
- Обзор опционов (все площадки) /api/sd/options/overview
- Опционы по страйкам /api/sd/options/strikes
- Сводка по опционам для страницы монеты /api/currency/options-summary
- Улыбка / временная структура подразумеваемой волатильности опционов /api/options/iv
- История подразумеваемой волатильности опционов /api/options/iv-history
- Макс. боль по опционам /api/options/max-pain
- OI опционов по датам экспирации /api/options/oi-by-expiry
- OI опционов по страйкам /api/options/oi-by-strike
- Обзор опционов /api/options/overview
- Распределение объёма опционов /api/options/volume-dist