{"id":24094,"library":"nautilus-trader","title":"nautilus_trader","description":"Production-grade, Rust-native algorithmic trading engine with a deterministic event-driven architecture. Current version: 1.226.0 (Beta, released 2026-04-29). Requires Python >=3.12,<3.15. Active development with frequent releases (roughly every 2-4 weeks).","status":"active","version":"1.226.0","language":"python","source_language":"en","source_url":"https://github.com/nautechsystems/nautilus_trader","tags":["algorithmic-trading","backtesting","rust","high-performance","trading-engine","event-driven","live-trading","crypto","futures","options"],"install":[{"cmd":"pip install nautilus_trader","lang":"bash","label":"Install core"},{"cmd":"pip install nautilus_trader[betfair]","lang":"bash","label":"Install with Betfair adapter"},{"cmd":"pip install nautilus_trader[ib]","lang":"bash","label":"Install with Interactive Brokers adapter"},{"cmd":"pip install nautilus_trader[dydx]","lang":"bash","label":"Install with dYdX adapter"}],"dependencies":[{"reason":"Required for Interactive Brokers adapter (optional extra [ib])","package":"nautilus-ibapi","optional":true},{"reason":"Required for dYdX adapter (optional extra [dydx])","package":"coincurve","optional":true}],"imports":[{"note":"TradingNode is in the node submodule, not directly in live","wrong":"from nautilus_trader.live import TradingNode","symbol":"TradingNode","correct":"from nautilus_trader.live.node import TradingNode"},{"note":"BacktestEngine is in the engine submodule","wrong":"from nautilus_trader.backtest import BacktestEngine","symbol":"BacktestEngine","correct":"from nautilus_trader.backtest.engine import BacktestEngine"},{"note":"Strategy base class moved to model submodule in v1.220+","wrong":"from nautilus_trader.strategy import Strategy","symbol":"Strategy","correct":"from nautilus_trader.model.strategy import Strategy"},{"note":"OrderBook is in data submodule","wrong":"from nautilus_trader.model import OrderBook","symbol":"OrderBook","correct":"from nautilus_trader.model.data import OrderBook"}],"quickstart":{"code":"from nautilus_trader.backtest.engine import BacktestEngine\nfrom nautilus_trader.model.data import Bar, BarType, BarSpecification\nfrom nautilus_trader.model.enums import PriceType, AggregationSource\nfrom nautilus_trader.model.identifiers import InstrumentId, Venue, Symbol\nfrom nautilus_trader.model.instruments import Instrument\nfrom nautilus_trader.core.datetime import secs_to_nanos\nimport pandas as pd\n\n# Create a simple backtest engine\nengine = BacktestEngine()\n\n# Create an instrument\ninstrument_id = InstrumentId(Symbol('ETH/USD'), Venue('BINANCE'))\n\n# (Simplified: real usage involves adding strategies, data, and running)\nengine.add_instrument(instrument_id)\nprint('Backtest engine created successfully.')","lang":"python","description":"Minimal backtest engine setup. Full example requires data and strategy."},"warnings":[{"fix":"Upgrade to Python 3.12, 3.13, or 3.14 (note: dYdX and IB adapters may not support 3.14 yet).","message":"Python 3.11 support dropped in v1.221.0 (final release with Python 3.11 was v1.221.0). Use Python >=3.12.","severity":"gotcha","affected_versions":">=1.221.0"},{"fix":"Use Python 3.12 or 3.13 if you need dYdX adapter.","message":"dYdX adapter (extra [dydx]) not available on Python 3.14 due to upstream coincurve incompatibility.","severity":"gotcha","affected_versions":">=1.222.0"},{"fix":"Use Python 3.12 or 3.13 if you need IB adapter.","message":"Interactive Brokers adapter (extra [ib]) not available on Python 3.14 due to upstream nautilus-ibapi incompatibility.","severity":"gotcha","affected_versions":">=1.222.0"},{"fix":"Update imports to 'from nautilus_trader.model.strategy import Strategy'.","message":"The base class for strategies moved from nautilus_trader.strategy to nautilus_trader.model.strategy in v1.220+. Old imports will break.","severity":"breaking","affected_versions":">=1.220.0"},{"fix":"Install Rust from rustup.rs, or use pre-built wheels if available for your platform.","message":"nautilus_trader uses Rust under the hood. pip install may build native code and require Rust toolchain (rustc, cargo) on some platforms.","severity":"gotcha","affected_versions":"all"},{"fix":"Upgrade Python to >=3.12.","message":"Python 3.11 support ended with v1.221.0.","severity":"deprecated","affected_versions":"<=1.221.0"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Run 'pip install nautilus_trader' in the correct Python environment (3.12+).","cause":"Package not installed or installed in the wrong environment.","error":"ModuleNotFoundError: No module named 'nautilus_trader'"},{"fix":"Use 'from nautilus_trader.backtest.engine import BacktestEngine'.","cause":"Incorrect import path; BacktestEngine is in backtest.engine.","error":"ImportError: cannot import name 'BacktestEngine' from 'nautilus_trader.backtest'"},{"fix":"Make sure you have installed the correct version (>=1.214.0?) and use 'from nautilus_trader.live.node import TradingNode'.","cause":"Old version or incorrect import; live engine is a separate subpackage.","error":"AttributeError: module 'nautilus_trader' has no attribute 'live'"},{"fix":"Reinstall with 'pip install --force-reinstall nautilus_trader'. If on a non-standard platform, compile from source with Rust toolchain.","cause":"Missing Rust library or broken installation.","error":"RuntimeError: Rust backend failed to initialize: Could not find nautilus_trader Rust binary"},{"fix":"Use a concrete instrument class (e.g., Instrument, FuturesInstrument, OptionsInstrument) or update your code to match current API.","cause":"Using an obsolete instrument class that was removed in a recent version.","error":"ValueError: Unrecognized instrument class: InstrumentGeneric"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}