nautechsystems/nautilus_trader
Production-grade Rust-native trading engine with deterministic event-driven architecture
What it solves
NautilusTrader addresses the gap between quantitative research and production trading. Traditionally, researchers use Python for vectorized analysis, while production systems are built in compiled languages for speed. This project provides a single, deterministic event-driven architecture that allows the same strategy and execution code to run in both backtesting and live environments, eliminating the need to reimplement strategies when moving from research to production.
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. The system is asset-class agnostic and uses modular adapters to connect to various venues (CEX, DEX, FX, equities, etc.) via REST APIs and WebSockets. It supports nanosecond resolution for backtesting and provides two precision modes (64-bit and 128-bit) for handling prices and quantities.
Who it’s for
It is designed for individual and small-team quantitative traders who need a production-grade engine for multi-asset, multi-venue trading systems.
Highlights
- Unified Pipeline: Use the same code for research, deterministic simulation, and live execution.
- High Performance: Built with Rust, the mimalloc allocator, and tokio for asynchronous networking.
- Broad Integration: Modular adapters for a wide range of venues including Binance, Coinbase, Interactive Brokers, and Polymarket.
- Advanced Order Types: Supports complex instructions like Icebergs, OCO, OUO, and various Time-in-Force options.
- AI Ready: The engine is fast enough to be used for training AI trading agents using Reinforcement Learning (RL) or Evolutionary Strategies (ES).
Related
- Project
- Project
- Project
- Project
- Project