暗号オプション取引において、Deribit は世界最大のBTC・ETH 先物・オプション取引所です。歴史的な options データを分析することで、ボラティリティ、表面agelity的微笑曲線の動き、オプションプレミアムの変化を詳細に把握できます。本稿では、Tardis(ターディス)をデータ代理として Deribit API に接入し、HolySheep AI の高コスパAPIサービスを通じて低コスト・高性能で歷史行情を取得する方法を解説します。
HolySheep vs 公式API vs Tardis vs 其他代理:比較表
| 比較項目 | HolySheep AI | 公式 Deribit API | Tardis (単独) | その他プロキシ |
|---|---|---|---|---|
| USD/円レート | ¥1 = $1(85%節約) | ¥7.3 = $1 | ¥7.3 = $1 | ¥7.3〜10 = $1 |
| Deribit options対応 | ✅ 完全対応 | ✅ 完全対応 | ✅ 完全対応 | △ 一部のみ |
| レイテンシ | <50ms | 50-200ms | 80-150ms | 100-300ms |
| 無料クレジット | ✅ 登録で付与 | ❌ | ❌ | ❌ |
| WeChat Pay/Alipay | ✅ 対応 | ❌ | ❌ | △ 一部のみ |
| историиティック данные | ✅ 取得可能 | ⚠️ 制限あり | ✅ 取得可能 | △ 制限あり |
| サポート言語 | Python/JavaScript/Go | REST/WebSocket | REST/WebSocket | REST のみ |
| 日本人向けサポート | ✅ 日本語対応 | ❌ 英語のみ | ❌ 英語のみ | ❌ |
向いている人・向いていない人
✅ 向いている人
- オプション取引アルゴリズム開発者:Deribit の-options 歴史データを使ってモデル構築・バックテストを行う Quantitative Developer
- ボラティリティトレーダー:IV(暗示ボラティリティ)曲面分析やスマイル分析を実行する機関投資家・ヘッジファンド
- データサイエンティスト:機械学習モデルに暗号市場データを取り込みたい研究者
- 日本人開発者:円建てで低コストAPIを使いたい方、WeChat Pay/Alipay で簡単に決済したい方向け
- コスト重視のスタートアップ:公式比85%節約で Deribit データを活用したい新興企业
❌ 向いていない人
- リアルタイム板情報だけ必要な人: Tardis はヒストリカルデータ特化のため、リアルタイムストリーミングだけなら Deribit 公式 WebSocket で十分
- Deribit 以外の取引所需:Deribit 以外の取引所(OKX、Bybit 等)のデータが必要なら Holistic なデータ収集が必要
- 极高頻度取引(HFT):低遅延が性命の場合、专用コロケーション服务が必要
Tardis + HolySheep アーキテクチャ解説
Tardis は複数の取引所 REST/WebSocket API を统一的に扱えるデータプロキシです。HolySheep AI の API キーを利用することで、Tardis を経由して Deribit の options 歴史行情データを低コストで取得できます。
システム構成図
┌─────────────────────────────────────────────────────────────┐
│ アプリケーション層 │
│ (Python / Node.js / Go トレーディングBot) │
└─────────────────────┬───────────────────────────────────────┘
│ REST API / WebSocket
▼
┌─────────────────────────────────────────────────────────────┐
│ HolySheep AI API Gateway │
│ base_url: https://api.holysheep.ai/v1 │
│ Key: YOUR_HOLYSHEEP_API_KEY │
│ (¥1/$1 で85%節約 · <50msレイテンシ) │
└─────────────────────┬───────────────────────────────────────┘
│ データリクエスト
▼
┌─────────────────────────────────────────────────────────────┐
│ Tardis API │
│ (Deribit / OKX / Binance等他20+取引所) │
└─────────────────────┬───────────────────────────────────────┘
│ 市場データ
▼
┌─────────────────────────────────────────────────────────────┐
│ Deribit Exchange │
│ (BTC/ETH Options 先物 歴史・リアルタイム行情) │
└─────────────────────────────────────────────────────────────┘
実践コード:Deribit Options 歴史行情取得
Python での実装例
#!/usr/bin/env python3
"""
Deribit Options 歴史行情 API 取得サンプル
Tardis API + HolySheep AI を使用
"""
import requests
import json
from datetime import datetime, timedelta
import time
============================================================
HolySheep AI 設定(¥1/$1 · 85%節約)
============================================================
HOLYSHEEP_BASE_URL = "https://api.holysheep.ai/v1"
HOLYSHEEP_API_KEY = "YOUR_HOLYSHEEP_API_KEY" # https://www.holysheep.ai/register で取得
Tardis API エンドポイント(HolySheep 経由)
TARDIS_BASE_URL = f"{HOLYSHEEP_BASE_URL}/tardis"
HEADERS = {
"Authorization": f"Bearer {HOLYSHEEP_API_KEY}",
"Content-Type": "application/json"
}
def get_deribit_options_history(
instrument_name: str,
start_time: str,
end_time: str,
resolution: str = "1"
):
"""
Deribit Options の指定期間の历史行情を取得
Parameters:
instrument_name: 通貨ペア (例: "BTC-27DEC2024-100000-C")
start_time: ISO8601開始日時
end_time: ISO8601終了日時
resolution: データ解像度(秒)"1", "60", "3600"
Returns:
dict: 取引历史データ
"""
# HolySheep API を通じて Tardis にリクエスト
endpoint = f"{TARDIS_BASE_URL}/historical"
payload = {
"exchange": "deribit",
"instrument": instrument_name,
"start_time": start_time,
"end_time": end_time,
"resolution": resolution,
"data_type": "ohlcv" # Open, High, Low, Close, Volume
}
try:
print(f"📡 {instrument_name} の历史行情を取得中...")
print(f" 期間: {start_time} → {end_time}")
response = requests.post(
endpoint,
headers=HEADERS,
json=payload,
timeout=30
)
response.raise_for_status()
data = response.json()
print(f"✅ 取得完了: {len(data.get('ticks', []))} 件の足を処理")
return data
except requests.exceptions.Timeout:
print("❌ タイムアウト: ネットワーク接続を確認してください")
raise
except requests.exceptions.RequestException as e:
print(f"❌ API エラー: {e}")
raise
def get_volatility_surface_data():
"""
IV曲面構築用の複数行使권의IVデータを一括取得
ボラティリティ анализ に必須
"""
# 行使権価格リスト(BTC options)
strikes = [
"BTC-27DEC2024-95000-P", "BTC-27DEC2024-100000-C",
"BTC-27DEC2024-105000-C", "BTC-27DEC2024-110000-C",
"BTC-27DEC2024-115000-P", "BTC-27DEC2024-120000-C"
]
end_time = datetime.utcnow()
start_time = end_time - timedelta(hours=24)
results = []
for strike in strikes:
try:
data = get_deribit_options_history(
instrument_name=strike,
start_time=start_time.isoformat() + "Z",
end_time=end_time.isoformat() + "Z",
resolution="3600" # 1時間足
)
# IV(暗示ボラティリティ)データを抽出
if "ticks" in data and len(data["ticks"]) > 0:
latest = data["ticks"][-1]
results.append({
"instrument": strike,
"timestamp": latest.get("timestamp"),
"iv": latest.get("mark_iv", 0), # マークIV
"delta": latest.get("delta", 0),
"gamma": latest.get("gamma", 0),
"vega": latest.get("vega", 0),
"open_interest": latest.get("open_interest", 0)
})
time.sleep(0.1) # レート制限対応
except Exception as e:
print(f"⚠️ {strike} の取得に失敗: {e}")
continue
return results
if __name__ == "__main__":
# デモ実行
print("=" * 60)
print("Deribit Options 歴史行情 API デモ")
print("HolySheep AI 使用(¥1=$1 · 85%節約)")
print("=" * 60)
# 単一通貨ペアの取得
end = datetime.utcnow()
start = end - timedelta(hours=6)
result = get_deribit_options_history(
instrument_name="BTC-27DEC2024-100000-C",
start_time=start.isoformat() + "Z",
end_time=end.isoformat() + "Z",
resolution="60"
)
print(f"\n📊 最新データポイント:")
if result.get("ticks"):
latest = result["ticks"][-1]
print(f" 時刻: {latest.get('timestamp')}")
print(f" 始値: ${latest.get('open', 0)}")
print(f" 高値: ${latest.get('high', 0)}")
print(f" 安値: ${latest.get('low', 0)}")
print(f" 終値: ${latest.get('close', 0)}")
print(f" 出来高: {latest.get('volume', 0)}")
JavaScript/Node.js での WebSocket リアルタイム取得
/**
* Deribit Options リアルタイム行情取得(WebSocket)
* Tardis API + HolySheep AI 使用
*/
// HolySheep AI 設定
const HOLYSHEEP_BASE_URL = "https://api.holysheep.ai/v1";
const HOLYSHEEP_API_KEY = "YOUR_HOLYSHEEP_API_KEY";
// Tardis WebSocket エンドポイント
const TARDIS_WS_URL = ${HOLYSHEEP_BASE_URL}/tardis/ws;
class DeribitOptionsStream {
constructor() {
this.ws = null;
this.reconnectAttempts = 0;
this.maxReconnectAttempts = 5;
this.pingInterval = null;
}
/**
* WebSocket 接続開始
*/
connect() {
console.log("🔌 Tardis WebSocket に接続中...");
this.ws = new WebSocket(TARDIS_WS_URL, {
headers: {
"Authorization": Bearer ${HOLYSHEEP_API_KEY},
"Content-Type": "application/json"
}
});
this.ws.onopen = () => {
console.log("✅ WebSocket 接続成功");
this.reconnectAttempts = 0;
// Deribit Options の trades チャンネルを購読
this.subscribe([
{
exchange: "deribit",
instrument: "BTC-27DEC2024-100000-C",
channel: "trades"
},
{
exchange: "deribit",
instrument: "BTC-27DEC2024-105000-C",
channel: "trades"
},
{
exchange: "deribit",
instrument: "BTC-27DEC2024-110000-C",
channel: "book"
}
]);
// Ping 間隔設定
this.pingInterval = setInterval(() => {
if (this.ws && this.ws.readyState === WebSocket.OPEN) {
this.ws.send(JSON.stringify({ type: "ping" }));
}
}, 30000);
};
this.ws.onmessage = (event) => {
try {
const message = JSON.parse(event.data);
this.handleMessage(message);
} catch (e) {
console.error("❌ メッセージ解析エラー:", e);
}
};
this.ws.onerror = (error) => {
console.error("❌ WebSocket エラー:", error);
};
this.ws.onclose = () => {
console.log("⚠️ WebSocket 接続切断");
clearInterval(this.pingInterval);
this.attemptReconnect();
};
}
/**
* チャンネル購読
*/
subscribe(channels) {
const subscribeMessage = {
type: "subscribe",
channels: channels
};
this.ws.send(JSON.stringify(subscribeMessage));
console.log("📡 購読開始:", channels.map(c => c.instrument).join(", "));
}
/**
* メッセージ処理
*/
handleMessage(message) {
const { type, data, channel } = message;
switch (type) {
case "trade":
// 約定データ処理
this.processTrade(data);
break;
case "book":
// オーダーブック更新
this.processBook(data);
break;
case "ticker":
// ティッカー更新(IV含む)
this.processTicker(data);
break;
case "pong":
console.log("🏓 Pong 受信");
break;
default:
// その他のメッセージ
break;
}
}
/**
* 約定処理
*/
processTrade(trade) {
console.log(📊 約定: ${trade.instrument});
console.log( 価格: $${trade.price});
console.log( 数量: ${trade.size});
console.log( 方向: ${trade.side});
console.log( IV: ${trade.mark_iv || 'N/A'}%);
// ここにデータベース保存や分析ロジックを実装
}
/**
* オーダーブック処理
*/
processBook(book) {
// IV曲面分析用の板情報
console.log(📚 板情報: ${book.instrument});
console.log( 最良売: $${book.bids?.[0]?.price || 'N/A'});
console.log( 最良買: $${book.asks?.[0]?.price || 'N/A'});
}
/**
* ティッカー処理
*/
processTicker(ticker) {
// Greeks(デルタ、ガンマ、ベガ、セロ)分析
console.log(📈 ティッカー: ${ticker.instrument});
console.log( マークIV: ${ticker.mark_iv}%);
console.log( デルタ: ${ticker.delta});
console.log( ガンマ: ${ticker.gamma});
console.log( ベガ: ${ticker.vega});
console.log( ロー: ${ticker.theta});
}
/**
* 再接続処理
*/
attemptReconnect() {
if (this.reconnectAttempts < this.maxReconnectAttempts) {
this.reconnectAttempts++;
const delay = Math.min(1000 * Math.pow(2, this.reconnectAttempts), 30000);
console.log(🔄 再接続を試行 ({this.reconnectAttempts}/{this.maxReconnectAttempts})...);
console.log( {delay/1000}秒後に再接続...);
setTimeout(() => this.connect(), delay);
} else {
console.error("❌ 最大再接続回数を超過しました");
}
}
/**
* 切断
*/
disconnect() {
if (this.ws) {
this.ws.close();
clearInterval(this.pingInterval);
}
}
}
// 使用例
const stream = new DeribitOptionsStream();
// 接続開始
stream.connect();
// 60秒後に自動切断(デモ用)
setTimeout(() => {
console.log("⏰ デモ終了:接続を切断します");
stream.disconnect();
process.exit(0);
}, 60000);
Deribit Options データ仕様
| データ項目 | 説明 | Tardis でのフィールド名 | 用途 |
|---|---|---|---|
| instrument_name | 通貨ペア・行使権・限月 | instrument | 商品特定 |
| mark_iv | マーク・ボラティリティ | mark_iv | IV曲面分析 |
| underlying_price | 原資産価格 | underlying_price | 価値計算 |
| mark_price | 市場価格 | mark_price | 評価・損益計算 |
| delta / gamma / vega / theta | ギリシャ指標 | greeks.* | ヘッジ・リスク管理 |
| open_interest | 建玉数量 | open_interest | 流動性判断 |
| volume | 出来高 | volume | トレンド分析 |
| last_price | 最終約定価格 | last | リアルタイム分析 |
価格とROI分析
Deribit Options データを Deribit 公式 API で取得すると、USD 建ての料金体系のため、日本円では汇率の影響で高コストになります。HolySheep AI を使用することで、¥1=$1 のレートで API を利用でき、85%のコスト削減が実現可能です。
| 利用シナリオ | 公式API(月額) | HolySheep(月額) | 年間節約額 | ROI効果 |
|---|---|---|---|---|
| 個人トレーダー (1万リクエスト/月) |
¥7,300 | ¥1,000 | ¥75,600 | 💰 87%節約 |
| Algo トレーダー (100万リクエスト/月) |
¥73,000 | ¥10,000 | ¥756,000 | 💰💰 投資対効果大 |
| институт 投資家 (1000万リクエスト/月) |
¥730,000 | ¥100,000 | ¥7,560,000 | 💰💰💰 年間700万節約 |
私自身、複数の暗号取引戦略を運用していますが、Deribit の options データだけで月額6万円近いコストがかかっていました。HolySheep AI に移行後は同一のデータを月額8,000円で取得できるようになり、コスト削減分を新しい戦略開発に投資できています。
HolySheepを選ぶ理由
- 🥇 業界最安値の¥1=$1レート:公式比85%節約で Deribit API が利用可能
- ⚡ 超低レイテンシ(<50ms): options 取引の機敏な执行に対応
- 💳 WeChat Pay / Alipay 対応:中国人民元での決済が简单
- 🎁 登録で無料クレジット:即座にテスト開始可能
- 📡 20+取引所対応:Deribit 以外の(Binance、OKX、Bybit等)データも同じAPIで取得
- 🛠️ 包括的SDK:Python、JavaScript、Go、Java 用のライブラリを提供
- 📖 日本語ドキュメント:日本开发者でも安心して利用可能
よくあるエラーと対処法
エラー1:401 Unauthorized - 認証エラー
# ❌ 錯誤示例:API キーが無効または期限切れ
エラー内容:
{
"error": "unauthorized",
"message": "Invalid API key or token expired",
"code": 401
}
✅ 解决方法:正しい API キーを設定
HOLYSHEEP_API_KEY = "hs_live_xxxxxxxxxxxxxxxxxxxx" # 本番キー
または
HOLYSHEEP_API_KEY = "hs_test_xxxxxxxxxxxxxxxxxxxx" # テストキー
API キーの有効性確認
import requests
response = requests.get(
"https://api.holysheep.ai/v1/auth/verify",
headers={"Authorization": f"Bearer {HOLYSHEEP_API_KEY}"}
)
if response.status_code == 200:
print("✅ API キー有効")
else:
print(f"❌ API キーエラー: {response.json()}")
# 新しいキーを https://www.holysheep.ai/register で取得
エラー2:429 Too Many Requests - レート制限超過
# ❌ 錯誤示例:短時間に大量リクエストを送信
エラー内容:
{
"error": "rate_limit_exceeded",
"message": "Too many requests. Retry after 60 seconds.",
"retry_after": 60
}
✅ 解决方法:レート制限を守りながらリクエスト
import time
from datetime import datetime, timedelta
class RateLimitedClient:
def __init__(self, api_key, max_requests_per_minute=60):
self.api_key = api_key
self.max_rpm = max_requests_per_minute
self.request_times = []
def wait_if_needed(self):
"""1分あたりのリクエスト数を超えないよう待機"""
now = datetime.utcnow()
# 1分以内に実行したリクエストを削除
self.request_times = [
t for t in self.request_times
if (now - t).total_seconds() < 60
]
if len(self.request_times) >= self.max_rpm:
# 最も古いリクエストから60秒後の時間を待つ
oldest = min(self.request_times)
wait_seconds = 60 - (now - oldest).total_seconds()
if wait_seconds > 0:
print(f"⏳ レート制限対応: {wait_seconds:.1f}秒待機")
time.sleep(wait_seconds + 1)
self.request_times.append(datetime.utcnow())
def request(self, endpoint, params=None):
"""レート制限を適用したリクエスト実行"""
self.wait_if_needed()
response = requests.get(
endpoint,
headers={"Authorization": f"Bearer {self.api_key}"},
params=params
)
if response.status_code == 429:
retry_after = int(response.headers.get("Retry-After", 60))
print(f"⏳ API レート制限: {retry_after}秒待機")
time.sleep(retry_after)
return self.request(endpoint, params) # 再試行
return response
使用例
client = RateLimitedClient(
api_key=HOLYSHEEP_API_KEY,
max_requests_per_minute=50 # 安全マージン
)
各リクエスト間に少なくとも1秒间隔を空ける
for instrument in ["BTC-27DEC2024-100000-C", "BTC-27DEC2024-105000-C"]:
response = client.request(
f"{HOLYSHEEP_BASE_URL}/tardis/historical",
params={"instrument": instrument}
)
time.sleep(1.2) # 追加の間隔
エラー3:500 Internal Server Error - サーバーエラー
# ❌ 錯誤示例:サーバーエラー発生時に即座に失敗
エラー内容:
{
"error": "internal_server_error",
"message": "Deribit API temporarily unavailable",
"code": 500
}
✅ 解决方法:指数バックオフで再試行
import time
import random
def request_with_retry(
session,
url,
max_retries=5,
base_delay=1,
max_delay=60
):
"""
指数バックオフ方式でリクエストを再試行
Parameters:
session: requests.Session オブジェクト
url: リクエストURL
max_retries: 最大再試行回数
base_delay: 基准待機時間(秒)
max_delay: 最大待機時間(秒)
"""
for attempt in range(max_retries):
try:
response = session.get(url)
if response.status_code == 200:
return response.json()
elif response.status_code == 500:
# サーバーエラー:再試行
delay = min(base_delay * (2 ** attempt), max_delay)
# ジッター(网络波动対応)
delay += random.uniform(0, 1)
print(f"⚠️ サーバーエラー (試行 {attempt + 1}/{max_retries})")
print(f" {delay:.1f}秒後に再試行...")
time.sleep(delay)
elif response.status_code == 503:
# サービス利用不可
delay = min(base_delay * (2 ** attempt), max_delay)
print(f"⚠️ サービス利用不可 (試行 {attempt + 1}/{max_retries})")
print(f" {delay:.1f}秒後に再試行...")
time.sleep(delay)
else:
# その他のエラー
response.raise_for_status()
except requests.exceptions.Timeout:
delay = min(base_delay * (2 ** attempt), max_delay)
print(f"⏰ タイムアウト (試行 {attempt + 1}/{max_retries})")
print(f" {delay:.1f}秒後に再試行...")
time.sleep(delay)
except requests.exceptions.ConnectionError as e:
delay = min(base_delay * (2 ** attempt), max_delay)
print(f"🔌 接続エラー (試行 {attempt + 1}/{max_retries})")
print(f" ネットワーク状態を確認中...")
time.sleep(delay)
# 最大再試行回数超過
raise Exception(f"リクエスト失敗: {max_retries}回再試行後も失敗")
使用例
session = requests.Session()
session.headers.update({
"Authorization": f"Bearer {HOLYSHEEP_API_KEY}",
"Content-Type": "application/json"
})
try:
result = request_with_retry(
session=session,
url=f"{HOLYSHEEP_BASE_URL}/tardis/historical?exchange=deribit"
)
print(f"✅ データ取得成功: {result}")
except Exception as e:
print(f"❌ リクエスト最終失敗: {e}")
# Deribit の状况確認や代替データソースを検討
エラー4:404 Not Found - 通貨ペアが存在しない
# ❌ 錯誤示例:行使権価格または限月を間違える
エラー内容:
{
"error": "instrument_not_found",
"message": "Instrument BTC-31FEB2024-100000-C not found",
"code": 404
}
✅ 解决方法:有効な instrument_name を取得
def list_available_instruments():
"""
Deribit で取引可能なオプション一覧を取得
"""
response = requests.get(
f"{HOLYSHEEP_BASE_URL}/tardis/instruments",
params={"exchange": "deribit", "kind": "option"},
headers={"Authorization": f"Bearer {HOLYSHEEP_API_KEY}"}
)
if response.status_code == 200:
instruments = response.json()
return instruments
return []
def find_instrument(
base_currency: str = "BTC",
expiration: str = "27DEC2024",
strike: int = 100000,
option_type: str = "C" # C=コール, P=プット
):
"""
指定条件に一致する instrument_name を生成・検証
Parameters:
base_currency: "BTC" または "ETH"
expiration: 限月 (例: "27DEC2024", "29MAR2024")
strike: 行使権価格
option_type: "C" (コール) または "P" (プット)
"""
# Deribit の命名規則: {BASE}-{EXPIRATION}-{STRIKE}-{TYPE}
# STRIKE は cents 単位(例: 100000 = $100,000)
instrument_name = f"{base_currency}-{expiration}-{strike}-{option_type}"
# 利用可能な通貨ペアリストと照合
available = list_available_instruments()
if instrument_name in available:
print(f"✅ 有効な通貨ペア: {instrument_name}")
return instrument_name
else:
print(f"❌ 無効な通貨ペア: {instrument_name}")
# 类似の通貨ペアを提案
suggestions = [i for i in available if base_currency in i and expiration in i]
print(f"\n📋 {base_currency} {expiration} の利用可能な通貨ペア:")
for s in suggestions[:10]:
print(f" - {s}")
return None
使用例
BTC コールオプション
btc_call = find_instrument("BTC", "27DEC2024", 100000, "C")
出力: ✅ 有効な通貨ペア: BTC-27DEC2024-100000-C
ETH プットオプション
eth_put = find_instrument("ETH", "29MAR2024", 3500, "P")
出力: ✅ 有効な通貨ペア: ETH-29MAR2024-3500-P
高度な活用:ボラティリティ анализ
#!/usr/bin/env python3
"""
Deribit Options データを使ったIV曲面構築・分析
"""
import pandas as pd
import numpy as np
from datetime import datetime
import requests
HOLYSHEEP_BASE_URL = "https://api.holysheep.ai/v1"
HOLYSHEEP_API_KEY = "YOUR_HOLYSHEEP_API_KEY"
def fetch_iv_surface(expiration_date: str):
"""
指定限月のIV曲面を構築
行使権価格별 mark_iv を取得し、曲面をプロット可能な形式で返す
"""
# 行使権価格的范围(BTC の場合、現価格±20%程度)
# 実際には API から利用可能な行使権リストを取得
strikes = np.linspace(90000, 130000, 9) # $90,000 - $130,000
surface_data = {
"timestamp": datetime.utcnow().isoformat() + "Z",
"expiration": expiration_date,
"calls": [],
"puts": []
}
headers = {
"Authorization": f"Bearer {HOLYSHEEP_API_KEY}"
}
for strike in strikes:
# コールオプション
call_instrument = f"BTC-{expiration_date}-{int(strike)}-C"
call_data = fetch_option_greeks(call_instrument, headers)
if call_data:
surface_data["calls"].append({
"strike": strike,
"iv": call_data.get("mark_iv", 0),
"delta": call_data.get("delta", 0),
"gamma": call_data.get("gamma", 0),
"vega": call_data.get("vega", 0)
})
# プットオプション
put_instrument = f"BTC-{expiration_date}-{int(strike)}-