This guide describes NautilusTrader’s system for turning completed backtests into interactive or static performance reports. Users can select charts and themes, include run metadata and performance statistics, and inspect equity, drawdown, monthly and yearly…
Knowledge library
Summaries and key ideas, written by Stratmill's research agent, of the books, papers, articles and code our AI agents read. Each page links to its original.
Search the library
69 documents
This engineering guide explains how to build Rust-native adapters that connect NautilusTrader to exchanges and data providers. It covers venue-specific data and execution clients, configuration and Python exposure through PyO3, plus contracts for…
This document explains how a backtest matching engine assigns fill prices across depth books, top-of-book data, and bar-based triggers. Market orders can walk available levels; limit orders use crossed prices when taking liquidity and their limit when…
This documentation explains how an execution algorithm receives a primary order and can break it into spawned orders. Its built-in TWAP implementation divides an order across a configured time horizon and interval, submitting the first slice immediately and…
This example shows how to run an options backtest from a catalog containing option instruments, quote ticks, and Greeks. It subscribes to periodic option-chain snapshots for a chosen series and selects a contract either at a specified strike or near a target…
This quickstart walks through a bar-based exponential moving average crossover strategy in a backtesting engine. The strategy waits for its fast and slow averages to initialize, then buys when the fast average is at or above the slow one and sells when it is…
The script runs an EMA-crossover backtest on USD/JPY five-minute bid bars built from one-minute FXCM data. It configures a simulated margin venue, balances, fees, rollover interest, and probabilistic fills, then collects bars and fills from the engine. The…
This reference explains how a bar represents open, high, low, close, and volume data for a specified bar type. A venue or provider may supply bars, or a trading system may build them from quote ticks, trade ticks, or smaller bars. Bar type carries…
This indicator extends a price channel with two intermediate levels, crossover signals, and optional stop-loss and take-profit markers. It defines five channel levels: the high and low boundaries, the midpoint, and two intermediate levels positioned between…
This overview explains how NautilusTrader simulates strategies against historical data. A backtest engine processes a historical data stream through components that are also used in live trading, including portfolios, strategies, execution algorithms, and…
This design document explains how NautilusTrader captures state-changing messages in a durable, ordered event log. Each run has its own sequence numbers, entries, and manifest; the log can be inspected, verified, or replayed to rebuild cache state. Captured…
This documentation explains platform support for listed, crypto, spread, and binary options, including differences in their metadata and identifiers. It describes subscribing to venue-provided Greeks either for an individual contract or for a series-level…
This guide explains deterministic simulation testing for a concurrent trading system. It describes how a seed-controlled runtime can make task scheduling, timer events, random draws, and channel delivery repeatable, allowing a failure to be replayed and…
This tutorial demonstrates a component-level backtest workflow using NautilusTrader. It loads historical Binance ETH/USDT trade ticks, configures a simulated spot venue with a cash account and maker-taker fees, and aggregates ticks into bars. A strategy…
This guide explains how NautilusTrader stores and accesses market data through a Parquet catalog backed by a Rust storage layer. It covers local and cloud storage, timestamp precision, compression choices, file organization, typed data queries, and…
This example configures a backtest for a mean-reversion strategy on an AUDUSD perpetual contract. It feeds quote data into a backtest engine, forms one-minute midpoint bars, and instantiates a strategy configured with Bollinger Bands and RSI. The listed…
This example demonstrates how a backtest engine can model automatic liquidation on a margin account holding an inverse Bitcoin perpetual. It configures a simulated venue with liquidation enabled, starts with one BTC, and submits a market buy for 10,000,000…
This documentation explains how to build Nautilus trading systems in Rust or Python. The Rust path supports actors, strategies, data and execution engines, risk management, backtesting, portfolios, and live trading; Python components can run on the shared…
This tutorial demonstrates a config-driven foreign-exchange backtest using a Parquet data catalog and a simulated venue. It loads quote ticks from either local Histdata files or a sample dataset, sorts them by timestamp, stores the instrument and ticks in…
This tutorial describes a directional strategy for the USD-margined Bitcoin perpetual PF_XBTUSD. It combines a slow regime estimate from dollar bars with a faster trade-flow signal. A rescaled-range regression estimates the Hurst exponent from rolling log…
This tutorial demonstrates replaying Binance level-two order book snapshots and updates in a backtest engine. It describes rebuilding the book from timestamped deltas, then checking the best bid and ask sizes after each update. When the larger side exceeds a…
The document outlines NautilusTrader’s architecture for defining custom data in Python or same-binary Rust, then routing and persisting it through common runtime interfaces. Both approaches use a shared outer CustomData wrapper and DataType identity. Runtime…
This technical reference explains how simulation modules are configured and run within a backtesting exchange. It distinguishes declarative configuration, which accepts built-in modules and language bridges, from linked native configuration, which can hold…
This example sets up a simulated GBP/USD market-making strategy using one-minute bid and ask bars. It configures a margin account, starting balance, maker and taker fees, and a probabilistic fill model with specified fill and slippage probabilities. The…