返回 Skill 列表
extension
分类: 开发与工程无需 API Key

ibkr-gateway-python

在使用mm-ibkr-gateway并通过ibkr_core直接在Python中访问市场数据、账户摘要、持仓、盈亏或订单时,请遵循此规则。涵盖了与IBKRClient连接、使用市场/账户/订单辅助工具以及预览、下单、取消和状态的安全规则。

person作者: jakexiaohubgithub

IBKR Gateway Python

Overview

Use ibkr_core modules in Python scripts or notebooks to fetch market data, read account data, and manage orders with safety rails.

Workflow

  1. Confirm safety mode and connectivity.

    • Ensure IBKR Gateway or TWS is running on the configured host/port.
    • Keep TRADING_MODE=paper and ORDERS_ENABLED=false unless explicitly asked to enable live trading.
    • For offline testing, set IBKR_MODE=simulation and use get_ibkr_client from ibkr_core.simulation.
  2. Create and connect a client.

    • Use IBKRClient(mode="paper") or get_ibkr_client() (respects IBKR_MODE).
    • Call client.connect() and client.disconnect().
  3. Use market data, account, and order helpers.

    • Market data: get_quote, get_quotes, get_historical_bars, get_streaming_quote, get_quote_with_mode
    • Account: get_account_summary, get_positions, get_pnl, get_account_status, list_managed_accounts
    • Orders: preview_order, place_order, get_order_status, cancel_order, get_open_orders, cancel_order_set
    • Pass account_id when targeting a specific account; omit to use the first managed account.
  4. Prefer preview-first order flow.

    • Call preview_order before place_order.
    • If ORDERS_ENABLED=false, place_order returns SIMULATED.

References

  • references/python-usage.md for import lists and code examples.
  • ibkr_core/models.py and docs/SCHEMAS.md for field names and order types.
  • notebooks/02_market_data.ipynb, notebooks/03_account_status.ipynb, and notebooks/04_orders.ipynb for end-to-end workflows.