メインコンテンツまでスキップ

Dealer Hedge Flow API

Dealer Hedge Flow API は、Deribit の BTC オプションにおけるオプションディーラーのポジショニングと、価格が動いた場合にディーラーのヘッジが何をもたらすかを返します。具体的には、各価格水準について、そこに至るまでデルタヘッジを維持するためにディーラーが何米ドル分の BTC を 買う か 売る か、そしてそのフローが値動きを 増幅 するのか 抑制 するのかを示します。あわせて、ネットのガンマエクスポージャー(GEX)、ゼロガンマ水準、いくつかのレガシーのオプション統計も返します。新しいスナップショットは 1 時間ごとに計算されます。

ディーラーポジションの再構築方法、計算式、前提については、 Dealer Hedge Flow の方法論 をご覧ください。

取引シグナルではありません

Dealer Hedge Flow はディーラーのポジショニングの記述的モデルであり、目標価格や取引シグナルではありません。

エンドポイント​

メソッドパス説明
GET/v1/options/gex日次シリーズ:1 日 1 行(00:00 UTC のスナップショット)
GET/v1/options/gex/hourly1 時間ごとのすべてのスナップショット(Pro)
GET/v1/options/gex/profile1 つのスナップショットの価格別ヘッジフロー(デフォルト:最新)
GET/v1/options/gex/heatmapヒートマップ用の時刻 × 価格のインパクト行列

ベース URL:https://api.blocklens.co。すべてのレスポンスは {"success": true, "data": …} というエンベロープの JSON です。シリーズでは data は行のリストで、その横に count、access、message が付きます。/profile と /heatmap では access を含むオブジェクトです。エラーは {"success": false, "message": {…}, "timestamp": "…"} の形式で返されます (エラー を参照)。

認証​

すべてのリクエストに API キーが必要です。

Authorization: Bearer YOUR_API_KEY

API キーについては 認証 を、API アクセスを含むティアとリクエスト制限については レート制限とプラン をご覧ください。

符号と単位​

  • 金額はすべて USD 建てです。GEX の値(net_gex、gex[]、strikes[].call_gex / put_gex)は 1% の値動きあたり の USD、ヘッジフローとインパクトは現在価格からその水準までの値動き全体に対する USD です。
  • hedge_flow > 0 — ディーラーはその水準に至るまでに BTC を 買う。< 0 — 売る。
  • impact = hedge_flow × sign(level − spot):> 0 — 増幅(フローが値動きをさらに押し進める)、< 0 — 抑制(フローが値動きに逆らう)。
  • net_gex > 0 — ディーラーは差し引きでロングガンマ(抑制レジーム)。< 0 — 差し引きでショートガンマ(増幅レジーム)。
  • spot はスナップショット時点の BTC インデックス価格です。水準は、その ±30% の範囲で絶対値の $500 グリッド上にあります。
  • zero_gamma は spot の ±50% の範囲で探索するため、水準のグリッドの外側にあることがあります。その範囲で GEX 曲線の符号が変わらない場合は null です。

ティアと履歴​

ティアのルールは Lab の画面上だけでなく、API 側でも適用されます。

FreePro, Enterprise
/v1/options/gex(日次)直近 30 日間2026-03-16 以降の全履歴
/v1/options/gex/hourly—(403)あり
/v1/options/gex/profile最新 のスナップショットのみ、strikes なし任意のスナップショット、strikes あり
/v1/options/gex/heatmapresolution=1d、直近 30 日間1h、6h、1d、全履歴

すべてのレスポンスには access ブロックが含まれます。

"access": {"tier": "free", "grade": 0, "full_history": false, "history_from": "2026-09-24",
"resolutions": ["1d"], "profile_history": false, "strikes": false, "hourly": false,
"required_grade": 1, "clipped": false}
  • history_from — 呼び出し元が閲覧できる最初の日(全履歴の場合は null)。
  • resolutions、profile_history、strikes、hourly — 呼び出し元のティアで許可されている内容。
  • clipped — 日次シリーズまたはヒートマップで history_from より前の日が要求され、それらが切り捨てられた場合に true。この 2 つのエンドポイントはこの理由で 403 を返すことはなく、許可された範囲を返します。
  • /profile の過去のスナップショット(最新以外のすべて)、/hourly、6h / 1h のヒートマップは、Free では 403 を返します(エラー を参照)。

スナップショットと時刻​

  • Deribit の BTC オプションボードのスナップショットは 1 時間に 1 回、正時の数秒後に取得されます。履歴は 2026-03-16 から始まります。2026-06-08 … 2026-07-07 は欠損しており(データ収集の障害)、ボードが不完全だった時間は個別にスキップされます。データは毎時 :20 UTC 頃に更新されます。
  • 時刻は UTC、ISO 8601 形式です。スナップショット時刻は、スナップショットが持っている場合は マイクロ秒 まで含みます("2026-10-24T09:00:02.418731Z")。ts / times[] の値をそのまま /profile?ts= に渡すと、まさにそのスナップショットが選択されます。小数秒のない ts は、その 1 秒以内の任意のスナップショットに一致します。
  • 日(日次シリーズ、/profile?date=、1d のヒートマップ)は、その日の 00:00 UTC のスナップショットです(00:00 がない場合はその日の最初のスナップショット)。08:00 UTC の日次満期からは離れているため、ある日の行は一度表示されると変わりません。

GET /v1/options/gex​

日次シリーズ、新しい順。

パラメータデフォルト説明
from_date許可された最初の日YYYY-MM-DD(UTC)。ティアの期間制限より前 → 切り捨てられ、access.clipped = true
to_date最新の日YYYY-MM-DD(UTC、その日を含む)
limit100日数(1–10,000)、新しい順
fieldsすべてカンマ区切りのフィールド名(date は常に含まれます)
curl -H "Authorization: Bearer YOUR_API_KEY" \
"https://api.blocklens.co/v1/options/gex?from_date=2026-10-01&fields=btc_price,net_gex,zero_gamma,flow_up5,flow_dn5"
{
"success": true,
"data": [
{"date": "2026-10-23", "snapshot_ts": "2026-10-23T00:00:02Z", "btc_price": 80712.4,
"legacy_total_gex": 30112000.0, "legacy_call_gex": 41870000.0, "legacy_put_gex": -11758000.0,
"top_support_strike": 80000.0, "top_support_gex": 9120000.0,
"top_resist_strike": 76000.0, "top_resist_gex": -3410000.0, "legacy_flip_point": 80551.2,
"pc_ratio_oi": 0.62, "pc_ratio_vol_24h": 0.81, "max_pain": 82000.0, "max_pain_expiry": "24OCT26",
"hedge_snapshot_ts": "2026-10-23T00:00:02Z", "spot": 80712.4, "net_gex": 35700000.0, "zero_gamma": 59300.0,
"flow_up5": -219000000.0, "flow_dn5": 288000000.0, "flow_up10": -402000000.0, "flow_dn10": 515000000.0}
],
"count": 1,
"access": {"tier": "pro", "grade": 1, "full_history": true, "history_from": null, "resolutions": ["1h", "6h", "1d"],
"profile_history": true, "strikes": true, "hourly": true, "required_grade": 1, "clipped": false},
"message": "Options GEX and dealer hedge flow, daily (Deribit BTC)"
}
フィールド意味
dateUTC 日付
hedge_snapshot_ts, spotヘッジフローのフィールドに使用したその日のスナップショットと、その BTC インデックス価格
net_gexspot におけるディーラーのネット GEX(Black-Scholes、1% の値動きあたりの USD)— 公開されているネット GEX
zero_gamma再計算した GEX 曲線の、spot に最も近い符号反転点(±50%)。ない場合は null
flow_up5, flow_dn5, flow_up10, flow_dn10価格が spot から +5% / −5% / +10% / −10% 動いた場合の USD 建てヘッジフロー。spot × 1.05 / 0.95 / 1.10 / 0.90 ちょうどにおける厳密値
snapshot_ts, btc_priceレガシーフィールドのスナップショットと、その BTC 価格
top_support_strike, top_support_gexプラスの GEX が最大のストライク(Deribit のガンマ。|GEX| が $1,000 未満のストライクは除外)
top_resist_strike, top_resist_gexマイナスの GEX が最大のストライク(同じルール)
pc_ratio_oi, pc_ratio_vol_24h建玉ベースおよび 24 時間取引高ベースのプット・コール・レシオ
max_pain, max_pain_expiry最も近い満期のマックスペイン・ストライクと、その満期
legacy_total_gex, legacy_call_gex, legacy_put_gexDeribit が公表するガンマ(1e-5 に丸められており、Black-Scholes に対して偏りがある)に基づく GEX。net_gex を使用してください
legacy_flip_point価格を挟む 2 つのストライク間におけるストライク別 GEX の符号反転点 — ガンマフリップでは ありません。zero_gamma を使用してください

日次の net_gex、zero_gamma、flow_*、top_*_strike の各列は、カタログのメトリクス(options_*、カテゴリ options)でもあり、/v1/metrics と MCP ツール get_metric から利用できます。

GET /v1/options/gex/hourly​

1 時間ごとのすべてのスナップショット、新しい順(Pro)。フィールドは日次シリーズと同じで、キーは date ではなく timestamp(スナップショット時刻)です。同じスナップショットのレガシー値とヘッジフローの値は 1 つの行にまとめられます。

パラメータデフォルト説明
from_date, to_date—YYYY-MM-DD(UTC、to_date はその日を含む)
limit168スナップショット数(1–10,000)。デフォルトは 1 週間分
fieldsすべてカンマ区切りのフィールド名(timestamp は常に含まれます)
curl -H "Authorization: Bearer YOUR_API_KEY" \
"https://api.blocklens.co/v1/options/gex/hourly?limit=24&fields=spot,net_gex,zero_gamma"

GET /v1/options/gex/profile​

1 つのスナップショットの価格別ヘッジフロー。

パラメータデフォルト説明
ts最新スナップショット時刻(ISO 8601。オフセットがなければ UTC):その時刻以前の最新のスナップショット。date とは併用できません
date—YYYY-MM-DD(UTC):その日の 00:00 UTC のスナップショット(その日の最初のもの)。ts とは併用できません

Free の呼び出し元は最新のスナップショットのみ取得できます。ts / date を省略してください(最新のスナップショットに解決される ts / date も受け付けます)。

curl -H "Authorization: Bearer YOUR_API_KEY" https://api.blocklens.co/v1/options/gex/profile
{
"success": true,
"data": {
"ts": "2026-10-24T09:00:02Z", "spot": 80712.4, "step": 500.0,
"levels": [80000.0, 80500.0, 81000.0, 81500.0],
"hedge_flow": [21400000.0, 4900000.0, -6800000.0, -27300000.0],
"impact": [-21400000.0, -4900000.0, -6800000.0, -27300000.0],
"gex": [36900000.0, 35900000.0, 35200000.0, 34100000.0],
"net_gex": 35700000.0, "zero_gamma": 59300.0, "flips": [59300.0],
"flow": {"up5": -219000000.0, "dn5": 288000000.0, "up10": -402000000.0, "dn10": 515000000.0},
"max_amplify_level": null, "max_dampen_level": 74000.0, "method_version": 1,
"legacy": {"flip_point": 80551.2, "top_support_strike": 80000.0, "top_resist_strike": 76000.0,
"total_gex": 30112000.0},
"strikes": [{"strike": 80000.0, "call_gex": 6200000.0, "put_gex": 2920000.0}],
"access": {"tier": "pro", "grade": 1, "full_history": true, "history_from": null, "resolutions": ["1h", "6h", "1d"],
"profile_history": true, "strikes": true, "hourly": true, "required_grade": 1, "clipped": false}
}
}

この例は短縮されています。実際のプロファイルには約 100 の水準があります。

フィールド意味
ts, spotスナップショット時刻と BTC インデックス価格
step, levelsグリッドの刻み($500)と、spot の ±30% の範囲にある価格水準(昇順)
hedge_flow[i]価格が spot から levels[i] まで動いた場合にディーラーが売買する USD(> 0 買い、< 0 売り)
impact[i]値動きの方向で符号付けした hedge_flow[i](> 0 増幅、< 0 抑制)
gex[i]価格が levels[i] にあると仮定して再計算したディーラーのネット GEX(1% あたりの USD)
net_gexspot における GEX
zero_gamma, flipsspot の ±50% の範囲における、spot に最も近い GEX 曲線の符号反転点と、すべての符号反転点(昇順)(ない場合は null / [])
flowspot × 1.05 / 0.95 / 1.10 / 0.90 ちょうどにおけるヘッジフロー(up5、dn5、up10、dn10)
max_amplify_level, max_dampen_level増幅 / 抑制の限界フローが最大となる $500 の水準帯(ない場合は null)
method_version計算手法のバージョン
legacy同じスナップショットのレガシー値(Deribit のガンマ):flip_point、top_support_strike、top_resist_strike、total_gex
strikesストライク別のネット GEX。コールとプットを分け、満期をまたいで合計(Pro。Free では null)

hedge_flow は価格経路に沿った累積値です。2 つの水準の間の水準帯を読むには差を取ってください。複数の水準の値を合計してはいけません。

GET /v1/options/gex/heatmap​

パラメータデフォルト説明
resolution1d1d、6h または 1h(Pro):バケットごとに 1 つのスナップショット — その最初のもの(1d = 00:00 UTC のスナップショット)
from1d:全履歴、6h:直近 180 日間、1h:直近 30 日間ISO 形式の日付または日時(UTC)。ティアの期間制限より前 → 切り捨てられ、access.clipped = true
to現在ISO 形式の日付(その日を含む)または日時(その時刻を含まない)
price_min, price_maxすべての水準価格範囲を絞り込みます。USD(有限値、≥ 0、price_min < price_max)

from / to は、resolution の完全なバケットに合わせて外側に丸められます。

curl -H "Authorization: Bearer YOUR_API_KEY" \
"https://api.blocklens.co/v1/options/gex/heatmap?resolution=6h&from=2026-09-01"
{
"success": true,
"data": {
"resolution": "1d", "times": ["2026-10-22T00:00:01Z", "2026-10-23T00:00:02Z"], "step": 500.0,
"levels": [80000.0, 80500.0, 81000.0],
"matrix": [[-18200000, null, -5100000], [-21400000, -4900000, -6800000]],
"overlays": {"price": [80310.0, 80712.4], "zero_gamma": [null, 59300.0]},
"scale": {"p98": 310000000, "max": 612000000},
"access": {"tier": "pro", "grade": 1, "full_history": true, "history_from": null, "resolutions": ["1h", "6h", "1d"],
"profile_history": true, "strikes": true, "hourly": true, "required_grade": 1, "clipped": false}
}
}
  • matrix[t][l] — スナップショット times[t] における levels[l] のインパクト(USD の整数。> 0 増幅、< 0 抑制)。 そのスナップショット自身の ±30% の範囲外、またはそのグリッドの穴では null。
  • times は実際のスナップショット時刻(昇順)です。データの欠損期間の前後では間隔が不規則になります(空の行はありません)。
  • levels — 返されるすべてのスナップショットをカバーする、共通の $500 グリッド。
  • overlays.price — 各行の spot。overlays.zero_gamma — そのゼロガンマ水準(ない場合は null)。ゼロガンマ水準は levels の外側にあることがあるため、描画時にはラインをクリップしてください。
  • scale — |impact| の 98 パーセンタイルと最大値。カラースケールの上限は p98 にしてください。

制限とペイロードサイズ​

  • resolution=1h で 1 回のリクエストがカバーできるのは最大 90 日間 です(超えると 400 — より長い期間には 6h または 1d を使用してください)。
  • 1 回のヒートマップリクエストでカバーできるのは最大 2,000,000 セル(スナップショット数 × 水準数)です。これを超えるリクエストは 400 を返します — より粗い解像度、より短い期間、または price_min / price_max を使用してください。
  • 1 時間ごとの全履歴は、非圧縮 JSON で約 10 MB になります。レスポンスは転送時に gzip 圧縮されます。初回表示には 1d か 6h、または短い 1h のウィンドウを使用してください。
  • API キーごとのリクエスト制限:レート制限とプラン。

更新とキャッシュ​

  • 新しいスナップショットは当社側で 1 時間ごとに計算され、:20 UTC 頃に公開されます。それまでは前の時間のものが最新として返されます。
  • レスポンスはサーバー側でキャッシュされ、新しいデータが届くと更新されます。
  • 同じ URL でもティアによって異なるデータが返されるため、レスポンスには Cache-Control: private, max-age=600 と Vary: Authorization が付与されます — 共有キャッシュに保存されることはありません。

エラー​

エラーは {"success": false, "message": {…}, "timestamp": "…"} というエンベロープで返されます。表には message を示します。

ステータス発生条件message
400不正な日付または時刻、to_date が from_date より前、ts と date の両方を指定、不明な resolution、price_min / price_max が有限値でない・負の値・price_min >= price_max、水準と重ならない範囲、1h で 90 日を超える期間、2,000,000 セルを超えるヒートマップ{"error": "Invalid parameter", "message": "resolution must be one of 1h, 6h, 1d"}
401API キーがない、または無効
403Free:/profile の過去のスナップショット、/hourly、6h / 1h のヒートマップ{"error": "Insufficient tier", "message": "Profiles of past snapshots requires Pro", "required_grade": 1, "current_tier": "free", "current_grade": 0, "history_from": "2026-09-24", "upgrade_url": "https://blocklens.co/pricing"}
404要求された日または時刻のスナップショットがない、または要求された範囲にデータがない{"error": "Not found", "message": "no profile on 2026-06-20"}
429レート制限を超過レート制限とプラン を参照