mcpField
I
ib-account

ib-account

github.com/staskh其他39494 次安装1 天前更新
代码仓库

关于 ib-account

ib-account 是一项通过本地运行的 TWS 或 IB Gateway 获取 Interactive Brokers 账户摘要的技能。它可查询单个或所有受管理账户的余额、购买力等信息。

主要功能

  1. 01获取账户摘要
  2. 02按账户 ID 查询
  3. 03获取所有受管理账户
  4. 04失败时尝试另一个 IB 端口

适用场景

  1. 01查看净清算价值和现金余额
  2. 02检查多个受管理账户的购买力

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/staskh/trading_skills --skill ib-account

安装后在 Claude Code 中输入/ib-account确认已加载。

附带文件scripts/account.py

详细介绍

IB 账户

从 Interactive Brokers 获取账户摘要。

IB 连接

TWS 或 IB Gateway 必须在本地运行并启用 API:

  • 模拟交易 — 端口 7497
  • 实盘交易 — 端口 7496
  • IB_PORT 环境变量 — 未提供 --port 时使用的默认端口(例如,为 Gateway 容器设置 IB_PORT=4001)。优先级:--port 标志 > IB_PORT > 内置默认值。在 shell 或 .env 文件中设置。

端口回退: 如果配置的端口连接失败,则自动尝试另一个端口。 如果重试成功,将成功的账户类型(实盘/模拟)保存到记忆中,并在本次及之后的会话中用于所有 IB 技能调用,直到用户明确要求切换到另一种账户。 如果两个端口都连接失败,请让用户确认 TWS 或 IB Gateway 正在运行且已启用 API 访问权限。

说明

注意: 如果未安装 uv 或未找到 pyproject.toml,请将下方所有命令中的 uv run python 替换为 python。

uv run python scripts/account.py [--port PORT] [--account ACCOUNT_ID] [--all-accounts]

参数

  • --port - IB 端口(模拟交易的默认值为 7497)
  • --account - 要获取的特定账户 ID
  • --all-accounts - 获取所有受管理账户的摘要

默认行为(不带标志):仅获取第一个受管理账户。 始终使用 --all-accounts,除非用户要求查询特定账户。

输出

返回包含以下内容的 JSON:

  • connected - 连接是否成功
  • accounts - 账户摘要列表,每项包含账户 ID、净清算价值、现金、购买力等

如果未连接,请说明需要运行 TWS/Gateway。

依赖项

  • ib-async

时区

所有时间戳和基于时间的计算都必须使用 America/New_York 时区。所有 JSON 输出都必须包含 generated_at(纽约时间字符串)和 data_delay 字段。

评论

支持 Markdown