nautechsystems/nautilus_trader
Production-grade Rust-native trading engine with deterministic event-driven architecture
What it solves
NautilusTrader addresses the gap between trading strategy research and live execution. Traditionally, researchers use Python for vectorized backtesting, while production systems are built in compiled languages for speed. NautilusTrader provides a single, deterministic event-driven architecture that works for both, allowing strategies to move from research to production without code changes.
How it works
It uses a Rust-native core for high-performance execution and safety, with Python serving as the control plane for strategy logic and orchestration. This hybrid approach combines the speed of a compiled engine with the flexibility of Python. The system is asset-class-agnostic and uses modular adapters to connect to various venues via REST APIs or WebSockets, normalizing the data into a unified domain model.
Who it’s for
Quantitative traders, individuals, and small teams who need a production-grade engine for multi-asset, multi-venue trading and deterministic simulation.
Highlights
- Research-to-Live Parity: Identical execution semantics and time models in both backtesting and live trading.
- High Performance: Built with Rust, the mimalloc allocator, and tokio for asynchronous networking.
- Multi-Venue Support: Ability to run market-making and cross-venue strategies simultaneously across crypto, FX, equities, futures, and options.
- AI Ready: The engine is fast enough to be used for training AI trading agents using Reinforcement Learning (RL) or Evolutionary Strategies (ES).
- Advanced Order Types: Supports complex instructions like icebergs, OCO, OUO, and OTO contingency orders.
- Deterministic Simulation: Backtesting with nanosecond resolution using historical ticks, bars, and order books.
Related
- Project
- Project
- Project
- Project
- Project