基差历史(小时级)
单个币种的小时级基差序列,按交易所提供,并给出跨交易所聚合值(中位数、均值、OI 加权)。
/api/sd/basis/history请求
查询参数
| 名称 | 类型 | 必填 | 默认值 | 可选值 | 说明 |
|---|---|---|---|---|---|
| coin | string | 必填 | — | — | 币种代码,不区分大小写(例如 `BTC`)。缺失或格式错误时返回 400。 示例: BTC |
| kind | string | 可选 | perp | perp, spot_perp | `perp`:标记价格相对同一交易所的指数价格。`spot_perp`:永续合约价格相对同一交易所的现货价格。 |
| range | string | 可选 | 24h | 24h, 7d, 30d | 回溯范围,每小时一个点。 |
| exchange | string | 可选 | — | — | 单个交易所 ID。默认:全部交易所。未知的 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 | % | 每家交易所取一个主合约计算的基差中位数。 |
| aggregate[].mean_pct | number | % | 与中位数相同集合上的简单平均值。 |
| aggregate[].oi_weighted_pct | number | % | 按持仓量加权的基差;没有 OI 权重的行不计入。 |
| aggregate[].n_exchanges | number | — | 计入聚合值的交易所。 |
| series | array | — | 每个交易所一条序列。 |
| series[] | object | — | 每个交易所一条序列。 |
| 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 | — | 以纯文本说明本响应所用的公式,每个字段一条。 |
| 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 03:58:08 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 秒内视为新鲜。小时快照用于生成历史数据。
- 时间窗口
- 24h / 7d / 30d,小时桶。
- 数据来源
- 21 家衍生品交易所公布的标记价格、指数价格和最新成交价,以及同一交易所的现货价格,由 CoinBoss 采集并存储(sd_px_latest、sd_px_hourly)。
- 交易所覆盖范围
- 21 家交易所。不公布指数价格或标记价格的交易所列在 `coverage.unavailable` 下;两条价格腿的时间相差超过 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`、`n_hours` 与 `expected_hours` 的对比以及 `complete`;没有数据的小时不会出现,也不做插值。
近 30 天可用性
407 次检查中 100% 通过
错误
所有端点的失败响应格式一致。完整列表见错误页面。 错误与速率限制 →
| 错误码 | 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/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
- 基差历史(小时级) /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
- 单个币种的溢价指数历史 /api/p3/premium-index/history
- 溢价指数 K 线 /api/p3/premium-index/klines
- USDT 场外溢价(相对法币汇率) /api/usdt-premium
- 完整期现基差列表 /api/basis/list