GET降级STALE
按到期日的期权数据
每个到期日一行:持仓量、成交量、看跌/看涨比、最大痛点、ATM IV 和偏度,可取全部交易所或单个交易所。
GET
/api/sd/options/expiries降级. 该端点上报的数据质量为 STALE
请求
查询参数
| 名称 | 类型 | 必填 | 默认值 | 可选值 | 说明 |
|---|---|---|---|---|---|
| coin | string | 必填 | — | — | 币种代码,不区分大小写(例如 `BTC`)。缺失或格式错误时返回 400。 示例: BTC |
| exchange | string | 可选 | all | all, deribit, binance, bybit, okx, gate, coincall | 单个交易所,或用 `all` 表示跨交易所聚合值。 |
请求示例
curl -s "https://www.coinboss.com/api/sd/options/expiries?coin=BTC"响应字段
字段表根据真实响应生成,因此所列内容与端点实际返回的完全一致。路径中 a[] 表示数组元素,{*} 表示以动态名称(如币种或交易所)为键的对象。
| 字段 | 类型 | 单位 | 说明 |
|---|---|---|---|
| success | boolean | — | 请求成功时为 true。失败时响应体为 `{ success: false, code, error, request_id }`。 |
| schema | string | — | 本响应的结构 ID。仅当已有字段的含义或类型发生变化时才会改变。 |
| now | number | ms | 响应生成时的服务器时间。 |
| coin | string | — | 币种代码(大写)。 |
| exchange | string | — | 交易所 ID(小写)。 |
| n_expiries | number | — | 计入的到期日数量。 |
| n_contracts | number | — | 计入的期权合约数量。 |
| oi_usd | number | USD | 以 USD 名义价值计的持仓量:币数量 × 现货指数价格。单边口径。 |
| call_oi_usd | number | USD | 看涨持仓量,USD 名义价值。 |
| put_oi_usd | number | USD | 看跌持仓量,USD 名义价值。 |
| oi_coin | number | coin | 以标的币数量计的持仓量。 |
| call_oi_coin | number | coin | 以标的币数量计的看涨持仓量。 |
| put_oi_coin | number | coin | 以标的币数量计的看跌持仓量。 |
| vol_usd_24h | number | USD | 24h 名义成交额:成交币数量 × 当前现货指数价格。不是权利金成交额。 |
| call_vol_usd_24h | number | USD | 看涨期权的 24h 名义成交额。 |
| put_vol_usd_24h | number | USD | 看跌期权的 24h 名义成交额。 |
| vol_coin_24h | number | coin | 以标的币数量计的 24h 成交数量。 |
| call_vol_coin_24h | number | coin | 看涨期权的 24h 成交数量,以币计。 |
| put_vol_coin_24h | number | coin | 看跌期权的 24h 成交数量,以币计。 |
| vol_premium_usd_24h | number | USD | 24h 权利金成交额(期权价格 × 数量),仅在交易所公布时提供;否则为 `null`。绝不计入名义成交额。 |
| pcr_oi | number | ratio | 看跌持仓量 ÷ 看涨持仓量,以币数量计;看涨一侧为 0 时为 `null`。 |
| pcr_vol | number | ratio | 看跌 24h 成交量 ÷ 看涨 24h 成交量,以币数量计;看涨一侧为 0 时为 `null`。 |
| atm_iv_30d | number | % | 线性插值到固定 30 天期限的 ATM IV;30 天未落在两个到期日之间时为 `null`。 |
| expiries | array | — | 每个到期日一行。 |
| expiries[] | object | — | 每个到期日一行。 |
| expiries[].expiry | string | — | 到期日(UTC),格式为 `YYYY-MM-DD`,或 `all`。 |
| expiries[].expiry_ts | number | ms | 到期时间。 |
| expiries[].days_left | number | days | 距到期日的天数。 |
| expiries[].exchanges | array | — | 该行计入的交易所。 |
| expiries[].exchanges[] | string | — | 该行计入的交易所。 |
| expiries[].n_contracts | number | — | 计入的期权合约数量。 |
| expiries[].oi_usd | number | USD | 以 USD 名义价值计的持仓量:币数量 × 现货指数价格。单边口径。 |
| expiries[].call_oi_usd | number | USD | 看涨持仓量,USD 名义价值。 |
| expiries[].put_oi_usd | number | USD | 看跌持仓量,USD 名义价值。 |
| expiries[].oi_coin | number | coin | 以标的币数量计的持仓量。 |
| expiries[].call_oi_coin | number | coin | 以标的币数量计的看涨持仓量。 |
| expiries[].put_oi_coin | number | coin | 以标的币数量计的看跌持仓量。 |
| expiries[].vol_usd_24h | number | USD | 24h 名义成交额:成交币数量 × 当前现货指数价格。不是权利金成交额。 |
| expiries[].call_vol_usd_24h | number | USD | 看涨期权的 24h 名义成交额。 |
| expiries[].put_vol_usd_24h | number | USD | 看跌期权的 24h 名义成交额。 |
| expiries[].vol_coin_24h | number | coin | 以标的币数量计的 24h 成交数量。 |
| expiries[].call_vol_coin_24h | number | coin | 看涨期权的 24h 成交数量,以币计。 |
| expiries[].put_vol_coin_24h | number | coin | 看跌期权的 24h 成交数量,以币计。 |
| expiries[].vol_premium_usd_24h | number|null | USD | 24h 权利金成交额(期权价格 × 数量),仅在交易所公布时提供;否则为 `null`。绝不计入名义成交额。 |
| expiries[].pcr_oi | number | ratio | 看跌持仓量 ÷ 看涨持仓量,以币数量计;看涨一侧为 0 时为 `null`。 |
| expiries[].pcr_vol | number | ratio | 看跌 24h 成交量 ÷ 看涨 24h 成交量,以币数量计;看涨一侧为 0 时为 `null`。 |
| expiries[].oi_share_pct | number | % | 在所选范围总持仓量(USD 名义价值)中的占比。 |
| expiries[].max_pain | number | USD | 到期时支付给期权持有人的总金额最小的行权价。 |
| expiries[].max_pain_usd | number | USD | 若到期时以最大痛点行权价结算,支付给期权持有人的总金额。 |
| expiries[].atm_iv | number | % | 平值隐含波动率:最接近远期价格的行权价上标记 IV 的均值。 |
| expiries[].atm_strike | number | USD | 最接近远期价格的行权价,用于计算 ATM IV。 |
| expiries[].skew_25d | number|null | percentage points | Delta 最接近 −0.25 的看跌期权的 IV 减去 Delta 最接近 +0.25 的看涨期权的 IV。仅使用交易所公布的 Delta。 |
| expiries[].skew_exchanges | array | — | 有 Delta 可用于计算偏度的交易所。 |
| expiries[].skew_exchanges[] | string | — | 有 Delta 可用于计算偏度的交易所。 |
| expiries[].index_price | number | USD | 用于 USD 换算的现货指数价格(在聚合值中取各交易所自身指数价格的中位数)。 |
| expiries[].underlying_price | number|null | USD | 交易所为该到期日公布的远期 / 标的价格。 |
| expiries[].by_exchange_iv | array | — | 各交易所该到期日的 ATM IV。 |
| expiries[].by_exchange_iv[] | object | — | 各交易所该到期日的 ATM IV。 |
| expiries[].by_exchange_iv[].exchange | string | — | 交易所 ID(小写)。 |
| expiries[].by_exchange_iv[].atm_iv | number | % | 平值隐含波动率:最接近远期价格的行权价上标记 IV 的均值。 |
| expiries[].by_exchange_iv[].atm_strike | number | USD | 最接近远期价格的行权价,用于计算 ATM IV。 |
| expiries[].by_exchange_iv[].ref_price | number | USD | 选取该交易所 ATM 行权价时所依据的远期价格。 |
| expiries[].by_exchange_iv[].skew_25d | number|null | percentage points | Delta 最接近 −0.25 的看跌期权的 IV 减去 Delta 最接近 +0.25 的看涨期权的 IV。仅使用交易所公布的 Delta。 |
| expiries[].by_exchange_iv[].oi_usd | 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 | — | 交易所 ID(小写)。 |
| coverage.unavailable[].reason | string | — | 机器可读的原因代码。 |
| coverage.unavailable[].detail | string | — | 供人阅读的原因说明。 |
| coverage.stale_excluded | array | — | 因最近一次更新超出新鲜窗口而被排除的行。 在生成此表所用的样本中为空 |
| coverage.field_gaps | array | — | 交易所未公布的列;该交易所的这些列为 `null`。 |
| coverage.field_gaps[] | object | — | 交易所未公布的列;该交易所的这些列为 `null`。 |
| coverage.field_gaps[].exchange | string | — | 交易所 ID(小写)。 |
| coverage.field_gaps[].fields | array | — | 缺失列的名称。 |
| coverage.field_gaps[].fields[] | string | — | 缺失列的名称。 |
| coverage.field_gaps[].kind | string | — | 合约系列:`inverse`(币结算)或 `linear`(稳定币结算)。 |
| method | object | — | 以纯文本说明本响应所用的公式,每个字段一条。 |
| method.oi_usd | string | — | `oi_usd` 的公式说明,纯文本。 |
| method.vol_usd_24h | string | — | `vol_usd_24h` 的公式说明,纯文本。 |
| method.vol_premium_usd_24h | string | — | `vol_premium_usd_24h` 的公式说明,纯文本。 |
| method.pcr_oi | string | — | `pcr_oi` 的公式说明,纯文本。 |
| method.pcr_vol | string | — | `pcr_vol` 的公式说明,纯文本。 |
| method.max_pain | string | — | `max_pain` 的公式说明,纯文本。 |
| method.atm_iv | string | — | `atm_iv` 的公式说明,纯文本。 |
| method.atm_iv_30d | string | — | `atm_iv_30d` 的公式说明,纯文本。 |
| method.skew_25d | string | — | `skew_25d` 的公式说明,纯文本。 |
| method.expiry | string | — | `expiry` 的公式说明,纯文本。 |
| method.oi_share_pct | string | — | `oi_share_pct` 的公式说明,纯文本。 |
| meta | object | — | 本响应的数据来源与新鲜度。 |
| meta.schema | string | — | 本响应的结构 ID。仅当已有字段的含义或类型发生变化时才会改变。 |
| meta.source | array | — | 采集数据所用的上游公开端点。 |
| meta.source[] | object | — | 采集数据所用的上游公开端点。 |
| meta.source[].exchange | string | — | 交易所 ID(小写)。 |
| meta.source[].endpoint | string | — | 采集器读取的数据源公开端点(仅用于说明数据来源;客户端不会调用它)。 |
| meta.observed_at | number | ms | 数据源为该数据给出的时间戳。 |
| 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/options/expiries?coin=BTC · 真实响应,采集于 2026-11-13 03:58:20 UTC。 为便于展示,较长的数组和映射已被截短:expiries 原有 12 项; meta.source 原有 6 项; coverage.field_gaps 原有 4 项; coverage.unavailable 原有 12 项; coverage.stale_included 原有 6 项; expiries[].by_exchange_iv 原有 6 项。
- "success"true
- "schema""coinboss.sd.options/1"
- "now"1794542300391
- "coin""BTC"
- "exchange""all"
- "n_expiries"12
- "n_contracts"5792
- "oi_usd"32670143083.84
- "call_oi_usd"18276964561.96
- "put_oi_usd"14393178521.88
- "oi_coin"457419.65
- "call_oi_coin"255899.54
- "put_oi_coin"201520.11
- "vol_usd_24h"4295495191.7
- "call_vol_usd_24h"2031780368.24
- "put_vol_usd_24h"2263714823.46
- "vol_coin_24h"60122.56
- "call_vol_coin_24h"28436.77
- "put_vol_coin_24h"31685.79
- "vol_premium_usd_24h"34033631.12
- "pcr_oi"0.7875
- "pcr_vol"1.1143
- "atm_iv_30d"37.2
- "expiries"
- "coverage"
- "included_exchanges"
- "unavailable"
- "stale_excluded"
- "field_gaps"
- "stale_included"
- "method"
- "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 …"
- "vol_usd_24h""NOTIONAL 24h volume = sum of vol_coin (24h traded quantity in underlying coin) x the exchange's CURRENT spot index price; not premium turnover. Binance statisti…"
- "vol_premium_usd_24h""PREMIUM turnover (option price x quantity) as reported by the exchange: Deribit volume_usd, Binance amount, Gate sum(|size| x multiplier x price) from the 24h t…"
- "pcr_oi""put open interest / call open interest, both in underlying-coin units; null when call side is 0 or missing"
- "pcr_vol""put 24h volume / call 24h volume, both in underlying-coin units; null when call side is 0 or missing"
- "max_pain""per expiry: settlement price S among strikes with OI>0 minimizing pain_usd(S) = sum_calls oi_coin x max(S-K,0) + sum_puts oi_coin x max(K-S,0); ties take the lo…"
- "atm_iv""per exchange and expiry: reference price F = median of the exchange-published forward/underlying price of that expiry (the exchange index price where no forward…"
- "atm_iv_30d""30-day constant-maturity ATM IV: linear interpolation in days between the two expiries bracketing 30 days; null when 30 days is not bracketed"
- "skew_25d""IV(put with delta closest to -0.25, within +-0.10) - IV(call with delta closest to +0.25, within +-0.10), in percentage points, using exchange-published deltas …"
- "expiry""UTC date of the expiry timestamp (all integrated exchanges expire at 08:00 UTC); contracts from different exchanges with the same UTC expiry date are merged"
- "oi_share_pct""expiry oi_usd / total oi_usd of this response x 100"
- "meta"
- "schema""coinboss.sd.options/1"
- "source"
- "observed_at"1794522472654
- "received_at"1794522473814
- "fetched_at"1794542300391
- "window""latest"
- "quality""STALE"
- "is_stale"true
- "cache_ttl_s"60
- "fallback""on collector failure the last stored rows are served: an exchange whose newest batch is older than 25 min (collector cycle is 10 min) is excluded from totals (l…"
已验证的样本
除上面的示例外,探针还会使用以下参数调用该端点,并在每次调用时校验结构。
| 参数 | HTTP | 延迟 | 结果 |
|---|---|---|---|
| coin=ETH&exchange=deribit | 200 | 46 ms | 通过 STALE |
| coin=SOL | 200 | 22 ms | 通过 STALE |
| coin=BTC&exchange=nope | 400 | 1 ms | 通过 返回预期的错误 |
检查于 2026-11-13 03:58:20 UTC
详细信息
- 身份验证
- 无。公开端点。
- 速率限制
- 每个 IP 每分钟 1200 次请求
- 服务端缓存
- 60s
- 边缘微缓存
- 10s
- 更新频率
- 采集器每 10 分钟运行一轮;交易所在最近一次成功采集后的 25 分钟内视为新鲜。
- 时间窗口
- 每个到期日的最新快照;成交量字段覆盖过去 24 小时。
- 数据来源
- Deribit、Binance、Bybit、OKX、Gate 和 Coincall 的公开 REST 期权端点,由 CoinBoss 采集并存储(sd_opt_latest、sd_opt_summary_hourly)。不涉及任何第三方聚合商。
- 交易所覆盖范围
- 六家期权交易所。在所选交易所没有上线期权的币种返回 HTTP 200,字段为 null,`meta.quality = "UNAVAILABLE"`,原因列在 `coverage.unavailable` 下。没有公开期权数据源的交易所也列在该处。
- 排序
- 按到期日升序。
- 单位
- 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.
- 计算方法
- Contracts of different venues are grouped by UTC expiry date. Max pain and ATM IV are computed per expiry; `oi_share_pct` is the share of that expiry in the total open interest of the selection.
- 时间戳
- 除非字段说明另有注明,均为 Unix 纪元毫秒(UTC)
- 响应格式
- json
- 稳定性
- 稳定
- 上线时间
- 2026-11-11
实时状态
降级检查于 2026-11-13 03:58:20 UTCHTTP 20061 ms结构一致最新数据点距今 5.5h
该端点上报的数据质量为 STALE
近 30 天可用性
407 次检查中 100% 通过
最近一次探测发现结构漂移
- 实际返回但文档未记载: coverage.stale_included, coverage.stale_included[], coverage.stale_included[].exchange, coverage.stale_included[].age_s
错误
所有端点的失败响应格式一致。完整列表见错误页面。 错误与速率限制 →
| 错误码 | 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 状态码。 | 取决于具体信息;按请求失败处理。 |
试一试
GET
/api/sd/options/expiries降级参数
string — Coin symbol, case-insensitive (for example `BTC`). Missing or malformed values return 400.
string · 默认 all — One venue, or `all` for the cross-venue aggregate.
请求 URL
https://www.coinboss.com/api/sd/options/expiries?coin=BTC选择一个端点,然后点击“发送请求”。响应、响应头和耗时将显示在这里。
同分类的其他端点
- 期权链(单个交易所) /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