📦nautechsystems / nautilus_trader
← 返回首页
Production-grade Rust-native trading engine with deterministic event-driven architecture

📄 仓库 README

在 GitHub 查看 ↗
来自 GitHub 仓库自述文件 · 版权归原作者所有

NautilusTrader

rustc crates.io codspeed pythons pypi-version Downloads Discord

Branch Version Status
master version build
nightly version build
develop version build
Platform Rust Python
Linux (x86_64) 1.99.1 3.13-3.14
Linux (ARM64) 1.99.1 3.13-3.14
macOS (ARM64) 1.99.1 3.13-3.14
Windows (x86_64) 1.99.1 3.13-3.14

Introduction

NautilusTrader is an open-source, production-grade, Rust-native engine for multi-asset, multi-venue trading systems.

The system spans research, deterministic simulation, and live execution within a single event-driven architecture, with Python serving as the control plane for strategy logic, configuration, and orchestration.

This separation provides the performance and safety of a compiled trading engine with the flexibility of Python for system composition and strategy development. Trading systems can also be written entirely in Rust for mission-critical workloads.

The same strategy and execution-algorithm code can run across backtest and live systems, reducing deployment divergence. Live execution still introduces venue, transport, timing, persistence, external-activity, and reconciliation behavior that a simulation may not reproduce. See Backtest and live differences.

NautilusTrader is asset-class-agnostic. Any venue with a REST API or WebSocket feed can be integrated through modular adapters. Current integrations span crypto exchanges (CEX and DEX), traditional markets (FX, equities, futures, options), and betting exchanges.

nautilus-trader

Features

  • Fast: Rust core with the mimalloc allocator and asynchronous networking using tokio.
  • Reliable: Type- and thread-safety backed by Rust, with optional Redis-backed state persistence.
  • Portable: Runs on Linux, macOS, and Windows. Deploy using Docker.
  • Flexible: Modular adapters integrate any REST API or WebSocket feed.
  • Advanced: Time in force IOC, FOK, GTC, GTD, DAY, AT_THE_OPEN, AT_THE_CLOSE, advanced order types and conditional triggers. Execution instructions post-only, reduce-only, and icebergs. Contingency orders including OCO, OUO, OTO.
  • Customizable: User-defined components, or assemble entire systems from scratch using the cache and message bus.
  • Backtesting: Multiple venues, instruments, and strategies simultaneously using historical quote tick, trade tick, bar, order book, and custom data with nanosecond resolution.
  • Live: Identical strategy implementations between research and live deployment.
  • Multi-venue: Run market-making and cross-venue strategies across multiple venues simultaneously.
  • AI Training: Engine fast enough to train AI trading agents (RL/ES).

nautilus

nautilus - from ancient Greek 'sailor' and naus 'ship'.

The nautilus shell consists of modular chambers with a growth factor which approximates a logarithmic spiral. The idea is that this can be translated to the aesthetics of design and architecture.

Why NautilusTrader?

Trading strategy research is often conducted in Python using vectorized approaches, while production trading systems are implemented separately using event-driven architectures in compiled languages.

NautilusTrader removes this separation.

A Rust-native core provides a deterministic event-driven runtime for both research and live execution, while Python serves as the control plane. The same architecture, execution semantics, and time model operate across both environments, allowing strategies to move from research to production without reimplementation.

Python bindings are provided via PyO3 for the Rust-native v2 runtime. During the v2 transition, v1 receives only critical security backports on the develop_v1 branch. See the v2 migration guide for migration steps and compatibility details. No Rust toolchain is required to install prebuilt wheels.

This project makes the Soundness Pledge:

"The intent of this project is to be free of soundness bugs. The developers will do their best to avoid them, and welcome help in analyzing and fixing them."

[!NOTE]

MSRV: NautilusTrader relies heavily on improvements in the Rust language and compiler. As a result, the Minimum Supported Rust Version (MSRV) is generally equal to the latest stable release of Rust.

Integrations

NautilusTrader is modularly designed to work with adapters, enabling connectivity to trading venues and data providers by translating their raw APIs into a unified interface and normalized domain model.

The following integrations are available or planned; see docs/integrations/ for details:

Name ID Type Status Docs
AX Exchange AX Derivatives Exchange status Guide
Betfair BETFAIR Sports Betting Exchange status Guide
Binance BINANCE Crypto Exchange (CEX) status Guide
Blockchain BLOCKCHAIN DeFi Data Provider status Guide
Bybit BYBIT Crypto Exchange (CEX) status Guide
CoinAPI COINAPI Data Provider status Guide
Coinbase COINBASE Crypto Exchange (CEX) ![status](https:

📈 近 7 天 Star 趋势

每日新增 Star(柱)与累计 Star(线)· 数据来自 GitHub

🏆 排名变化趋势

在各榜单中的排名历史(数字越小越靠前)

📋 历史上榜记录

每次快照的详细数据
日期 榜单 排名 周期新增 总 STAR