nautechsystems/nautilus_trader
A Rust-based trading engine that lets the same code run in backtests and in live markets
NautilusTrader is an open-source engine for building automated trading systems across stocks, crypto, forex and other assets. Its core is written in Rust for speed and safety, while Python handles strategy logic and configuration as a control layer. The same code runs identically whether you're testing against historical data or trading live with real money.
What it does
- Normally, trading strategies get sketched out in Python during research, then rebuilt separately for production — this project tries to eliminate that duplicate work
- A Rust core provides a deterministic event-driven runtime, meaning it reacts to events like price ticks or order fills in a consistent, repeatable order, while Python serves as the control plane for strategy logic and configuration
- It connects to many exchanges and data providers through modular adapters, including Binance, Bybit, OKX, Coinbase, Kraken, dYdX, Interactive Brokers, and Databento
- It uses the mimalloc memory allocator and tokio for asynchronous networking to boost speed, and supports advanced order types like IOC/FOK/GTC time-in-force rules and contingency orders like OCO/OTO
- The engine is described as fast enough to train AI trading agents using reinforcement learning (RL) or evolution strategies (ES)
Why it matters
For quant traders and individual developers, it reduces the risk and hassle of rewriting a backtested strategy from scratch before deploying it live. Combining Rust's performance with Python's flexibility offers a concrete reference design for anyone building a low-latency automated trading system.
Terms in this repo
- event-driven architecture · a design where the system reacts to events (like a trade or a price update) as they happen, in defined steps
- deterministic · given the same input, the system always produces the same order of operations and results
- adapter · a module that translates each exchange's unique API into one common interface
- PyO3 · a binding tool that lets Rust code be called directly from Python
- backtesting · simulating how a trading strategy would have performed using historical market data
Repository description (English)
Production-grade Rust-native trading engine with deterministic event-driven architecture
Open on GitHubTrending repos
- cathrynlavery/diagram-designA skill that makes AI coding tools draw magazine-quality diagrams instead of generic rounded boxes
- public-apis/public-apisA giant crowd-curated directory of free APIs for developers
- semantica-agi/semanticaAn open-source graph infrastructure that lets AI agents show their work, not just their answers
- cactus-compute/needleA 14MB AI model small enough to run tool-calling on a phone or watch, without internet
- unslothai/unslothA desktop app that lets you run and train AI models on your own computer, no coding required
- macro-inc/macroAn all-in-one workspace where email, chat, docs, tasks, and CRM are cross-linked and share one AI memory
- harry0703/MoneyPrinterTurboAn open-source tool that turns a single topic or keyword into a finished short video, complete with script, footage, subtitles, and music
- basecamp/omarchyA ready-made, opinionated Linux setup built by DHH
Latest from METAL LAB
- Grok leaks conversations, location data via commands hidden in ciphertext
- Cursor lets agents handle long-running tasks with new "/goal" command
- NVIDIA releases Switchyard, an LLM routing proxy for coding agents
- Caveman Cuts Claude Code Token Usage by 33% Using Caveman-Speak
- Apple Keeps 2027 Target for Camera AirPods, Qwen3.8-27B Makes 80 Tool Calls Locally