ベーシス履歴(1時間足)
1銘柄について、取引所別および取引所横断の集計値(中央値、平均値、OI加重)としての1時間ごとのベーシス系列です。
/api/sd/basis/historyリクエスト
クエリパラメータ
| 名前 | 型 | 必須 | デフォルト | 指定可能な値 | 説明 |
|---|---|---|---|---|---|
| coin | string | 必須 | — | — | 銘柄シンボル。大文字と小文字は区別しません(例:`BTC`)。値が未指定または不正な場合は400を返します。 例: BTC |
| kind | string | 任意 | perp | perp, spot_perp | `perp`:同じ取引所のインデックス価格に対するマーク価格。`spot_perp`:同じ取引所の現物価格に対する無期限先物価格。 |
| range | string | 任意 | 24h | 24h, 7d, 30d | 遡及期間。1時間につき1ポイント。 |
| exchange | string | 任意 | — | — | 取引所IDを1つ指定します。デフォルト:全取引所。不明なIDを指定すると400を返します。 |
リクエスト例
curl -s "https://www.coinboss.com/api/sd/basis/history?coin=BTC"レスポンスフィールド
フィールド表は実際のレスポンスから生成しているため、エンドポイントが返す内容をそのまま反映しています。パスでは、配列の要素をa[]、銘柄や取引所などの動的な名前をキーとするオブジェクトを{*}で表します。
| フィールド | 型 | 単位 | 説明 |
|---|---|---|---|
| success | boolean | — | リクエストが成功した場合はtrue。失敗した場合、ボディは`{ success: false, code, error, request_id }`になります。 |
| schema | string | — | このレスポンスのスキーマID。既存フィールドの意味または型が変わった場合にのみ変更されます。 |
| now | number | ms | レスポンスを生成した時点のサーバー時刻。 |
| coin | string | — | 銘柄シンボル(大文字)。 |
| kind | string | — | `perp`または`spot_perp`。 |
| range | string | — | 適用された遡及期間。 |
| interval | string | — | 系列のポイントの間隔。 |
| exchange | string|null | — | 取引所ID(小文字)。 |
| aggregate | array | — | このセクションの取引所横断の集計値。 |
| aggregate[] | object | — | このセクションの取引所横断の集計値。 |
| aggregate[].t | number | ms | 時間バケットの開始時刻。 |
| aggregate[].median_pct | number | % | 取引所ごとに主要契約1つを対象としたベーシスの中央値。 |
| aggregate[].mean_pct | number | % | 中央値と同じ集合を対象とした単純平均。 |
| aggregate[].oi_weighted_pct | number | % | 建玉で加重したベーシス。OIウェイトのない行は除外されます。 |
| aggregate[].n_exchanges | number | — | 集計値に含まれる取引所。 |
| series | array | — | 取引所ごとに1系列。 |
| series[] | object | — | 取引所ごとに1系列。 |
| series[].exchange | string | — | 取引所ID(小文字)。 |
| series[].symbol | string | — | CoinBossの保存形式での契約シンボル。 |
| series[].primary | boolean | — | 中央値と平均において取引所を代表する契約の場合はtrue。 |
| series[].in_aggregate | boolean | — | 行が算入ルールを満たした場合はtrue。 |
| series[].points | array | — | `[hour start in ms, basis in %]`のペア(古い順)。 |
| series[].points[] | array | — | `[hour start in ms, basis in %]`のペア(古い順)。 |
| series[].points[][] | number | — | `[hour start in ms, basis in %]`のペア(古い順)。 |
| history | object | — | リクエストした期間のうち、利用可能な範囲。 |
| history.requested_from | number | ms | リクエストした期間の開始時刻。 |
| history.available_from | number | ms | 保存されている最初の時間。 |
| history.available_to | number | ms | 保存されている最後の時間。 |
| history.n_hours | number | — | 期間内で利用可能な時間数。 |
| history.expected_hours | number | — | 期間が完全な場合に含まれる時間数。 |
| history.complete | boolean | — | リクエストした期間のすべての時間が保存されている場合はtrue。 |
| coverage | object | — | 数値に含まれるものと含まれないもの。他のソースと合計値を比較する前に、まずこの内容を比較してください。 |
| coverage.included_exchanges | array | — | 鮮度内のデータが算入されているソース。 |
| coverage.included_exchanges[] | string | — | 鮮度内のデータが算入されているソース。 |
| coverage.unavailable | array | — | 算入できなかったソース。それぞれ理由が付きます。0としてカウントされることはありません。 |
| coverage.unavailable[] | object | — | 算入できなかったソース。それぞれ理由が付きます。0としてカウントされることはありません。 |
| coverage.unavailable[].exchange | string | — | 取引所ID(小文字)。 |
| coverage.unavailable[].reason | string | — | 機械可読な理由コード。 |
| coverage.unavailable[].detail | string | — | 人が読める形式での理由の説明。 |
| coverage.stale_excluded | array | — | 最終更新が鮮度ウィンドウの外にあるため除外された行。 この表の生成に使用したサンプルでは空 |
| method | object | — | このレスポンスで使用した計算式を平文で記述したもの。フィールドごとに1エントリー。 |
| method.series.points | string | — | `series.points`の計算式に関する注記(平文)。 |
| method.aggregate.median_pct | string | — | `aggregate.median_pct`の計算式に関する注記(平文)。 |
| method.aggregate.oi_weighted_pct | string | — | `aggregate.oi_weighted_pct`の計算式に関する注記(平文)。 |
| method.interval | string | — | `interval`の計算式に関する注記(平文)。 |
| meta | object | — | このレスポンスのデータリネージと鮮度。 |
| meta.schema | string | — | このレスポンスのスキーマID。既存フィールドの意味または型が変わった場合にのみ変更されます。 |
| meta.source | array | — | データの収集元である上流の公開エンドポイント。 |
| meta.source[] | object | — | データの収集元である上流の公開エンドポイント。 |
| meta.source[].exchange | string | — | 取引所ID(小文字)。 |
| 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 | — | コレクターまたはソースに障害が発生した場合にエンドポイントが返す内容。 |
2026-11-11 23:00 UTCに3件の実レスポンスから生成。
レスポンス例
/api/sd/basis/history?coin=BTC · 実際のレスポンス(2026-11-13 04:02:46 UTCに取得)。 長い配列とマップは表示用に短縮しています:seriesは20件; aggregateは25件; meta.sourceは20件; series[].pointsは25件; coverage.included_exchangesは20件。
- "success"true
- "schema""coinboss.sd.basis/1"
- "now"1794542288014
- "coin""BTC"
- "kind""perp"
- "range""24h"
- "interval""1h"
- "exchange"null
- "aggregate"
- "series"
- "history"
- "requested_from"1794452400000
- "available_from"1794452400000
- "available_to"1794538800000
- "n_hours"25
- "expected_hours"24
- "complete"true
- "coverage"
- "included_exchanges"
- "unavailable"
- "stale_excluded"
- "method"
- "series.points""[hour_ts, (mark_price - index_price) / index_price * 100] from the first collector round after each full hour; hours where the two timestamps were more than 60 …"
- "aggregate.median_pct""median over one primary contract per exchange in that hour; excluded: |value| > 10, contracts with no trade in 24 h, exchanges whose index is not a comparable i…"
- "aggregate.oi_weighted_pct""sum(value * oi_usd) / sum(oi_usd) over all included contracts that have an OI snapshot for the same hour (oi_history / sd_contract_hourly, single-sided); null w…"
- "interval""fixed 1 h buckets, no interpolation; missing hours are simply absent"
- "meta"
- "schema""coinboss.sd.basis/1"
- "source"
- "observed_at"null
- "received_at"1794538827406
- "fetched_at"1794542288014
- "window""24h"
- "quality""FRESH"
- "is_stale"false
- "cache_ttl_s"300
- "fallback""history is served as stored; hours without a snapshot are absent, never interpolated"
検証済みサンプル
上の例に加えて、プローブは以下のパラメータでもこのエンドポイントを呼び出し、毎回スキーマを検証しています。
| パラメータ | HTTP | レイテンシ | 結果 |
|---|---|---|---|
| coin=ETH&kind=spot_perp | 200 | 41 ms | 合格 FRESH |
| coin=BTC&exchange=binance | 200 | 32 ms | 合格 FRESH |
| coin=BTC&range=1y | 400 | 1 ms | 合格 想定どおりのエラーを返す |
2026-11-13 03:58:08 UTCにチェック
詳細
- 認証
- 不要。公開エンドポイントです。
- レート制限
- IPごとに毎分1200リクエスト
- サーバーキャッシュ
- 5m
- エッジマイクロキャッシュ
- 10s
- 更新頻度
- コレクターは60秒ごとに巡回します。行は180秒間、鮮度内と見なされます。履歴には1時間ごとのスナップショットが使われます。
- ウィンドウ
- 24h / 7d / 30d、1時間バケット。
- データソース
- 21のデリバティブ取引所が公表するマーク価格、インデックス価格、直近価格と、同じ取引所の現物価格を、CoinBossが収集・保存しています(sd_px_latest、sd_px_hourly)。
- 取引所カバレッジ
- 21取引所。インデックス価格またはマーク価格を公表していない取引所は`coverage.unavailable`に記載されます。2つの価格レグの時刻が60秒を超えて離れている行は`null`を返します。集計値から除外された行は、理由とともに`coverage.excluded_from_aggregate`に記載されます。
- ページネーション
- ページングはありません。ポイント数は`range`によって決まります。
- ソート
- 時刻の昇順。
- 単位
- All basis values in percent. Prices in the quote currency of the contract (USDT / USDC / USD). `oi_usd` single-sided.
- 算出方法
- Each point is the snapshot taken in the first ten minutes of the hour. The OI weight of a historical hour is the open interest recorded in that hour; without it `oi_weighted_pct` is `null`.
- タイムスタンプ
- フィールドの説明に別途記載がない限り、Unixエポックミリ秒(UTC)
- レスポンス形式
- json
- 安定性
- 安定版
- 提供開始
- 2026-11-11
ライブステータス
収集は2026-11-11に開始しました。レスポンスには`history.available_from`、`expected_hours`に対する`n_hours`、および`complete`が含まれます。データのない時間は補間されず、存在しません。
可用性(過去30日間)
408回のチェック中100%が合格
エラー
失敗した呼び出しは、すべてのエンドポイントで共通の形式で返されます。一覧はエラーページにあります。 エラーとレート制限 →
| コード | HTTP | 意味 | 対処方法 |
|---|---|---|---|
| INVALID_PARAM | 400 | 必須パラメータが不足しているか、値が受け付けられません。該当するパラメータが特定できる場合は、`param`にその名前が入ります。 | そのまま再試行せず、リクエストを修正してください。 |
| UNAUTHORIZED | 401 | `CB-API-KEY`ヘッダーが送信されましたが、キーが不明か失効済みです。公開データにキーは不要です。ヘッダーを外すか、有効なキーを使用してください。 | そのまま再試行しないでください。 |
| FORBIDDEN | 403 | このルートは公開APIに含まれません(内部用またはアカウント専用)。 | 再試行しないでください。 |
| NOT_FOUND | 404 | 不明なルートであるか、リクエストされた銘柄 / 取引所 / ファンドが存在しません。 | 再試行せず、パスと識別子をカタログと照合してください。 |
| RATE_LIMITED | 429 | リクエスト数が1分あたりの上限を超えました。`Retry-After`に待機すべき秒数が示されます。 | `Retry-After`で示された時間だけ待ってから、バックオフ付きで再試行してください。 |
| INTERNAL | 500 | 予期しないサーバーエラーです。メッセージは意図的に汎用的な内容にしています。報告の際は`request_id`を引用してください。 | 数秒後に1回だけ再試行してください。解消しない場合は、リクエストIDを添えて報告してください。 |
| UPSTREAM_FAILED | 503 | このエンドポイントの背後にあるデータソースが時間内に応答しませんでした。鮮度切れの数値や代替の数値を代わりに返すことはありません。 | バックオフ付きで再試行し、ステータスページを確認してください。 |
| UNAVAILABLE | 501 / 503 | データセットが一時的に準備できていない(キャッシュのウォームアップ中)か、このエンドポイントに適法な公開ソースがまだありません。 | 時間をおいて再試行してください。仕様上利用できないエンドポイントは、カタログに明示されています。 |
| REQUEST_FAILED | 200 | 一部の古いエンドポイントは、HTTP 200で`success: false`を返します。HTTPステータスだけでなく、必ず`success`を確認してください。 | メッセージによって異なります。失敗したリクエストとして扱ってください。 |
試してみる
/api/sd/basis/history一部string — Coin symbol, case-insensitive (for example `BTC`). Missing or malformed values return 400.
string · デフォルト perp — `perp`: mark price against the index price of the same exchange. `spot_perp`: perpetual price against the spot price of the same exchange.
string · デフォルト 24h — Look-back range, one point per hour.
string — One exchange id. Default: all exchanges. An unknown id returns 400.
https://www.coinboss.com/api/sd/basis/history?coin=BTCこのカテゴリの他のエンドポイント
- 先物ベーシス(全取引所) /api/sd/basis
- ベーシス履歴(1時間足) /api/sd/basis/history
- ベーシスによる銘柄ランキング /api/sd/basis/rank
- 先物・現物ベーシスリスト /api/derivatives/basis
- CoinbaseとKrakenの日次BTC価格スプレッド /api/p3/cb-kr-spread
- Coinbaseビットコインプレミアム指数 /api/p3/coinbase-premium
- 無期限先物プレミアム指数リスト /api/p3/premium-index
- 1銘柄のプレミアム指数履歴 /api/p3/premium-index/history
- プレミアム指数ローソク足 /api/p3/premium-index/klines
- 法定通貨の為替レートに対するUSDT店頭プレミアム /api/usdt-premium
- 先物・現物ベーシスの全リスト /api/basis/list