NautilusTrader
Concepts

Concepts

These guides explain the core components, architecture, and design of NautilusTrader.

Overview

Main features and intended use cases for the platform.

Architecture

The principles, structures, and designs that underpin the platform.

Actors

The Actor component for interacting with the trading system.

Strategies

How to implement trading strategies using the Strategy component.

Instruments

Instrument definitions for tradable assets and contracts.

Value Types

Immutable numeric types (Price, Quantity, Money), their arithmetic behavior, precision handling, and type-specific constraints.

Data

Built-in data types for the trading domain, and how to work with custom data.

Execution

Trade execution and order management across multiple strategies and venues, including components and the flow of execution messages.

Orders

Available order types, supported execution instructions, advanced order types, and emulated orders.

Positions

Position lifecycle, aggregation from order fills, PnL calculations, and position snapshotting for netting OMS configurations.

Cache

The Cache is the central in-memory store for all trading-related data.

Message Bus

Decoupled messaging between components, supporting point-to-point, publish/subscribe, and request/response patterns.

Portfolio

Tracks all positions across strategies and instruments, providing a unified view of holdings, risk exposure, and performance.

Reports

Execution reports, portfolio analysis, PnL accounting, and backtest post-run analysis.

Logging

High-performance logging for both backtesting and live trading, implemented in Rust.

Backtesting

Running simulated trading on historical data using a specific system implementation.

Visualization

Interactive tearsheets for analyzing backtest results, including charts, themes, customization options, and custom visualizations.

Live Trading

Deploying backtested strategies in real-time without code changes, and the key differences between backtesting and live trading.

Adapters

Requirements and best practices for developing integration adapters for data providers and trading venues.

The Python API reference (linked in the sidebar) is the source of truth for the platform. If there are discrepancies between these guides and the API reference, the API reference is correct.

On this page