gate-exchange-options について
gate-exchange-options は、Gate のオプション取引を行うスキルです。注文、ポジションの決済・縮小、注文取消、注文変更に対応します。gate-cli でコントラクト、市場、口座情報を照会し、注文を変更する前に確認を求めます。
主な機能
- 01成行、指値、Mark IV 注文
- 02ポジションの決済または縮小
- 03単一または全注文の取消
- 04注文価格または数量の変更
- 05コントラクト、市場、口座、取引の照会
活用シーン
- 01指定した資産、行使価格、満期での注文
- 02オプションポジションの一部または全部の決済
- 03不要な未約定注文の取消
- 04未約定注文の価格または数量の調整
MCP 対応
gate-cli を通じて Gate のオプション機能を利用します。コントラクトや市場の照会、口座・ポジションの読み取り、注文の作成・取消・変更に対応します。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ gate/ gate-skills --skill gate-exchange-optionsインストール後、Claude Code で/gate-exchange-optionsを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
CHANGELOG.mdREADME.mdsetup.shreferences/amend-order.mdcancel-order.mdclose-position.mdplace-order.mdscenarios.md詳細
gate-cli の解決(バイナリのパス)
gate-cli は次の順に解決します。(1) command -v gate-cli を実行し、gate-cli --version が成功すること。(2) 実行可能な場合は ${HOME}/.local/bin/gate-cli。(3) 実行可能な場合は ${HOME}/.openclaw/skills/bin/gate-cli。正式なルールは exchange-runtime-rules.md §4(または gate-runtime-rules.md §4)を参照してください。
まず exchange-runtime-rules.md を読み、従ってください。
Gate オプション取引
このスキルは Gate オプション取引の唯一のエントリーポイントです。次の5 種類の操作に対応しています。注文発注(成行/指値)、注文発注(マーク IV)、ポジションの決済/縮小、未約定注文のキャンセル、未約定注文の変更。ユーザーの意図に応じて、対応するワークフローに振り分けます。
ケース一覧(5 ケース)
| ケース | 説明 | トリガーの例(EN) | 出力例(EN) |
|---|---|---|---|
| Case 1 | 成行/指値注文の発注 | "Market buy 1 BTC call, strike at current price, expire in one week" / "Sell 1000U weekly BTC call at 70k strike" / "Open long 1 SOL weekly option at market" / "Use half of account to buy BTC call expiring in 3 days" | "Order submitted! You have placed a {buy/sell} order on {underlying} at {market/limit price}, strike {xxx}, expiration {xxx}, option type {call/put}, size {xxx} contracts." |
| Case 2 | マーク IV による注文発注 | "Mark IV order: buy 1 BTC call, one week expiry" / "Sell 1000U weekly BTC call at 70k strike, mark IV" / "Open long 1 SOL weekly option, mark IV" | Case 1 と同じですが、価格はマーク IV または IV から価格を算出するバックエンドに基づきます。 |
| Case 3 | 成行/指値でのポジション決済または縮小 | "Market close my BTC call, expiry 03/18, strike 70000" / "Close half of my ETH put at market" / "Close all profitable option positions" / "Market close all options with loss over 50%" | "Close order submitted! As requested, you have closed {size} of your {long/short} position on {underlying} at {market/limit price}." |
| Case 4 | 未約定注文のキャンセル | "Cancel the BTC call order at 70k strike, expiry 03/18" / "Cancel all SOL call buy orders" / "Cancel all open orders" / "One-click cancel" | "Cancel successful! Your {specified/all} open order(s) have been cancelled. A total of {N} order(s) were cancelled, releasing {xxx} USDT margin." |
| Case 5 | 未約定注文の変更 | "Change my BTC call order at 70k strike, expiry 03/18, price to 0.05" / "Halve the size of my SOL put at strike 70, expiry 03/20" | "Amend confirmed! Your open order on {underlying} has been updated: price is now {new price}, size is now {new size}. Waiting for fill." |
モジュールの概要
| モジュール | 説明 | トリガーキーワード |
|---|---|---|
| 注文発注(成行/指値) | 成行価格または指値価格でオプションを売買します | market buy, limit sell, open long, buy call, sell put, spend X on option |
| 注文発注(マーク IV) | インプライド・ボラティリティ(マーク IV)に基づいて注文を発注します | mark IV, IV order |
| ポジションの決済/縮小 | 成行/指値でポジションを決済、または一部決済します | close position, flat, reduce half, close all profitable, close losing |
| 注文のキャンセル | オプションの未約定注文を 1 件またはすべてキャンセルします | cancel order, revoke, cancel all, one-click cancel |
| 注文の変更 | 未約定注文の価格または数量を変更します | amend, modify price, change size |
ルーティングルール
| インテント | フレーズの例 | 参照先 |
|---|---|---|
| 注文(成行/指値) | 「BTC コールを1枚、現在価格を権利行使価格として、1週間後に満期となる成行買い」/「権利行使価格7万の週次BTCコールを1000U分売る」/「SOLの週次オプションを1枚、成行でロングする」/「口座の半分を使って、3日後に満期となるBTCコールを買う」 | references/place-order.md を読む |
| 注文(マークIV) | 「マークIV注文:1週間後に満期となるBTCコールを1枚買う」/「権利行使価格7万の週次BTCコールを1000U分、マークIVで売る」/「SOLの週次オプションを1枚、マークIVでロングする」 | references/place-order.md を読む |
| ポジションを決済/縮小 | 「満期日MM/DD、権利行使価格XXXXのBTCコールを成行で決済する」/「ETHプットの半分を成行で決済する」/「価格が60000に達したら、BTCコールのロングをすべて決済する」/「利益が出ているオプションポジションをすべて成行で決済する」 | references/close-position.md を読む |
| 注文をキャンセル | 「満期日MM/DD、権利行使価格7万のBTCコール注文をキャンセルする」/「SOLコールの買い注文をすべてキャンセルする」/「未約定注文をすべてキャンセルする」 | references/cancel-order.md を読む |
| 注文を変更 | 「満期日MM/DD、権利行使価格7万のBTCコール注文の価格をXXXXに変更する」/「満期日MM/DD、権利行使価格70のSOLプットの数量を半分にする」 | references/amend-order.md を読む |
| 不明確 | 「オプションについて教えて」「自分のオプションポジションを見せて」 | 確認する:ポジション/注文を照会してから、ユーザーを案内します |
ツールの対応関係
すべてのオプションツールには cex_options_ プレフィックスが付いています。gate-mcp tools を参照してください。
| グループ | MCP ツール |
|---|---|
| 原資産とコントラクト | gate-cli cex options market underlyings、gate-cli cex options market expirations、gate-cli cex options market contracts、gate-cli cex options market contract |
| 市場データ | gate-cli cex options market order-book、gate-cli cex options market tickers |
| アカウントとポジション | gate-cli cex options account get、gate-cli cex options position list |
| 注文 | gate-cli cex options order list、gate-cli cex options order create、gate-cli cex options order cancel、gate-cli cex options order cancel-all |
| 変更 | gate-cli cex options order amend |
| 取引 | gate-cli cex options position my-trades |
認証
- 対話形式でのファイル設定: ホスト上で
GATE_API_KEYとGATE_API_SECRETの両方が設定されていない場合は、gate-cli config initを実行して、API キー、シークレット、プロファイル、デフォルト設定のウィザードを完了してください(gate-cli を参照)。 - 環境変数/フラグ: 認証情報がすでに提供されている場合(例:ホスト上で
GATE_API_KEYとGATE_API_SECRETの両方が設定されている場合、またはサポートされている箇所で--api-key/--api-secretを使用する場合)、gate-cli config initは不要です。シークレットをチャットに貼り付けるようユーザーに求めないでください。 - 権限: オプション:Write(および見積もり/ポジションの確認に必要な読み取り権限)。このスキルに必要な範囲で最小限の権限を使用してください。
- ポータル: チャット外でキーを作成またはローテーションしてください:https://www.gate.com/myaccount/profile/api-key/manage
インストールの確認
- 必須:
gate-cli(gate-cli releases から、または環境に応じた Gate MCP/スキルインストーラーを使ってインストールしてください)。 - 名前で呼び出す場合は、
gate-cliを含むディレクトリをPATHに追加してください。 - 認証情報: ホストに
GATE_API_KEYとGATE_API_SECRETの両方が(空でない値で)設定されている場合、gate-cli config initを要求しないでください。両方が未設定または空の場合は、オペレーターにgate-cli config initを実行するか、スキルライブラリ内の該当するスキルでGATE_API_KEY/GATE_API_SECRETを設定するよう伝えてください(シークレットをチャットに貼り付けるようユーザーに求めないでください)。 - 動作確認: CLI が想定どおりに動作することを確認するまで、認証が必要な呼び出しや変更を伴う呼び出しを行わないでください(例:
gate-cli cex options market tickersまたはgate-cli --version)。注文を行う前に、認証情報が正しく取得できることを確認してください。
実行ワークフロー
1. 意図とパラメーター
- モジュール(Place / Close / Cancel / Amend)を判定します。
- underlying、expiration、strike、call/put を抽出し、正確な contract 名に解決します。contract の形式は
{underlying}-{expiration}-{strike}-{C|P}です(例:BTC_USDT-20210916-50000-C)。list_options_contractsまたはget_options_contractを使用します。 - 不足している場合:必須パラメーター(strike や expiration など)が不足していれば、ユーザーに確認します(clarify mode)。
2. 単位の換算(注文を発注する場合のみ)
ユーザーが数量を contracts で指定していない場合は、注文を発注する前に contracts に換算します。
| ユーザーの表現 | 意図 | 数量(contracts)の算出方法 |
|---|---|---|
| Contracts | contract 数を明示 | "1 contract", "buy 3 contracts" → size = 1, 3 |
| Base notional | underlying での想定元本 | "0.1 BTC call", "1 BTC put" → contracts = base_amount / multiplier(get_options_contract から取得) |
| Quote (USDT) | USDT でのプレミアム/コスト | "1000U", "spend 500 USDT", "half of account" → contracts = usdt_amount / price_per_contract(注文板/ticker から取得) |
- Base notional → contracts:
contracts = base_amount / multiplier。multiplier は、underlying 単位で表した 1 contract の額面価格です(get_options_contractから取得)。 - Quote (USDT) → contracts:
contracts = usdt_amount / price_per_contract。「half of account」の場合は、list_options_accountを使用し、利用可能残高の半分を使います。 - デフォルト:ユーザーが「X BTC」または「X ETH」と言い、「contract(s)」を付けていない場合は、base notional として扱い、換算します。contract 数を指定する場合は、「X contracts」のように明示します。
- 精度:整数に切り捨てます。また、
get_options_contractのorder_size_minを満たす必要があります。結果がorder_size_min未満の場合は、ユーザーに伝えます。
3. 事前確認
- Contract:
get_options_contractを呼び出すか、list_options_contractsで解決し、contract が存在することを確認します。 - Account:買い注文の場合は残高を確認します(Quote ベースの数量の場合は、注文板/ticker から
price_per_contractも確認します)。 - Close/reduce:ポジションが存在すること、および決済数量がポジションを超えないことを確認します。全決済の場合は
close: true、size: 0を指定します。一部決済の場合はreduce_only: trueと数量を指定します(ロングは負の値、ショートは正の値)。 - 曖昧さの解消:「one week」または「3 days」が複数の expiration に該当する場合は、最も近いものを選ぶか、候補を提示して確認します。「strike at current price」の場合は、underlying の index price を使い、最も近い strike を選びます。
4. 確認
- 注文の発注:最終的な注文内容(contract、side、contracts 単位の size、price または market、strike、expiration、call/put)を提示します。size を換算した場合は、相当する base notional または USDT を任意で表示できます。"Reply 'confirm' to place the order." ユーザーの確認後に限り、
create_options_orderを呼び出します。 - Close / cancel / amend:対象範囲を提示し、実行前に確認を求めます。
5. ツールの呼び出しと出力
- リファレンスで指定された順序でツールを呼び出します。
- 該当するケースのレスポンステンプレートを使用して出力します。
レポートテンプレート
各操作の後、標準化された短い結果を出力します(下記のレスポンステンプレートを参照)。
レスポンステンプレート
標準化された出力には、以下の英語のテンプレートを使用します。
注文の発注(Case 1 & 2)
Order submitted! You have placed a {buy/sell} order on {underlying} at {market/limit price / mark IV}, strike {xxx}, expiration {xxx}, option type {call/put}, size {xxx} contracts.
数量を base notional または USDT から換算した場合は、任意で例のように追加します:" (equiv. 1 BTC notional)" または " (equiv. xxx USDT)"。
ポジションの決済/縮小(Case 3)
Close order submitted! As requested, you have closed {size} of your {long/short} position on {underlying} at {market/limit price}.
注文のキャンセル(Case 4)
ツール:
- すべての未約定オプション注文をキャンセル(ワンクリック/すべての underlying):パラメーターなしで
gate-cli cex options order cancel-allを実行します。 - 単一注文をキャンセル:
gate-cli cex options order cancel。 - 未約定注文一覧(order_id の特定/対象範囲の確認):
gate-cli cex options order list。
Cancel successful! Your {specified/all} open order(s) have been cancelled. A total of {N} order(s) were cancelled, releasing {xxx} USDT margin.
注文の修正(Case 5)
Amend confirmed! Your open order on {underlying} has been updated: price is now {new price}, size is now {new size}. Waiting for fill.
安全ルール
確認
- 注文の発注:最終注文の概要(コントラクト、売買方向、契約数、価格/成行、権利行使価格、満期日、コール/プット)を提示し、
create_options_orderの前に確認を求めます。例:「注文を発注するには、『confirm』と返信してください。」 - 決済/キャンセル/変更(単一注文のキャンセルを含む):対象範囲(該当する場合はコントラクト/order_id、売買方向、数量/価格)を正確に提示し、注文の作成/変更/キャンセルを行う前に確認を求めます。
エラー
| コード/状況 | 対応 |
|---|---|
| 残高不足 | 入金するか、数量を減らすよう提案します。 |
数量が order_size_min 未満 | ユーザーに伝え、注文を送信しません。 |
| コントラクトが見つからない | 原資産、満期日、権利行使価格、コール/プットを確認し、コントラクトの一覧表示を提案します。 |
| 注文が見つからない | 注文が約定済み、キャンセル済み、または ID が誤っている可能性があります。注文履歴の確認を提案します。 |
その他
- 作成/キャンセル/変更の前に、原資産、満期日、権利行使価格、コール/プットを単一のコントラクトに特定します。
- IV 指値注文:利用可能な場合は、バックエンドの IV から価格への変換を使用します。それ以外の場合は、ユーザーに確認します。
- 精度:
get_options_contractのorder_size_minとorder_price_roundに従います。価格はorder_price_roundに丸めます。