One email each morning — yesterday's AI, sortedGet it in your inbox

METAL LAB

nautechsystems/nautilus_trader

26,559+80 todayRust

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

  1. Normally, trading strategies get sketched out in Python during research, then rebuilt separately for production — this project tries to eliminate that duplicate work
  2. 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
  3. It connects to many exchanges and data providers through modular adapters, including Binance, Bybit, OKX, Coinbase, Kraken, dYdX, Interactive Brokers, and Databento
  4. 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
  5. 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 GitHub

Trending repos

All repos →

Latest from METAL LAB