Interactive Brokers

Integration adapter for Interactive Brokers.

class ContainerStatus

Bases: object

Container status enumeration.

CONTAINER_CREATED = ContainerStatus.CONTAINER_CREATED
CONTAINER_STARTING = ContainerStatus.CONTAINER_STARTING
CONTAINER_STOPPED = ContainerStatus.CONTAINER_STOPPED
NOT_LOGGED_IN = ContainerStatus.NOT_LOGGED_IN
NO_CONTAINER = ContainerStatus.NO_CONTAINER
READY = ContainerStatus.READY
UNKNOWN = ContainerStatus.UNKNOWN
class DockerizedIBGateway

Bases: object

Dockerized IB Gateway manager.

This struct manages the lifecycle of Interactive Brokers Gateway Docker containers, including creation, starting, stopping, and status checking.

container_name

Get the container name.

container_status()

Get container status.

host

Get the host address.

port

Get the port.

safe_start(wait)

Safely start the gateway.

safe_start_blocking(wait)
start(wait)

Start the gateway.

start_blocking(wait)
stop()

Stop the gateway.

stop_blocking()
class DockerizedIBGatewayConfig

Bases: object

Configuration for Dockerized IB Gateway.

This configuration is for managing containerized IB Gateway instances. It supports environment variable loading and sensitive data masking.

container_image

Returns the container image.

has_password
read_only_api

Returns whether read-only API is enabled.

timeout

Returns the timeout in seconds.

trading_mode

Returns the trading mode.

username

Returns the username.

vnc_port

Returns the VNC port.

class HistoricalInteractiveBrokersClient

Bases: object

Historical data client for Interactive Brokers.

This client provides methods for requesting historical bars and ticks for backtesting and research purposes.

request_bars(bar_specifications, end_date_time, start_date_time=None, duration=None, contracts=None, instrument_ids=None, use_rth=True, timeout=60)

Request historical bars.

# Continuous futures

Continuous futures (CONTFUT) reject an explicit end date/time with IB error 10339. For these contracts the end date is dropped and only the first duration segment is requested, anchored to the current time, so the returned bars may fall outside [start_date_time, end_date_time]. A warning is logged when the requested end date/time is in the past or the range spans more than one duration segment.

request_instruments(instrument_ids=None, contracts=None)

Request instruments.

request_ticks(tick_type, start_date_time, end_date_time, contracts=None, instrument_ids=None, use_rth=True, timeout=60, limit=0)

Request historical ticks (quotes or trades).

class IbAction

Bases: object

Interactive Brokers execution/action side values.

BOUGHT = IbAction.BOUGHT
BUY = IbAction.BUY
SELL = IbAction.SELL
SELL_LONG = IbAction.SELL_LONG
SELL_SHORT = IbAction.SELL_SHORT
SOLD = IbAction.SOLD
as_str()
class IbArticleType

Bases: object

Interactive Brokers news article type values.

BINARY = IbArticleType.BINARY
TEXT = IbArticleType.TEXT
as_i32()
class IbAuctionStrategy

Bases: object

Interactive Brokers BOX auction strategy values.

IMPROVEMENT = IbAuctionStrategy.IMPROVEMENT
MATCH = IbAuctionStrategy.MATCH
TRANSPARENT = IbAuctionStrategy.TRANSPARENT
as_i32()
class IbAuctionType

Bases: object

Interactive Brokers builder auction type values.

CLOSING = IbAuctionType.CLOSING
OPENING = IbAuctionType.OPENING
VOLATILITY = IbAuctionType.VOLATILITY
as_i32()
class IbBondIdentifierKind

Bases: object

Bond identifier discriminator for the rust-ibapi payload enum.

CUSIP = IbBondIdentifierKind.CUSIP
ISIN = IbBondIdentifierKind.ISIN
as_str()
class IbBuilderTimeInForce

Bases: object

Interactive Brokers builder time-in-force values.

AUCTION = IbBuilderTimeInForce.AUCTION
DAY = IbBuilderTimeInForce.DAY
DAY_TILL_CANCELED = IbBuilderTimeInForce.DAY_TILL_CANCELED
FILL_OR_KILL = IbBuilderTimeInForce.FILL_OR_KILL
GOOD_TILL_CANCEL = IbBuilderTimeInForce.GOOD_TILL_CANCEL
GOOD_TILL_CROSSING = IbBuilderTimeInForce.GOOD_TILL_CROSSING
GOOD_TILL_DATE = IbBuilderTimeInForce.GOOD_TILL_DATE
IMMEDIATE_OR_CANCEL = IbBuilderTimeInForce.IMMEDIATE_OR_CANCEL
OPENING_AUCTION = IbBuilderTimeInForce.OPENING_AUCTION
as_str()
class IbComboLegOpenClose

Bases: object

Interactive Brokers combo-leg open/close values.

CLOSE = IbComboLegOpenClose.CLOSE
OPEN = IbComboLegOpenClose.OPEN
SAME = IbComboLegOpenClose.SAME
UNKNOWN = IbComboLegOpenClose.UNKNOWN
as_i32()
class IbConditionConjunction

Bases: object

Interactive Brokers conditional order conjunction values.

AND = IbConditionConjunction.AND
OR = IbConditionConjunction.OR
as_str()
is_conjunction()
class IbConditionKind

Bases: object

Interactive Brokers conditional order condition types.

EXECUTION = IbConditionKind.EXECUTION
MARGIN = IbConditionKind.MARGIN
PERCENT_CHANGE = IbConditionKind.PERCENT_CHANGE
PRICE = IbConditionKind.PRICE
TIME = IbConditionKind.TIME
VOLUME = IbConditionKind.VOLUME
as_str()
class IbExerciseAction

Bases: object

Interactive Brokers option exercise action values.

EXERCISE = IbExerciseAction.EXERCISE
LAPSE = IbExerciseAction.LAPSE
as_i32()
class IbFundAssetType

Bases: object

ALTERNATIVE = IbFundAssetType.ALTERNATIVE
EQUITY = IbFundAssetType.EQUITY
FIXED_INCOME = IbFundAssetType.FIXED_INCOME
GUARANTEED = IbFundAssetType.GUARANTEED
MONEY_MARKET = IbFundAssetType.MONEY_MARKET
MULTI_ASSET = IbFundAssetType.MULTI_ASSET
NONE = IbFundAssetType.NONE
OTHERS = IbFundAssetType.OTHERS
SECTOR = IbFundAssetType.SECTOR
as_str()
class IbFundDistributionPolicyIndicator

Bases: object

ACCUMULATION_FUND = IbFundDistributionPolicyIndicator.ACCUMULATION_FUND
INCOME_FUND = IbFundDistributionPolicyIndicator.INCOME_FUND
NONE = IbFundDistributionPolicyIndicator.NONE
as_str()
class IbHistoricalBarSize

Bases: object

Interactive Brokers historical bar-size values.

DAY = IbHistoricalBarSize.DAY
HOUR = IbHistoricalBarSize.HOUR
HOUR2 = IbHistoricalBarSize.HOUR2
HOUR3 = IbHistoricalBarSize.HOUR3
HOUR4 = IbHistoricalBarSize.HOUR4
HOUR8 = IbHistoricalBarSize.HOUR8
MIN = IbHistoricalBarSize.MIN
MIN10 = IbHistoricalBarSize.MIN10
MIN15 = IbHistoricalBarSize.MIN15
MIN2 = IbHistoricalBarSize.MIN2
MIN20 = IbHistoricalBarSize.MIN20
MIN3 = IbHistoricalBarSize.MIN3
MIN30 = IbHistoricalBarSize.MIN30
MIN5 = IbHistoricalBarSize.MIN5
MONTH = IbHistoricalBarSize.MONTH
SEC = IbHistoricalBarSize.SEC
SEC10 = IbHistoricalBarSize.SEC10
SEC15 = IbHistoricalBarSize.SEC15
SEC30 = IbHistoricalBarSize.SEC30
SEC5 = IbHistoricalBarSize.SEC5
WEEK = IbHistoricalBarSize.WEEK
as_str()
class IbHistoricalTickType

Bases: object

Interactive Brokers historical tick request types.

BID_ASK = IbHistoricalTickType.BID_ASK
TRADES = IbHistoricalTickType.TRADES
as_str()
class IbHistoricalWhatToShow

Bases: object

Interactive Brokers historical data selectors.

ADJUSTED_LAST = IbHistoricalWhatToShow.ADJUSTED_LAST
ASK = IbHistoricalWhatToShow.ASK
BID = IbHistoricalWhatToShow.BID
BID_ASK = IbHistoricalWhatToShow.BID_ASK
FEE_RATE = IbHistoricalWhatToShow.FEE_RATE
HISTORICAL_VOLATILITY = IbHistoricalWhatToShow.HISTORICAL_VOLATILITY
MIDPOINT = IbHistoricalWhatToShow.MIDPOINT
OPTION_IMPLIED_VOLATILITY = IbHistoricalWhatToShow.OPTION_IMPLIED_VOLATILITY
SCHEDULE = IbHistoricalWhatToShow.SCHEDULE
TRADES = IbHistoricalWhatToShow.TRADES
as_str()
class IbLegAction

Bases: object

BUY = IbLegAction.BUY
SELL = IbLegAction.SELL
as_str()
class IbLiquidity

Bases: object

Interactive Brokers execution liquidity values.

ADDED_LIQUIDITY = IbLiquidity.ADDED_LIQUIDITY
LIQUIDITY_ROUTED_OUT = IbLiquidity.LIQUIDITY_ROUTED_OUT
NONE = IbLiquidity.NONE
REMOVED_LIQUIDITY = IbLiquidity.REMOVED_LIQUIDITY
UNKNOWN = IbLiquidity.UNKNOWN
as_i32()
class IbOcaType

Bases: object

Interactive Brokers one-cancels-all behavior.

CANCEL_WITH_BLOCK = IbOcaType.CANCEL_WITH_BLOCK
NONE = IbOcaType.NONE
REDUCE_WITHOUT_BLOCK = IbOcaType.REDUCE_WITHOUT_BLOCK
REDUCE_WITH_BLOCK = IbOcaType.REDUCE_WITH_BLOCK
as_i32()
class IbOptionRight

Bases: object

Interactive Brokers option right values.

CALL = IbOptionRight.CALL
PUT = IbOptionRight.PUT
as_str()
class IbOrderOpenClose

Bases: object

CLOSE = IbOrderOpenClose.CLOSE
OPEN = IbOrderOpenClose.OPEN
as_str()
class IbOrderOrigin

Bases: object

Interactive Brokers order origin values.

CUSTOMER = IbOrderOrigin.CUSTOMER
FIRM = IbOrderOrigin.FIRM
as_i32()
class IbOrderStatus

Bases: object

Interactive Brokers order status values.

API_CANCELLED = IbOrderStatus.API_CANCELLED
API_PENDING = IbOrderStatus.API_PENDING
CANCELLED = IbOrderStatus.CANCELLED
FILLED = IbOrderStatus.FILLED
INACTIVE = IbOrderStatus.INACTIVE
PENDING_CANCEL = IbOrderStatus.PENDING_CANCEL
PENDING_SUBMIT = IbOrderStatus.PENDING_SUBMIT
PRE_SUBMITTED = IbOrderStatus.PRE_SUBMITTED
SUBMITTED = IbOrderStatus.SUBMITTED
as_str()
class IbOrderType

Bases: object

Interactive Brokers order type values.

BOX_TOP = IbOrderType.BOX_TOP
LIMIT = IbOrderType.LIMIT
LIMIT_IF_TOUCHED = IbOrderType.LIMIT_IF_TOUCHED
LIMIT_ON_CLOSE = IbOrderType.LIMIT_ON_CLOSE
MARKET = IbOrderType.MARKET
MARKET_IF_TOUCHED = IbOrderType.MARKET_IF_TOUCHED
MARKET_ON_CLOSE = IbOrderType.MARKET_ON_CLOSE
MARKET_TO_LIMIT = IbOrderType.MARKET_TO_LIMIT
MARKET_WITH_PROTECTION = IbOrderType.MARKET_WITH_PROTECTION
MIDPRICE = IbOrderType.MIDPRICE
PASSIVE_RELATIVE = IbOrderType.PASSIVE_RELATIVE
PEGGED_TO_BENCHMARK = IbOrderType.PEGGED_TO_BENCHMARK
PEGGED_TO_MARKET = IbOrderType.PEGGED_TO_MARKET
PEGGED_TO_MIDPOINT = IbOrderType.PEGGED_TO_MIDPOINT
PEGGED_TO_STOCK = IbOrderType.PEGGED_TO_STOCK
PEG_BEST = IbOrderType.PEG_BEST
RELATIVE = IbOrderType.RELATIVE
RELATIVE_LIMIT_COMBO = IbOrderType.RELATIVE_LIMIT_COMBO
RELATIVE_MARKET_COMBO = IbOrderType.RELATIVE_MARKET_COMBO
STOP = IbOrderType.STOP
STOP_LIMIT = IbOrderType.STOP_LIMIT
STOP_WITH_PROTECTION = IbOrderType.STOP_WITH_PROTECTION
TRAILING_STOP = IbOrderType.TRAILING_STOP
TRAILING_STOP_LIMIT = IbOrderType.TRAILING_STOP_LIMIT
VOLATILITY = IbOrderType.VOLATILITY
as_str()
class IbRealtimeBarSize

Bases: object

Interactive Brokers realtime bar-size values.

SEC5 = IbRealtimeBarSize.SEC5
as_str()
class IbRealtimeWhatToShow

Bases: object

Interactive Brokers realtime bar selectors.

ASK = IbRealtimeWhatToShow.ASK
BID = IbRealtimeWhatToShow.BID
MIDPOINT = IbRealtimeWhatToShow.MIDPOINT
TRADES = IbRealtimeWhatToShow.TRADES
as_str()
class IbReferencePriceType

Bases: object

Interactive Brokers VOL order reference price type values.

AVERAGE_OF_NBBO = IbReferencePriceType.AVERAGE_OF_NBBO
NBBO = IbReferencePriceType.NBBO
as_i32()
class IbRiskAversion

Bases: object

AGGRESSIVE = IbRiskAversion.AGGRESSIVE
GET_DONE = IbRiskAversion.GET_DONE
NEUTRAL = IbRiskAversion.NEUTRAL
PASSIVE = IbRiskAversion.PASSIVE
as_str()
class IbRule80A

Bases: object

AGENCY = IbRule80A.AGENCY
AGENCY_PT = IbRule80A.AGENCY_PT
AGENCY_PTIA = IbRule80A.AGENCY_PTIA
AGENT_OTHER_MEMBER = IbRule80A.AGENT_OTHER_MEMBER
AGENT_OTHER_MEMBER_PT = IbRule80A.AGENT_OTHER_MEMBER_PT
AGENT_OTHER_MEMBER_PTIA = IbRule80A.AGENT_OTHER_MEMBER_PTIA
INDIVIDUAL = IbRule80A.INDIVIDUAL
INDIVIDUAL_PT = IbRule80A.INDIVIDUAL_PT
INDIVIDUAL_PTIA = IbRule80A.INDIVIDUAL_PTIA
as_str()
class IbSecurityType

Bases: object

Interactive Brokers security type values used by the adapter.

BOND = IbSecurityType.BOND
CFD = IbSecurityType.CFD
COMMODITY = IbSecurityType.COMMODITY
CONTINUOUS_FUTURE = IbSecurityType.CONTINUOUS_FUTURE
CRYPTO = IbSecurityType.CRYPTO
FOREX_PAIR = IbSecurityType.FOREX_PAIR
FUTURE = IbSecurityType.FUTURE
FUTURES_OPTION = IbSecurityType.FUTURES_OPTION
INDEX = IbSecurityType.INDEX
MUTUAL_FUND = IbSecurityType.MUTUAL_FUND
NEWS = IbSecurityType.NEWS
OPTION = IbSecurityType.OPTION
SPREAD = IbSecurityType.SPREAD
STOCK = IbSecurityType.STOCK
WARRANT = IbSecurityType.WARRANT
as_str()
class IbShortSaleSlot

Bases: object

Interactive Brokers institutional short-sale slot values.

BROKER = IbShortSaleSlot.BROKER
NONE = IbShortSaleSlot.NONE
THIRD_PARTY = IbShortSaleSlot.THIRD_PARTY
as_i32()
class IbTickType

Bases: object

Interactive Brokers market data tick types.

ASK = IbTickType.ASK
ASK_EFP_COMPUTATION = IbTickType.ASK_EFP_COMPUTATION
ASK_EXCH = IbTickType.ASK_EXCH
ASK_OPTION = IbTickType.ASK_OPTION
ASK_SIZE = IbTickType.ASK_SIZE
ASK_YIELD = IbTickType.ASK_YIELD
AUCTION_IMBALANCE = IbTickType.AUCTION_IMBALANCE
AUCTION_PRICE = IbTickType.AUCTION_PRICE
AUCTION_VOLUME = IbTickType.AUCTION_VOLUME
AVG_OPT_VOLUME = IbTickType.AVG_OPT_VOLUME
AVG_VOLUME = IbTickType.AVG_VOLUME
BID = IbTickType.BID
BID_EFP_COMPUTATION = IbTickType.BID_EFP_COMPUTATION
BID_EXCH = IbTickType.BID_EXCH
BID_OPTION = IbTickType.BID_OPTION
BID_SIZE = IbTickType.BID_SIZE
BID_YIELD = IbTickType.BID_YIELD
BOND_FACTOR_MULTIPLIER = IbTickType.BOND_FACTOR_MULTIPLIER
CLOSE = IbTickType.CLOSE
CLOSE_EFP_COMPUTATION = IbTickType.CLOSE_EFP_COMPUTATION
CREDITMAN_MARK_PRICE = IbTickType.CREDITMAN_MARK_PRICE
CREDITMAN_SLOW_MARK_PRICE = IbTickType.CREDITMAN_SLOW_MARK_PRICE
CUST_OPTION_COMPUTATION = IbTickType.CUST_OPTION_COMPUTATION
DELAYED_ASK = IbTickType.DELAYED_ASK
DELAYED_ASK_OPTION = IbTickType.DELAYED_ASK_OPTION
DELAYED_ASK_SIZE = IbTickType.DELAYED_ASK_SIZE
DELAYED_BID = IbTickType.DELAYED_BID
DELAYED_BID_OPTION = IbTickType.DELAYED_BID_OPTION
DELAYED_BID_SIZE = IbTickType.DELAYED_BID_SIZE
DELAYED_CLOSE = IbTickType.DELAYED_CLOSE
DELAYED_HALTED = IbTickType.DELAYED_HALTED
DELAYED_HIGH = IbTickType.DELAYED_HIGH
DELAYED_LAST = IbTickType.DELAYED_LAST
DELAYED_LAST_OPTION = IbTickType.DELAYED_LAST_OPTION
DELAYED_LAST_SIZE = IbTickType.DELAYED_LAST_SIZE
DELAYED_LAST_TIMESTAMP = IbTickType.DELAYED_LAST_TIMESTAMP
DELAYED_LOW = IbTickType.DELAYED_LOW
DELAYED_MODEL_OPTION = IbTickType.DELAYED_MODEL_OPTION
DELAYED_OPEN = IbTickType.DELAYED_OPEN
DELAYED_VOLUME = IbTickType.DELAYED_VOLUME
DELAYED_YIELD_ASK = IbTickType.DELAYED_YIELD_ASK
DELAYED_YIELD_BID = IbTickType.DELAYED_YIELD_BID
ESTIMATED_IPO_MIDPOINT = IbTickType.ESTIMATED_IPO_MIDPOINT
ETF_FROZEN_NAV_LAST = IbTickType.ETF_FROZEN_NAV_LAST
ETF_NAV_ASK = IbTickType.ETF_NAV_ASK
ETF_NAV_BID = IbTickType.ETF_NAV_BID
ETF_NAV_CLOSE = IbTickType.ETF_NAV_CLOSE
ETF_NAV_HIGH = IbTickType.ETF_NAV_HIGH
ETF_NAV_LAST = IbTickType.ETF_NAV_LAST
ETF_NAV_LOW = IbTickType.ETF_NAV_LOW
ETF_NAV_PRIOR_CLOSE = IbTickType.ETF_NAV_PRIOR_CLOSE
FINAL_IPO_LAST = IbTickType.FINAL_IPO_LAST
FUNDAMENTAL_RATIOS = IbTickType.FUNDAMENTAL_RATIOS
FUTURES_OPEN_INTEREST = IbTickType.FUTURES_OPEN_INTEREST
HALTED = IbTickType.HALTED
HIGH = IbTickType.HIGH
HIGH13_WEEK = IbTickType.HIGH13_WEEK
HIGH26_WEEK = IbTickType.HIGH26_WEEK
HIGH52_WEEK = IbTickType.HIGH52_WEEK
HIGH_EFP_COMPUTATION = IbTickType.HIGH_EFP_COMPUTATION
IB_DIVIDENDS = IbTickType.IB_DIVIDENDS
INDEX_FUTURE_PREMIUM = IbTickType.INDEX_FUTURE_PREMIUM
LAST = IbTickType.LAST
LAST_EFP_COMPUTATION = IbTickType.LAST_EFP_COMPUTATION
LAST_EXCH = IbTickType.LAST_EXCH
LAST_OPTION = IbTickType.LAST_OPTION
LAST_REG_TIME = IbTickType.LAST_REG_TIME
LAST_RTH_TRADE = IbTickType.LAST_RTH_TRADE
LAST_SIZE = IbTickType.LAST_SIZE
LAST_TIMESTAMP = IbTickType.LAST_TIMESTAMP
LAST_YIELD = IbTickType.LAST_YIELD
LOW = IbTickType.LOW
LOW13_WEEK = IbTickType.LOW13_WEEK
LOW26_WEEK = IbTickType.LOW26_WEEK
LOW52_WEEK = IbTickType.LOW52_WEEK
LOW_EFP_COMPUTATION = IbTickType.LOW_EFP_COMPUTATION
MARK_PRICE = IbTickType.MARK_PRICE
MODEL_OPTION = IbTickType.MODEL_OPTION
NEWS_TICK = IbTickType.NEWS_TICK
OPEN = IbTickType.OPEN
OPEN_EFP_COMPUTATION = IbTickType.OPEN_EFP_COMPUTATION
OPEN_INTEREST = IbTickType.OPEN_INTEREST
OPTION_ASK_EXCH = IbTickType.OPTION_ASK_EXCH
OPTION_BID_EXCH = IbTickType.OPTION_BID_EXCH
OPTION_CALL_OPEN_INTEREST = IbTickType.OPTION_CALL_OPEN_INTEREST
OPTION_CALL_VOLUME = IbTickType.OPTION_CALL_VOLUME
OPTION_HISTORICAL_VOL = IbTickType.OPTION_HISTORICAL_VOL
OPTION_IMPLIED_VOL = IbTickType.OPTION_IMPLIED_VOL
OPTION_PUT_OPEN_INTEREST = IbTickType.OPTION_PUT_OPEN_INTEREST
OPTION_PUT_VOLUME = IbTickType.OPTION_PUT_VOLUME
REGULATORY_IMBALANCE = IbTickType.REGULATORY_IMBALANCE
REUTERS2_MUTUAL_FUNDS = IbTickType.REUTERS2_MUTUAL_FUNDS
RT_HISTORICAL_VOL = IbTickType.RT_HISTORICAL_VOL
RT_TRD_VOLUME = IbTickType.RT_TRD_VOLUME
RT_VOLUME = IbTickType.RT_VOLUME
SHORTABLE = IbTickType.SHORTABLE
SHORTABLE_SHARES = IbTickType.SHORTABLE_SHARES
SHORT_TERM_VOLUME10_MIN = IbTickType.SHORT_TERM_VOLUME10_MIN
SHORT_TERM_VOLUME3_MIN = IbTickType.SHORT_TERM_VOLUME3_MIN
SHORT_TERM_VOLUME5_MIN = IbTickType.SHORT_TERM_VOLUME5_MIN
SOCIAL_MARKET_ANALYTICS = IbTickType.SOCIAL_MARKET_ANALYTICS
TRADE_COUNT = IbTickType.TRADE_COUNT
TRADE_RATE = IbTickType.TRADE_RATE
UNKNOWN = IbTickType.UNKNOWN
VOLUME = IbTickType.VOLUME
VOLUME_RATE = IbTickType.VOLUME_RATE
as_i32()
class IbTimeInForce

Bases: object

Interactive Brokers time-in-force values.

AUCTION = IbTimeInForce.AUCTION
DAY = IbTimeInForce.DAY
DAY_TIL_CANCELED = IbTimeInForce.DAY_TIL_CANCELED
FILL_OR_KILL = IbTimeInForce.FILL_OR_KILL
GOOD_TIL_CANCELED = IbTimeInForce.GOOD_TIL_CANCELED
GOOD_TIL_DATE = IbTimeInForce.GOOD_TIL_DATE
IMMEDIATE_OR_CANCEL = IbTimeInForce.IMMEDIATE_OR_CANCEL
ON_OPEN = IbTimeInForce.ON_OPEN
as_str()
class IbTradingHours

Bases: object

Interactive Brokers trading hours selector.

EXTENDED = IbTradingHours.EXTENDED
REGULAR = IbTradingHours.REGULAR
use_rth()
class IbTriggerMethod

Bases: object

Interactive Brokers price-condition trigger methods.

BID_ASK = IbTriggerMethod.BID_ASK
DEFAULT = IbTriggerMethod.DEFAULT
DOUBLE_BID_ASK = IbTriggerMethod.DOUBLE_BID_ASK
DOUBLE_LAST = IbTriggerMethod.DOUBLE_LAST
LAST = IbTriggerMethod.LAST
LAST_OR_BID_ASK = IbTriggerMethod.LAST_OR_BID_ASK
MIDPOINT = IbTriggerMethod.MIDPOINT
as_i32()
class IbTwapStrategyType

Bases: object

MARKETABLE = IbTwapStrategyType.MARKETABLE
MATCHING_LAST = IbTwapStrategyType.MATCHING_LAST
MATCHING_MIDPOINT = IbTwapStrategyType.MATCHING_MIDPOINT
MATCHING_SAME_SIDE = IbTwapStrategyType.MATCHING_SAME_SIDE
as_str()
class IbVolatilityType

Bases: object

Interactive Brokers volatility type values.

ANNUAL = IbVolatilityType.ANNUAL
DAILY = IbVolatilityType.DAILY
as_i32()
class InteractiveBrokersDataClientConfig

Bases: object

Configuration for Interactive Brokers data client.

all_last_trades

Returns whether tick-by-tick subscriptions include special-condition trades.

batch_quotes

Returns whether to use batch quotes.

client_id

Returns the client ID.

connection_timeout

Returns the connection timeout in seconds.

handle_revised_bars

Returns whether to handle revised bars.

host

Returns the host.

ignore_quote_tick_size_updates

Returns whether to ignore quote tick size updates.

instrument_provider

Returns the instrument provider configuration.

market_data_type

Returns the market data type.

port

Returns the port.

request_timeout

Returns the request timeout in seconds.

subscription_idle_timeout_secs

Returns the optional subscription idle interval in seconds.

use_regular_trading_hours

Returns whether to use regular trading hours only.

class InteractiveBrokersDataClientFactory

Bases: object

Factory for creating Interactive Brokers data clients.

name()
class InteractiveBrokersExecutionClientConfig

Bases: object

Configuration for Interactive Brokers execution client.

account_id

Returns the raw IB account code.

client_id

Returns the client ID.

connection_timeout

Returns the connection timeout in seconds.

fetch_all_open_orders

Returns whether to fetch all open orders.

host

Returns the host.

instrument_provider

Returns the instrument provider configuration.

port

Returns the port.

request_timeout

Returns the request timeout in seconds.

track_option_exercise_from_position_update

Returns whether to track option exercise from position updates.

class InteractiveBrokersExecutionClientFactory

Bases: object

Factory for creating Interactive Brokers execution clients.

name()
class InteractiveBrokersInstrumentProvider

Bases: object

Interactive Brokers instrument provider.

This provider fetches contract details from Interactive Brokers using the rust-ibapi library and converts them to NautilusTrader instruments.

count()

Get the number of cached instruments.

determine_venue(contract)

Determine venue from contract using provider configuration.

fetch_contract_details()

Maintain compatibility with the legacy Python provider API.

Contract details are fetched as part of the data/execution client load flow, so the standalone provider has nothing to do here.

find(instrument_id)

Find an instrument by its ID.

find_by_contract_id(contract_id)

Find an instrument by IB contract ID.

get_all()

Get all cached instruments.

get_price_magnifier(instrument_id)

Get price magnifier for an instrument ID.

instrument_id_to_ib_contract_details(instrument_id)

Convert an instrument ID to cached IB contract details.

load_cache(cache_path)

Load instrument cache from disk if valid.

# Returns

Returns true if cache was loaded successfully and is valid, false otherwise.

# Errors

Returns an error if deserialization or file I/O fails (but treats missing file as non-error).

save_cache(cache_path)

Save the current instrument cache to disk.

# Errors

Returns an error if serialization or file I/O fails.

class InteractiveBrokersInstrumentProviderConfig

Bases: object

Configuration for Interactive Brokers instrument provider.

build_futures_chain

Returns whether to build full futures chain.

build_options_chain

Returns whether to build full options chain.

cache_path

Returns the cache path for persistent instrument caching.

cache_validity_days

Returns the cache validity in days.

convert_exchange_to_mic_venue

Returns whether to convert IB exchanges to MIC venues.

filter_callable

Returns the custom instrument filter callable path.

filter_sec_types

Returns the filter security types.

load_contracts

Returns the IB contracts to load on startup.

load_ids

Returns the instrument IDs to load on startup.

max_expiry_days

Returns the maximum expiry days.

min_expiry_days

Returns the minimum expiry days.

symbol_to_mic_venue

Returns the symbol to MIC venue mapping.

symbology_method

Returns the symbology method.

class InteractiveBrokersSubscriptionIdle

Bases: object

A subscription receives no market data within its configured interval.

This is an inactivity signal, not evidence that the connection or market is closed.

client_id
classmethod from_json(data)
idle_timeout_secs
instrument_id
last_data_received_ns
subscription
to_json()
ts_event
ts_init
class MarketDataType

Bases: object

Market data type for switching between real-time and frozen/delayed.

DELAYED = MarketDataType.DELAYED
DELAYED_FROZEN = MarketDataType.DELAYED_FROZEN
FROZEN = MarketDataType.FROZEN
REALTIME = MarketDataType.REALTIME
class SymbologyMethod

Bases: object

Symbology method for converting between IB contracts and Nautilus instrument IDs.

RAW = SymbologyMethod.RAW
SIMPLIFIED = SymbologyMethod.SIMPLIFIED
class TradingMode

Bases: object

Trading mode for Dockerized IB Gateway.

LIVE = TradingMode.LIVE
PAPER = TradingMode.PAPER