Config-driven backtesting framework built on Backtrader for testing trading strategies across stocks, crypto, and forex, with an MCP server for AI assistants.
nautechsystems/nautilus_trader
Rust-native, event-driven trading engine with Python control plane for backtesting and live trading across crypto, FX, equities, futures, options and betting venues.
- Stars
- 30,340
- Forks
- 4,069
- Open issues
- 123
- Last commit
- 23 hours ago
What is it?
NautilusTrader is an open-source trading engine whose core is written in Rust, with Python used for strategy logic, configuration and orchestration. It runs research, deterministic backtesting and live execution inside one event-driven architecture, so the same strategy code can be used in both backtests and live trading. Live runs still involve venue, network and timing behavior that simulations may not reproduce.
The project is asset-class agnostic. Modular adapters connect venues that offer a REST API or WebSocket feed, covering crypto exchanges (CEX and DEX), FX, equities, futures, options, prediction markets and betting exchanges. Backtests can run multiple venues, instruments and strategies at once using quote, trade, bar, order book and custom data at nanosecond resolution.
The engine supports a range of order types and time-in-force options, contingency orders such as OCO and OTO, and optional Redis-backed state persistence for the cache and message bus. Python wheels are available on PyPI for Linux, macOS and Windows, and Rust crates can be used directly.
Key features
- 01Rust core with Python bindings for strategy development
- 02Same strategy code runs in backtest and live trading
- 03Backtesting across multiple venues and instruments at nanosecond resolution
- 04Modular adapters for crypto, FX, equities, futures, options and betting venues
- 05Advanced order types, time-in-force options and contingency orders like OCO and OTO
- 06Optional Redis backend for cache and message bus persistence
Use cases
- Backtesting a multi-venue or cross-exchange strategy before going live
- Running market-making or arbitrage strategies across several crypto exchanges
- Building a quant trading system in Python with a Rust execution core
- Trading on traditional brokers such as Interactive Brokers through a unified API
Quick start
- 1
Install prebuilt wheels from the docs (no Rust toolchain needed)
- 2
Read the docs and follow the quick start guide
Things to know
- Licensed under LGPL-3.0, a weak copyleft license that may carry obligations for derivative works.
- Live execution can behave differently from backtests due to venue, transport, timing, and reconciliation effects.
- The v1 branch receives only critical security backports during the v2 transition, so migration may be needed.
- Some integrations are still in beta or building, and not all listed venues are stable.
Topics
FAQ
- What is nautilus_trader?
- Rust-native, event-driven trading engine with Python control plane for backtesting and live trading across crypto, FX, equities, futures, options and betting venues. NautilusTrader is an open-source trading engine whose core is written in Rust, with Python used for strategy logic, configuration and orchestration. It runs research, deterministic backtesting and live execution inside one event-driven architecture, so the same strategy code can be used in both backtests and live trading. Live runs still involve venue, network and timing behavior that simulations may not reproduce.
- Is nautilus_trader free to use? What license does it have?
- nautilus_trader is open source under the LGPL-3.0 license. Check the license terms before using it in commercial products.
- Is nautilus_trader still maintained?
- Actively maintained. The last commit to nautilus_trader was on Oct 19, 2026.
- What can I use nautilus_trader for?
- Backtesting a multi-venue or cross-exchange strategy before going live Running market-making or arbitrage strategies across several crypto exchanges Building a quant trading system in Python with a Rust execution core Trading on traditional brokers such as Interactive Brokers through a unified API
- How do I install nautilus_trader?
- Install prebuilt wheels from the docs (no Rust toolchain needed) Read the docs and follow the quick start guide
- Where can I get nautilus_trader?
- The source code and installation instructions are on GitHub: https://github.com/nautechsystems/nautilus_trader
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
AI-oriented quantitative investment platform from Microsoft covering data, model training, backtesting and order execution for quant research.
A curated, categorized list of open-source libraries, packages and resources for quantitative finance, spanning pricing, backtesting, data and more.
Native C++20 desktop terminal for financial research, with Qt6 UI, embedded Python analytics, AI agents and 100+ market data connectors.
Free, open source Python crypto trading bot supporting major exchanges, with backtesting, dry-run, FreqAI and Telegram/web UI control.
A reactive Python notebook that auto-reruns dependent cells, stores notebooks as plain .py files, and can run as scripts or deployed apps.