Optionshistorie (stündlich)
Stündliche Zeitreihe von Open Interest, Volumen, Put/Call-Verhältnis, ATM IV oder Max Pain der Optionen für einen Coin. Die Historie beginnt mit dem Start der Erhebung durch CoinBoss (2026-11-11); frühere Stunden werden nicht nachträglich aufgefüllt.
/api/sd/options/historyAnfrage
Query-Parameter
| Name | Typ | Erforderlich | Standard | Zulässige Werte | Beschreibung |
|---|---|---|---|---|---|
| coin | string | Erforderlich | — | — | Coin-Symbol, Groß-/Kleinschreibung wird nicht beachtet (zum Beispiel `BTC`). Fehlende oder fehlerhafte Werte liefern 400. Beispiel: BTC |
| metric | string | Erforderlich | — | oi, volume, pcr, atm_iv, max_pain | Zurückzugebende Reihe. Beispiel: oi |
| range | string | Optional | 7d | 24h, 7d, 30d, 90d | Rückblickzeitraum; ein Punkt pro Stunde, höchstens 2160 Punkte. |
| exchange | string | Optional | all | all, deribit, binance, bybit, okx, gate, coincall | Eine Börse oder `all` für das börsenübergreifende Aggregat. |
Beispielanfrage
curl -s "https://www.coinboss.com/api/sd/options/history?coin=BTC&metric=oi"Antwortfelder
Die Feldtabelle wird aus echten Antworten erzeugt und führt daher genau das auf, was der Endpunkt zurückgibt. In Pfaden steht a[] für Array-Elemente und {*} für Objekte, deren Schlüssel ein dynamischer Name ist, etwa ein Coin oder eine Börse.
| Feld | Typ | Einheit | Beschreibung |
|---|---|---|---|
| success | boolean | — | true, wenn die Anfrage erfolgreich war. Im Fehlerfall lautet der Body `{ success: false, code, error, request_id }`. |
| schema | string | — | Schema-ID dieser Antwort. Sie ändert sich nur, wenn ein bestehendes Feld seine Bedeutung oder seinen Typ ändert. |
| now | number | ms | Serverzeit beim Erstellen der Antwort. |
| coin | string | — | Coin-Symbol (Großbuchstaben). |
| exchange | string | — | Börsenkennung (Kleinbuchstaben). |
| metric | string | — | Über den Parameter `metric` ausgewählte Reihe. |
| range | string | — | Angewendeter Rückblickzeitraum. |
| interval | string | — | Abstand zwischen den Punkten der Reihe. |
| points_count | number | — | Anzahl der zurückgegebenen Punkte. |
| expected_points | number | — | Anzahl der stündlichen Punkte, die der angefragte Zeitraum bei Vollständigkeit enthielte. |
| history_started_at | number | ms | Zeitpunkt der ersten von CoinBoss erhobenen Stunde. |
| first_t | number | ms | Zeitpunkt des ersten zurückgegebenen Punkts. |
| last_t | number | ms | Zeitpunkt des letzten zurückgegebenen Punkts. |
| points | array | — | Punkte der Reihe, älteste zuerst. |
| points[] | object | — | Punkte der Reihe, älteste zuerst. |
| points[].t | number | ms | Beginn des Zeit-Buckets. |
| points[].snapshot_at | number | ms | Zeitpunkt des Collector-Durchlaufs, aus dem der Punkt geschrieben wurde. |
| points[].n_exchanges | number | — | Anzahl der Börsen im Punkt. |
| points[].exchanges | array | — | In diese Zeile einbezogene Börsen. |
| points[].exchanges[] | string | — | In diese Zeile einbezogene Börsen. |
| points[].oi_usd | number | USD | Open Interest als USD-Nominalwert: Coin-Menge × Spot-Indexpreis. Einseitig gezählt. kann fehlen |
| points[].call_oi_usd | number | USD | Open Interest der Calls, USD-Nominalwert. kann fehlen |
| points[].put_oi_usd | number | USD | Open Interest der Puts, USD-Nominalwert. kann fehlen |
| points[].oi_coin | number | coin | Open Interest in Einheiten des zugrunde liegenden Coins. kann fehlen |
| points[].index_price | number | USD | Für die USD-Umrechnung verwendeter Spot-Indexpreis (in Aggregaten der Median der börseneigenen Indexpreise). kann fehlen |
| coverage | object | — | Was in den Zahlen enthalten ist und was nicht. Vergleichen Sie dies, bevor Sie Summen mit einer anderen Quelle vergleichen. |
| coverage.included_exchanges | array | — | Quellen, deren aktuelle Daten einbezogen sind. |
| coverage.included_exchanges[] | string | — | Quellen, deren aktuelle Daten einbezogen sind. |
| coverage.unavailable | array | — | Quellen, die nicht einbezogen werden konnten, jeweils mit Begründung. Sie werden nie als 0 gezählt. |
| coverage.unavailable[] | object | — | Quellen, die nicht einbezogen werden konnten, jeweils mit Begründung. Sie werden nie als 0 gezählt. |
| coverage.unavailable[].exchange | string | — | Börsenkennung (Kleinbuchstaben). |
| coverage.unavailable[].reason | string | — | Maschinenlesbarer Begründungscode. |
| coverage.unavailable[].detail | string | — | Für Menschen lesbare Erläuterung der Begründung. |
| coverage.stale_excluded | array | — | Zeilen, die unberücksichtigt bleiben, weil ihre letzte Aktualisierung außerhalb des Aktualitätsfensters liegt. leer in den Stichproben, aus denen diese Tabelle erzeugt wurde |
| method | object | — | Klartextangabe der für diese Antwort verwendeten Formeln, ein Eintrag je Feld. |
| method.points | string | — | Formelhinweis zu `points`, Klartext. |
| method.exchanges | string | — | Formelhinweis zu `exchanges`, Klartext. |
| method.history_depth | string | — | Formelhinweis zu `history_depth`, Klartext. |
| method.oi_usd | string | — | Formelhinweis zu `oi_usd`, Klartext. kann fehlen |
| meta | object | — | Datenherkunft und Aktualität dieser Antwort. |
| meta.schema | string | — | Schema-ID dieser Antwort. Sie ändert sich nur, wenn ein bestehendes Feld seine Bedeutung oder seinen Typ ändert. |
| meta.source | array | — | Öffentliche Upstream-Endpunkte, von denen die Daten erhoben wurden. |
| meta.source[] | object | — | Öffentliche Upstream-Endpunkte, von denen die Daten erhoben wurden. |
| meta.source[].exchange | string | — | Börsenkennung (Kleinbuchstaben). |
| meta.source[].endpoint | string | — | Öffentlicher Endpunkt der Quelle, den der Collector liest (zur Datenherkunft angegeben; Clients rufen ihn nie auf). |
| meta.observed_at | null | — | Von der Quelle für die Daten angegebener Zeitstempel. |
| meta.received_at | number | ms | Zeitpunkt, zu dem der CoinBoss-Collector die Daten empfangen hat. |
| meta.fetched_at | number | ms | Zeitpunkt, zu dem diese Antwort zusammengestellt wurde. |
| meta.window | string | — | Zeitfenster, das die Zahlen abdecken. |
| meta.quality | string | — | FRESH, PARTIAL, STALE, BROKEN oder UNAVAILABLE, beurteilt anhand der Datenzeitstempel und der Abdeckung. |
| meta.is_stale | boolean | — | True, wenn die Daten älter als ihr Aktualitätsfenster sind. |
| meta.cache_ttl_s | number | s | Cache-Lebensdauer dieser Antwort. |
| meta.fallback | string | — | Was der Endpunkt zurückgibt, wenn der Collector oder eine Quelle ausfällt. |
| points[].pcr_oi | number | ratio | Open Interest der Puts ÷ Open Interest der Calls, in Coin-Einheiten; `null`, wenn die Call-Seite 0 ist. kann fehlen |
| points[].pcr_vol | number | ratio | 24h-Volumen der Puts ÷ 24h-Volumen der Calls, in Coin-Einheiten; `null`, wenn die Call-Seite 0 ist. kann fehlen |
| method.pcr_oi | string | — | Formelhinweis zu `pcr_oi`, Klartext. kann fehlen |
| method.pcr_vol | string | — | Formelhinweis zu `pcr_vol`, Klartext. kann fehlen |
| points[].atm_iv_30d | number | % | ATM IV, linear auf eine konstante Laufzeit von 30 Tagen interpoliert; `null`, wenn 30 Tage nicht von zwei Verfallsterminen eingeschlossen werden. kann fehlen |
| method.atm_iv | string | — | Formelhinweis zu `atm_iv`, Klartext. kann fehlen |
| method.atm_iv_30d | string | — | Formelhinweis zu `atm_iv_30d`, Klartext. kann fehlen |
Erzeugt 2026-11-11 23:00 UTC aus 3 echten Antworten.
Beispielantwort
/api/sd/options/history?coin=BTC&metric=oi · Echte Antwort, erfasst 2026-11-13 03:58:20 UTC. Lange Arrays und Maps sind für die Anzeige gekürzt: points hatte 23 Elemente; meta.source hatte 6 Elemente; coverage.unavailable hatte 12 Elemente.
- "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…"
Geprüfte Stichproben
Neben dem obigen Beispiel ruft die Prüfsonde diesen Endpunkt mit den folgenden Parametern auf und prüft jedes Mal das Schema.
| Parameter | HTTP | Latenz | Ergebnis |
|---|---|---|---|
| coin=ETH&range=24h&metric=pcr | 200 | 2 ms | Bestanden STALE |
| coin=BTC&metric=atm_iv | 200 | 3 ms | Bestanden STALE |
| coin=BTC | 400 | 1 ms | Bestanden liefert den erwarteten Fehler |
Geprüft 2026-11-13 03:58:20 UTC
Details
- Authentifizierung
- Keine. Öffentlicher Endpunkt.
- Rate-Limit
- 1200 Anfragen pro Minute und IP
- Server-Cache
- 5m
- Edge-Micro-Cache
- 10s
- Aktualisierungsintervall
- Ein Punkt pro Stunde, geschrieben aus dem letzten Collector-Durchlauf dieser Stunde.
- Zeitfenster
- 24h / 7d / 30d / 90d, stündliche Punkte.
- Datenquellen
- Öffentliche REST-Optionsendpunkte von Deribit, Binance, Bybit, OKX, Gate und Coincall, von CoinBoss erhoben und gespeichert (sd_opt_latest, sd_opt_summary_hourly). Es ist kein Drittanbieter-Aggregator beteiligt.
- Börsenabdeckung
- Sechs Optionsbörsen. Ein Coin, für den an den ausgewählten Börsen keine Optionen gelistet sind, liefert HTTP 200 mit null-Feldern, `meta.quality = "UNAVAILABLE"` und der Begründung unter `coverage.unavailable`. Börsen ohne öffentlichen Options-Feed sind dort ebenfalls aufgeführt.
- Paginierung
- Keine Paginierung; `range` begrenzt die Anzahl der Punkte.
- Sortierung
- Zeit aufsteigend.
- Einheiten
- 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.
- Zeitstempel
- Unix-Epoche in Millisekunden (UTC), sofern die Feldbeschreibung nichts anderes angibt
- Antwortformat
- json
- Stabilität
- Stabil
- Verfügbar seit
- 2026-11-11
Live-Status
Der Endpunkt meldet die Datenqualität STALE
Verfügbarkeit, letzte 30 Tage
99.75 % von 407 Prüfungen bestanden
Fehler
Fehlgeschlagene Aufrufe haben auf jedem Endpunkt denselben Aufbau. Die vollständige Liste steht auf der Fehlerseite. Fehler und Rate-Limits →
| Code | HTTP | Bedeutung | Empfohlene Reaktion |
|---|---|---|---|
| INVALID_PARAM | 400 | Ein erforderlicher Parameter fehlt oder ein Wert wird nicht akzeptiert. `param` nennt den Parameter, sofern er bekannt ist. | Nicht unverändert wiederholen; die Anfrage korrigieren. |
| UNAUTHORIZED | 401 | Der Header `CB-API-KEY` wurde gesendet, der Schlüssel ist jedoch unbekannt oder widerrufen. Öffentliche Daten erfordern keinen Schlüssel – lassen Sie den Header weg oder verwenden Sie einen gültigen Schlüssel. | Nicht unverändert wiederholen. |
| FORBIDDEN | 403 | Die Route gehört nicht zur öffentlichen API (intern oder nur für Konten). | Nicht wiederholen. |
| NOT_FOUND | 404 | Unbekannte Route, oder der angefragte Coin / die Börse / der Fonds existiert nicht. | Nicht wiederholen; Pfad und Kennungen mit dem Katalog abgleichen. |
| RATE_LIMITED | 429 | Mehr Anfragen, als das Limit pro Minute zulässt. `Retry-After` gibt die Wartezeit in Sekunden an. | `Retry-After` abwarten, dann mit Backoff wiederholen. |
| INTERNAL | 500 | Unerwarteter Serverfehler. Die Meldung ist bewusst allgemein gehalten; geben Sie `request_id` an, wenn Sie den Fehler melden. | Einmal nach einigen Sekunden wiederholen; wenn der Fehler bestehen bleibt, mit der Request-ID melden. |
| UPSTREAM_FAILED | 503 | Die Datenquelle hinter diesem Endpunkt hat nicht rechtzeitig geantwortet. Es werden ersatzweise keine veralteten oder stellvertretenden Zahlen zurückgegeben. | Mit Backoff wiederholen; die Statusseite prüfen. |
| UNAVAILABLE | 501 / 503 | Der Datensatz ist vorübergehend nicht bereit (Cache wird aufgewärmt), oder der Endpunkt hat noch keine rechtmäßige öffentliche Quelle. | Später wiederholen; der Katalog kennzeichnet Endpunkte, die konzeptbedingt nicht verfügbar sind. |
| REQUEST_FAILED | 200 | Einige ältere Endpunkte antworten mit HTTP 200 und `success: false`. Prüfen Sie immer `success`, nicht nur den HTTP-Status. | Hängt von der Meldung ab; als fehlgeschlagene Anfrage behandeln. |
Ausprobieren
/api/sd/options/historyBeeinträchtigtstring — Coin symbol, case-insensitive (for example `BTC`). Missing or malformed values return 400.
string — Series to return.
string · Standard 7d — Look-back range; one point per hour, 2160 points at most.
string · Standard all — One venue, or `all` for the cross-venue aggregate.
https://www.coinboss.com/api/sd/options/history?coin=BTC&metric=oiMehr in dieser Kategorie
- Optionskette (einzelne Börse) /api/sd/options/chain
- Optionen nach Verfall /api/sd/options/expiries
- Optionshistorie (stündlich) /api/sd/options/history
- Optionsübersicht (alle Börsen) /api/sd/options/overview
- Optionen nach Ausübungspreis (Strike) /api/sd/options/strikes
- Optionszusammenfassung der Coin-Seite /api/currency/options-summary
- Smile / Terminstruktur der impliziten Volatilität von Optionen /api/options/iv
- Historie der impliziten Volatilität von Optionen /api/options/iv-history
- Max Pain der Optionen /api/options/max-pain
- Options-OI nach Verfall /api/options/oi-by-expiry
- Options-OI nach Strike /api/options/oi-by-strike
- Optionsübersicht /api/options/overview
- Verteilung des Optionsvolumens /api/options/volume-dist