Back to Nautilus Trader

nautilus-interactive-brokers

crates/adapters/interactive_brokers/README.md

1.231.04.7 KB
Original Source

nautilus-interactive-brokers

NautilusTrader adapter for Interactive Brokers.

The nautilus-interactive-brokers crate wraps the ibapi client and connects it to NautilusTrader's live data, execution, historical data, and instrument loading infrastructure. Optional PyO3 bindings expose the same implementation through nautilus_trader.

NautilusTrader

NautilusTrader is an open‑source, production‑grade, Rust‑native engine for multi‑asset, multi‑venue trading systems.

The system spans research, deterministic simulation, and live execution within a single event‑driven architecture, providing research‑to‑live semantic parity.

What this crate provides

  • data: InteractiveBrokersDataClient for market data subscriptions and live streaming.
  • execution: InteractiveBrokersExecutionClient for order submission, account synchronization, and execution updates.
  • historical: HistoricalInteractiveBrokersClient for historical data requests.
  • providers: InteractiveBrokersInstrumentProvider for contract lookup, instrument normalization, and symbology conversion.
  • gateway: DockerizedIBGateway for managing a Dockerized IB Gateway when the gateway feature is enabled.
  • python: PyO3 bindings exposed as nautilus_pyo3.interactive_brokers when the python feature is enabled.

Feature flags

This crate provides feature flags to control source code inclusion during compilation:

  • python: Enables PyO3 bindings for configs, enums, the historical client, and the instrument provider.
  • gateway: Enables Dockerized IB Gateway support via bollard, including PyO3 bindings when combined with python.
  • extension-module: Builds the crate as a Python extension module. This is the feature used by the nautilus_trader package and includes python and gateway.

Default ports

Use 127.0.0.1 unless you are connecting to a remote host.

EndpointTrading modeDefault port
IB GatewayPaper4002
IB GatewayLive4001
TWSPaper7497
TWSLive7496
Dockerized IB GatewayPaper4002
Dockerized IB GatewayLive4001

This crate defaults to 4002, which matches paper‑trading IB Gateway and the default Dockerized IB Gateway paper setup. If you are connecting to TWS or to a live Gateway session, set the port explicitly in your config.

Market data timestamps

Configure TWS or IB Gateway to return market data timestamps in UTC before connecting NautilusTrader. The adapter does not convert these timestamps automatically at runtime.

Documentation

License

The source code for NautilusTrader is available on GitHub under the GNU Lesser General Public License v3.0.


NautilusTrader™ is developed and maintained by Nautech Systems, a technology company specializing in the development of high‑performance trading systems. For more information, visit https://nautilustrader.io.

Use of this software is subject to the Disclaimer.

© 2015-2026 Nautech Systems Pty Ltd. All rights reserved.