/api/sd/options/history
GET저하STALE

옵션 히스토리(1시간 단위)

단일 코인의 옵션 미결제약정, 거래량, 풋/콜 비율, ATM IV 또는 맥스 페인의 1시간 단위 시계열입니다. 히스토리는 CoinBoss가 수집을 시작한 시점(2026-11-11)부터 제공되며, 그 이전 시간대는 백필하지 않습니다.

GET/api/sd/options/history
부분 커버리지. 이 시리즈의 수집은 2026-11-11에 시작되었습니다. 요청한 기간이 채워질 때까지 응답은 존재하는 포인트를 반환하고, `expected_points` 대비 `points_count`를 보고하며, `meta.quality = "PARTIAL"`로 표시합니다. 누락된 시간은 보간하지 않습니다.
저하. 엔드포인트가 보고한 데이터 품질: STALE

요청

쿼리 파라미터

이름타입필수기본값허용 값설명
coinstring필수——코인 심볼, 대소문자 구분 없음(예: `BTC`). 값이 없거나 형식이 잘못되면 400을 반환합니다. 예시: BTC
metricstring필수—oi, volume, pcr, atm_iv, max_pain반환할 시리즈. 예시: oi
rangestring선택7d24h, 7d, 30d, 90d조회 기간. 1시간당 포인트 하나, 최대 2160포인트.
exchangestring선택allall, deribit, binance, bybit, okx, gate, coincall거래소 하나, 또는 거래소 간 집계를 위한 `all`.

요청 예시

curl -s "https://www.coinboss.com/api/sd/options/history?coin=BTC&metric=oi"

응답 필드

필드 표는 실제 응답에서 생성되므로 엔드포인트가 반환하는 내용을 그대로 보여 줍니다. 경로에서 a[]는 배열 항목을, {*}는 코인이나 거래소처럼 동적 이름을 키로 갖는 객체를 뜻합니다.

필드타입단위설명
successboolean—요청이 성공하면 true입니다. 실패하면 본문은 `{ success: false, code, error, request_id }`입니다.
schemastring—이 응답의 스키마 ID. 기존 필드의 의미나 타입이 바뀔 때만 변경됩니다.
nownumberms응답이 생성된 서버 시각.
coinstring—코인 심볼(대문자).
exchangestring—거래소 ID(소문자).
metricstring—`metric` 파라미터로 선택한 시리즈.
rangestring—적용된 조회 기간.
intervalstring—시리즈 포인트 간격.
points_countnumber—반환된 포인트 수.
expected_pointsnumber—요청한 기간이 완전할 때 포함되는 1시간 단위 포인트 수.
history_started_atnumbermsCoinBoss가 수집한 첫 시간의 시각.
first_tnumberms반환된 첫 포인트의 시각.
last_tnumberms반환된 마지막 포인트의 시각.
pointsarray—시리즈 포인트, 오래된 순.
points[]object—시리즈 포인트, 오래된 순.
points[].tnumberms시간 버킷의 시작 시각.
points[].snapshot_atnumberms포인트를 기록한 수집 회차의 시각.
points[].n_exchangesnumber—포인트에 포함된 거래소 수.
points[].exchangesarray—이 행에 포함된 거래소.
points[].exchanges[]string—이 행에 포함된 거래소.
points[].oi_usdnumberUSDUSD 명목가치 기준 미결제약정: 코인 수량 × 현물 지수 가격. 단방향 기준. 없을 수 있음
points[].call_oi_usdnumberUSD콜 미결제약정, USD 명목가치. 없을 수 있음
points[].put_oi_usdnumberUSD풋 미결제약정, USD 명목가치. 없을 수 있음
points[].oi_coinnumbercoin기초 코인 단위의 미결제약정. 없을 수 있음
points[].index_pricenumberUSDUSD 환산에 사용하는 현물 지수 가격(집계에서는 각 거래소 자체 지수 가격의 중앙값). 없을 수 있음
coverageobject—수치에 포함된 것과 포함되지 않은 것. 다른 소스와 합계를 비교하기 전에 먼저 이 항목을 비교하십시오.
coverage.included_exchangesarray—최신 데이터가 포함된 소스.
coverage.included_exchanges[]string—최신 데이터가 포함된 소스.
coverage.unavailablearray—포함할 수 없었던 소스와 각각의 사유. 0으로 집계하는 일은 없습니다.
coverage.unavailable[]object—포함할 수 없었던 소스와 각각의 사유. 0으로 집계하는 일은 없습니다.
coverage.unavailable[].exchangestring—거래소 ID(소문자).
coverage.unavailable[].reasonstring—기계 판독용 사유 코드.
coverage.unavailable[].detailstring—사람이 읽을 수 있는 사유 설명.
coverage.stale_excludedarray—마지막 갱신이 신선도 창을 벗어나 제외된 행. 이 표를 생성한 샘플에서는 비어 있음
methodobject—이 응답에 사용된 산식을 필드당 한 항목씩 일반 텍스트로 기술한 내용.
method.pointsstring—`points`의 산식 설명, 일반 텍스트.
method.exchangesstring—`exchanges`의 산식 설명, 일반 텍스트.
method.history_depthstring—`history_depth`의 산식 설명, 일반 텍스트.
method.oi_usdstring—`oi_usd`의 산식 설명, 일반 텍스트. 없을 수 있음
metaobject—이 응답의 데이터 경로와 신선도.
meta.schemastring—이 응답의 스키마 ID. 기존 필드의 의미나 타입이 바뀔 때만 변경됩니다.
meta.sourcearray—데이터를 수집한 업스트림 공개 엔드포인트.
meta.source[]object—데이터를 수집한 업스트림 공개 엔드포인트.
meta.source[].exchangestring—거래소 ID(소문자).
meta.source[].endpointstring—수집기가 읽는 소스의 공개 엔드포인트(데이터 경로 표시용이며 클라이언트가 직접 호출하지 않음).
meta.observed_atnull—소스가 데이터에 부여한 타임스탬프.
meta.received_atnumbermsCoinBoss 수집기가 데이터를 수신한 시각.
meta.fetched_atnumberms이 응답이 조립된 시각.
meta.windowstring—수치가 포괄하는 시간 구간.
meta.qualitystring—FRESH, PARTIAL, STALE, BROKEN 또는 UNAVAILABLE. 데이터 타임스탬프와 커버리지로 판정합니다.
meta.is_staleboolean—데이터가 신선도 창보다 오래되었으면 true.
meta.cache_ttl_snumbers이 응답의 캐시 수명.
meta.fallbackstring—수집기나 소스에 장애가 발생했을 때 엔드포인트가 반환하는 내용.
points[].pcr_oinumberratio풋 미결제약정 ÷ 콜 미결제약정, 코인 단위 기준. 콜 측이 0이면 `null`입니다. 없을 수 있음
points[].pcr_volnumberratio풋 24h 거래량 ÷ 콜 24h 거래량, 코인 단위 기준. 콜 측이 0이면 `null`입니다. 없을 수 있음
method.pcr_oistring—`pcr_oi`의 산식 설명, 일반 텍스트. 없을 수 있음
method.pcr_volstring—`pcr_vol`의 산식 설명, 일반 텍스트. 없을 수 있음
points[].atm_iv_30dnumber%30일 고정 만기로 선형 보간한 ATM IV. 30일이 두 만기일 사이에 들어오지 않으면 `null`입니다. 없을 수 있음
method.atm_ivstring—`atm_iv`의 산식 설명, 일반 텍스트. 없을 수 있음
method.atm_iv_30dstring—`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": [
      • { … 9 },
      • { … 9 }
      ],
    • "coverage": {
      • "included_exchanges": [ … 6 ],
      • "unavailable": [ … 2 ],
      • "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": [ … 2 ],
      • "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=pcr2002 ms통과 STALE
coin=BTC&metric=atm_iv2003 ms통과 STALE
coin=BTC4001 ms통과 예상된 오류 반환

2026-11-13 03:58:20 UTC 점검

상세 정보

인증
없음. 공개 엔드포인트.
요청 한도
IP당 분당 1200회
서버 캐시
5m
엣지 마이크로 캐시
10s
갱신 주기
1시간당 포인트 하나이며, 해당 시간의 마지막 수집 결과로 기록됩니다.
구간
24h / 7d / 30d / 90d, 1시간 단위 포인트.
데이터 소스
Deribit, Binance, Bybit, OKX, Gate, Coincall의 공개 REST 옵션 엔드포인트를 CoinBoss가 수집해 저장합니다(sd_opt_latest, sd_opt_summary_hourly). 제3자 집계 서비스는 관여하지 않습니다.
거래소 커버리지
옵션 거래소 6곳. 선택한 거래소에 상장된 옵션이 없는 코인은 null 필드, `meta.quality = "UNAVAILABLE"`, 그리고 `coverage.unavailable`의 사유와 함께 HTTP 200을 반환합니다. 공개 옵션 피드가 없는 거래소도 그곳에 나열됩니다.
페이지네이션
페이지네이션 없음. `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 epoch 밀리초(UTC)
응답 형식
json
안정성
안정
제공 시작
2026-11-11

실시간 상태

저하2026-11-13 03:58:20 UTC 점검HTTP 2002 ms스키마 일치최신 데이터 포인트: 6h 경과

엔드포인트가 보고한 데이터 품질: STALE

최근 30일 가용성

점검 407회 중 99.75% 통과

오류

실패한 호출은 모든 엔드포인트에서 동일한 구조로 반환됩니다. 전체 목록은 오류 페이지에 있습니다. 오류 및 요청 한도 →

코드HTTP의미대응 방법
INVALID_PARAM400필수 파라미터가 누락되었거나 허용되지 않는 값입니다. 문제가 된 파라미터를 알 수 있으면 `param`에 그 이름이 들어갑니다.그대로 재시도하지 말고 요청을 수정하십시오.
UNAUTHORIZED401`CB-API-KEY` 헤더를 보냈지만 알 수 없거나 폐기된 키입니다. 공개 데이터에는 키가 필요 없으므로 헤더를 빼거나 유효한 키를 사용하십시오.그대로 재시도하지 마십시오.
FORBIDDEN403해당 경로는 공개 API에 포함되지 않습니다(내부용 또는 계정 전용).재시도하지 마십시오.
NOT_FOUND404알 수 없는 경로이거나, 요청한 코인 / 거래소 / 펀드가 존재하지 않습니다.재시도하지 말고 경로와 식별자를 카탈로그와 대조해 확인하십시오.
RATE_LIMITED429요청 수가 분당 한도를 초과했습니다. `Retry-After`가 대기해야 할 초를 알려 줍니다.`Retry-After`만큼 기다린 뒤 백오프를 적용해 재시도하십시오.
INTERNAL500예기치 않은 서버 오류입니다. 메시지는 의도적으로 일반적인 내용만 담습니다. 신고할 때 `request_id`를 인용하십시오.몇 초 뒤 한 번 재시도하고, 계속되면 요청 ID와 함께 신고하십시오.
UPSTREAM_FAILED503이 엔드포인트의 데이터 소스가 제시간에 응답하지 않았습니다. 그 대신 만료된 수치나 대체 수치를 반환하는 일은 없습니다.백오프를 적용해 재시도하고 상태 페이지를 확인하십시오.
UNAVAILABLE501 / 503데이터셋이 일시적으로 준비되지 않았거나(캐시 워밍 중) 엔드포인트에 아직 합법적인 공개 소스가 없습니다.나중에 재시도하십시오. 설계상 사용 불가인 엔드포인트는 카탈로그에 표시되어 있습니다.
REQUEST_FAILED200일부 이전 엔드포인트는 HTTP 200에 `success: false`로 응답합니다. HTTP 상태만 보지 말고 항상 `success`를 확인하십시오.메시지에 따라 다릅니다. 실패한 요청으로 처리하십시오.

직접 실행

GET/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.

요청 URLhttps://www.coinboss.com/api/sd/options/history?coin=BTC&metric=oi
엔드포인트를 선택하고 “요청 보내기”를 누르십시오. 응답, 헤더, 소요 시간이 여기에 표시됩니다.