关于 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 期权的统一入口。支持 五种操作类型:下单(市价/限价)、下单(标记 IV)、平仓/减仓、撤销未成交订单、修改未成交订单。用户意图会被路由至匹配的工作流。
覆盖的情形(5 种)
| 情形 | 描述 | 触发示例(EN) | 输出示例(EN) |
|---|---|---|---|
| 情形 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." |
| 情形 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" | 与情形 1 相同,但价格根据标记 IV 或 IV 转价格后端计算得出。 |
| 情形 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}." |
| 情形 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." |
| 情形 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 |
| 撤销订单 | 撤销一个或所有未成交期权订单 | cancel order、revoke、cancel all、one-click cancel |
| 修改订单 | 修改未成交订单的价格或数量 | amend、modify price、change size |
路由规则
| 意图 | 示例短语 | 路由至 |
|---|---|---|
| 下单(市价/限价) | “市价买入 1 张 BTC 看涨期权,行权价为当前价格,一周后到期” / “以 70k 行权价卖出价值 1000U 的 BTC 周度看涨期权” / “以市价开仓做多 1 张 SOL 周度期权” / “使用账户一半资金买入 3 天后到期的 BTC 看涨期权” | 阅读 references/place-order.md |
| 下单(标记 IV) | “标记 IV 下单:买入 1 张一周后到期的 BTC 看涨期权” / “以 70k 行权价、标记 IV 卖出价值 1000U 的 BTC 周度看涨期权” / “开仓做多 1 张 SOL 周度期权,标记 IV” | 阅读 references/place-order.md |
| 平仓/减仓 | “市价平掉我的 BTC 看涨期权,MM/DD 到期,行权价 XXXX” / “以市价平掉一半 ETH 看跌期权” / “BTC 看涨期权多头价格达到 60000 时全部平仓” / “市价平掉所有盈利的期权仓位” | 阅读 references/close-position.md |
| 撤销订单 | “撤销 70k 行权价、MM/DD 到期的 BTC 看涨期权订单” / “撤销所有 SOL 看涨期权买单” / “撤销所有未结订单” | 阅读 references/cancel-order.md |
| 修改订单 | “将 70k 行权价、MM/DD 到期的 BTC 看涨期权订单价格改为 XXXX” / “将行权价为 70、MM/DD 到期的 SOL 看跌期权订单规模减半” | 阅读 references/amend-order.md |
| 不明确 | “帮我处理期权”/“显示我的期权仓位” | 澄清:查询仓位/订单,然后引导用户 |
工具映射
所有期权工具均使用 cex_options_ 前缀。参见 gate-mcp 工具。
| 分组 | 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-cli config init——例如主机上已设置GATE_API_KEY和GATE_API_SECRET,或在支持的情况下使用--api-key/--api-secret;切勿要求用户在聊天中粘贴密钥。 - **权限:**期权:写入(以及按报价/仓位查询需要的读取权限);在满足此技能要求的前提下使用最低权限。
- **门户:**在聊天之外创建或轮换密钥: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. 意图和参数
- 确定模块(下单 / 平仓 / 取消 / 修改)。
- 提取:标的、到期日、行权价、看涨 / 看跌 → 解析为准确的合约名称。合约格式为
{underlying}-{expiration}-{strike}-{C|P}(例如BTC_USDT-20210916-50000-C)。使用list_options_contracts或get_options_contract。 - 缺少参数:如果缺少必需参数(例如行权价或到期日),询问用户(澄清模式)。
2. 单位换算(仅下单时)
当用户未以合约为单位指定数量时,下单前将数量换算为合约数。
| 用户表述 | 意图 | 如何计算数量(合约数) |
|---|---|---|
| 合约数 | 明确指定合约数量 | “1 张合约”、“买入 3 张合约” → 数量 = 1、3 |
| 标的名义金额 | 以标的资产计价的名义金额 | “0.1 BTC 看涨期权”、“1 BTC 看跌期权” → 合约数 = base_amount / multiplier(来自 get_options_contract) |
| 计价币(USDT) | USDT 计价的权利金 / 成本 | “1000U”、“花费 500 USDT”、“账户的一半” → 合约数 = usdt_amount / price_per_contract(来自订单簿 / 行情数据) |
- 标的名义金额 → 合约数:
contracts = base_amount / multiplier。Multiplier = 单张合约以标的资产单位计价的面值(来自get_options_contract)。 - 计价币(USDT)→ 合约数:
contracts = usdt_amount / price_per_contract。对于“账户的一半”,使用list_options_account,然后取可用余额的一半。 - 默认规则:用户说“X BTC”或“X ETH”但未提及“合约”时,视为标的名义金额并进行换算。明确表示合约数量时,使用“X 张合约”。
- 精度:向下取整至整数;结果必须满足
get_options_contract中的order_size_min。如果结果小于order_size_min,告知用户。
3. 下单前检查
- 合约:调用
get_options_contract(或通过list_options_contracts解析),确保合约存在。 - 账户:买入时检查余额(使用计价币计量的数量还需从订单簿 / 行情数据中检查 price_per_contract)。
- 平仓 / 减仓:确认持仓存在且平仓数量不超过持仓数量。全部平仓:
close: true、size: 0;部分平仓:使用reduce_only: true和数量(多仓为负,空仓为正)。 - 消除歧义:如果“一个星期”或“3 天”对应多个到期日,选择最近的到期日,或列出选项并询问用户。如果用户说“行权价为当前价格”,使用标的指数价格并选择最近的行权价。
4. 确认
- 下单:显示最终订单摘要(合约、方向、合约数、价格或市价、行权价、到期日、看涨 / 看跌)。如果数量经过换算,可选择显示对应的标的名义金额或 USDT 金额。“回复‘confirm’以提交订单。” 只有用户确认后,才调用
create_options_order。 - 平仓 / 取消 / 修改:显示操作范围,并在执行前请求确认。
5. 调用工具并输出
- 按参考文档指定的顺序调用工具。
- 使用对应场景的响应模板输出。
报告模板
每次操作后,输出简短、标准化的结果(参见下方响应模板)。
响应模板
使用下方英文模板输出标准化结果。
下单(案例 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.
如果数量由标的名义金额或 USDT 换算而来,可选择添加示例文本,例如“(相当于 1 BTC 名义金额)”或“(相当于 xxx USDT)”。
平仓 / 减仓(案例 3)
Close order submitted! As requested, you have closed {size} of your {long/short} position on {underlying} at {market/limit price}.
取消订单(案例 4)
工具:
- 取消所有未完成的期权订单(单击操作 / 所有标的):
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.
修改订单(案例 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取整。