repowisenautechsystems/nautilus_trader

nautechsystems / nautilus_trader

Production-grade Rust-native trading engine with deterministic event-driven architecture

Rust★ 29,651

github.com/nautechsystems/nautilus_traderIndexed at 8160730Up to date with upstream

What is nautilus_trader?

nautilus_trader is a Rust-native engine for multi-asset, multi-venue trading systems. It supports research, deterministic simulation, and live execution through one event-driven architecture, with Python used for strategy logic, configuration, and orchestration. The main implementation is Rust, with Python bindings provided through PyO3.

Written by a model from the README and the source

5,357 files and 139,028 symbols in 11 modules, led by Rust (2,567 files) and Python (1,378).

Code health

5.4out of 10Needs work

This codebase scores 5.4 out of 10 for code health, which we rate needs work. It also scores maintainability 6.1 and static performance 9.9 out of 10. The three are scored separately and never blended into one number. Risk is concentrated, as it usually is: 766 of 5,357 files are git hotspots, and they average 3.5 — which is where the fixes pay off most.

On the leaderboards:#10 of 13 Rust repos

Use nautechsystems/nautilus_trader in your agent

Point Claude Code, Cursor, Codex or VS Code at this repository. Your agent gets the index this page is built from: cited answers, callers, history and health for any file.

  1. 1.In Claude, open Customize → Connectors, click +, then Add custom connector. On a Team or Enterprise plan an owner adds it first under Organization settings → Connectors.
  2. 2.Paste the server URL below as the Remote MCP server URL, then click Add.
  3. 3.Click Connect. A Repowise sign-in window opens. Approve access.
  4. 4.Repowise's tools are now available in your Claude chats.

Connect with one click. Sign in with Repowise (OAuth), no API key to copy. Works in Claude on the web, desktop, and mobile.

Docs
bash
https://api.repowise.dev/mcp/nautechsystems/nautilus_trader
Editors need an API key: sign in to create one.Sign in to connect

This repo is public, so anyone with a Repowise account and an API key can connect.

Try asking

  • get_overview()
  • get_answer("how is nautilus_trader put together?")
  • get_why("why is nautilus_trader structured this way?")

Explore nautilus_trader

Key features of nautilus_trader

  • NautilusTrader supports multi-asset and multi-venue trading systems across research, simulation, and live execution.
  • NautilusTrader provides modular adapters for REST APIs and WebSocket feeds.
  • NautilusTrader supports backtesting across multiple venues, instruments, and strategies with historical quote tick, trade tick, bar, order book, and custom data.
  • NautilusTrader supports advanced order types, conditional triggers, execution instructions, and contingency orders.
  • NautilusTrader allows strategies to use identical implementations between research and live deployment.
  • NautilusTrader supports user-defined components and system assembly through its cache and message bus.

How nautechsystems/nautilus_trader works

nautilus_trader uses a Rust core to run event-driven trading systems with the same execution semantics and deterministic time model in research and live environments. Python acts as the control plane for strategy logic, configuration, and orchestration, while systems can also be written entirely in Rust. The crates directory holds the Rust implementation, including the matching engine in crates/execution/src/matching_engine/engine.rs. The nautilus_trader directory provides the Python-facing package used to compose and control systems. Adapters translate REST APIs and WebSocket feeds into a unified interface and normalized domain model. The tests directory covers components such as data, execution, and portfolio behavior.

The codebase has 5,357 files and 139,028 symbols in 11 modules, led by Rust, Python and Shell. Code health is 5.4 out of 10, rated needs work.

nautechsystems/nautilus_trader FAQ

What is nautilus_trader?

nautilus_trader is a Rust-native engine for multi-asset, multi-venue trading systems. It supports research, deterministic simulation, and live execution.

How does nautilus_trader work?

nautilus_trader uses a Rust event-driven core and Python as the control plane. Adapters normalize venue and data-provider APIs, while the same execution semantics and time model serve research and live systems.

What language is nautilus_trader written in?

nautilus_trader is primarily written in Rust. Python bindings use PyO3, and examples and components can also use Python, Cython, or Rust.

How is the nautilus_trader code organized?

nautilus_trader organizes its Rust implementation under crates and its Python-facing package under nautilus_trader. Tests, documentation, examples, scripts, and patches are organized in separate top-level directories.

Who is nautilus_trader for?

nautilus_trader is for developing multi-asset, multi-venue trading systems across research, simulation, and live execution. It supports strategy development in Python, Cython, or Rust.

What license does nautilus_trader use?

nautilus_trader uses the LGPL-3.0 license.

The summary, features and answers on this page are written by a model from the README and the source, and refreshed with each index.

About this page

Get a page like this for your own codebase

Repowise built this map of nautechsystems/nautilus_trader from its source and git history. It parses every symbol, draws the dependency graph, scores each file's health from complexity, duplication, coverage and churn, finds hotspots and owners in the history, and writes documentation for every module. Your coding agent reads the same index over MCP, so its answers cite real files.

Index your repo freeSee how Repowise worksFree for 2 public repos, with a page like this one.

Prefer local? pip install repowise && repowise init indexes your own checkout, no account needed.