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.