关于 ib-option-chain
ib-option-chain 是一项通过 Interactive Brokers 获取股票、ETF 和期货期权链数据的技能。它依据 IB 合约详情识别资产类型,并提供指定到期日的看涨、看跌合约、希腊值及标的价格。
主要功能
- 01列出可用到期日
- 02获取指定到期日的看涨与看跌期权
- 03自动识别股票或期货
- 04返回希腊值及行情字段
- 05支持强制指定资产类型
适用场景
- 01查看某到期日的看涨与看跌期权
- 02分析期权成交量和隐含波动率
- 03获取期货标的的期货期权链
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ staskh/ trading_skills --skill ib-option-chain安装后在 Claude Code 中输入/ib-option-chain确认已加载。
附带文件scripts/options.py
详细介绍
IB 期权链
从 Interactive Brokers 获取指定到期日的期权链数据。
支持股票/ETF(Stock/OPT)和期货期权(FOP)。资产类型和交易所均根据 IB 合约详情解析(不使用硬编码的代码表):自动检测会先尝试 SMART 股票;若不存在股票,则回退到期货(因此,NQ、GC、RTY 会解析为期货,而 AAPL 会解析为股票,即使它也有鲜为人知的个股期货)。既是股票又是期货根代码的代码(例如,ES=Eversource、CL=Colgate)默认解析为股票——传入 --sec-type fut 可强制使用期货。
IB 连接
本地必须运行已启用 API 的 TWS 或 IB Gateway:
- 模拟交易——端口 7497
- 实盘交易——端口 7496
IB_PORT环境变量——未指定--port时使用的默认端口(例如,容器化的 Gateway 可设为IB_PORT=4001)。优先级:--port标志 >IB_PORT> 内置默认值。在 shell 或.env文件中设置。
**端口回退:**如果配置的端口连接失败,则自动尝试另一个端口。 如果重试成功,则将可用的账户类型(实盘/模拟)保存到记忆中,并在本次及后续会话中复用于所有 IB 技能调用,直到用户明确要求使用另一种账户。 如果两个端口均连接失败,请让用户确认 TWS 或 IB Gateway 正在运行且已启用 API 访问。
说明
首先,获取可用的到期日:
uv run python scripts/options.py SYMBOL --expiries
然后,获取指定到期日的期权链:
uv run python scripts/options.py SYMBOL --expiry YYYYMMDD
参数
SYMBOL- 代码。股票/ETF(例如,AAPL、SPY、TSLA)或期货根代码(例如,NQ、ES、CL、GC)——通过 IB 自动检测资产类型。--sec-type {stk,fut}- 强制指定资产类型。默认:自动检测(优先股票)。当你想查询期货时,可对 ES/CL 等有歧义的根代码使用fut。--expiries- 仅列出可用的到期日--expiry YYYYMMDD- 获取指定日期的期权链(IB 格式:YYYYMMDD,不带连字符)--port- IB 端口(默认:模拟交易使用 7497)
输出
返回包含以下内容的 JSON:
calls- 看涨期权数组,包含行权价、买价、卖价、最新价、成交量、未平仓合约数、隐含波动率、greeks(IB 模型的 delta/gamma/theta/vega/iv)和multiplier(仅期货)puts- 看跌期权数组,包含相同字段underlying_price- 当前标的价格,供参考(股票/ETF 价格或连续期货价格)asset_type- "stock" 或 "future"source- "ibkr"
期货仅返回到期时间不晚于近月连续期货到期日的合约;更远期的 FOP 需要下一季度的期货。期货在 Globex 上几乎全天候报价,因此希腊值在盘前也会填充。
以表格形式呈现数据。突出显示成交量较高的行权价和显著的 IV 水平。
依赖项
ib-async
时区
所有时间戳和基于时间的计算均必须使用 America/New_York 时区。所有 JSON 输出均必须包含 generated_at(纽约时间字符串)和 data_delay 字段。