跳转到内容

理解 Interactive Brokers 术语

Client Portal API 认证文档中会出现一些容易混淆的术语。先把这些词分清,排查时会简单很多。

术语中文理解
Client PortalIBKR 网页端客户门户,用于账户管理、报表、资金、交易等功能。
Client Portal API通过 HTTP / WebSocket 访问 Client Portal 相关功能的 API。
Client Portal Gateway本地 Java 网关,个人账户常用它完成浏览器登录和 API 代理。
Gateway sessionGateway 登录会话。
SSO session单点登录会话,用来证明用户已经完成 Web 登录。
Portal session外层 Client Portal 会话,不一定具备交易功能。
Brokerage session交易会话,可访问交易、行情和 /iserver 资源。
/iserver交易、行情、订单、合约等 brokerage 功能的 endpoint 前缀。
/portfolio组合、账户相关 endpoint 前缀,部分资源不一定要求 brokerage session。
Paper usernamePaper Trading 专用用户名,不是 Live 用户名加一个开关。
Competing session同一用户名在另一个平台或连接中占用 brokerage session。
容易误解正确理解
登录 Gateway 就等于可以下单还要确认 brokerage session authenticated=true
账户 ID 等于用户名账户是资金池,用户名是登录凭证。一个用户名可能能访问多个账户。
Paper 和 Live 靠页面滑块切换Gateway 登录要使用 Paper Trading 专用用户名。
HTTP 200 就代表交易成功还要看 JSON 业务字段、订单状态、警告和错误码。
/tickle 能永久登录/tickle 只能保活,不能绕过每日重新认证和 2FA。
Client Portal APITWS API 中类似概念
Gateway sessionTWS / IB Gateway 已登录运行状态
Brokerage sessionTWS / IB Gateway 与 IBKR 后端交易连接
/iserver/auth/statusTWS API 中没有完全对应 endpoint,通常靠连接状态和错误码判断
competing=true多平台登录导致交易会话竞争
Paper usernameTWS 登录时选择的模拟账户身份

代码里建议把变量名写清楚:

推荐命名含义
base_urlGateway 地址,例如 https://localhost:5000/v1/api 或对应文档要求的 base URL。
portal_session_ok外层 Web session 是否有效。
brokerage_authenticatedbrokerage session 是否已认证。
competing_session是否检测到竞争交易会话。
paper_usernamePaper Trading 专用用户名。

这样可以避免把“登录成功”“连接成功”“交易会话认证成功”混成一个布尔值。