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…
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
14 documents
This document explains how NautilusTrader’s shared network clients add trading-system behavior to HTTP, WebSocket, and raw TCP transports. It covers quota sharing, proxy selection, connection reuse, retries, response limits, streaming deadlines, and…
This documentation explains three trading-specific numeric types: Price for market levels, Quantity for non-negative sizes, and Money for signed amounts associated with a currency. The types are immutable and use fixed-point representation to support…
The document explains how a trading platform defines local synthetic instruments by applying formulas to prices from one or more component instruments. These derived prices can feed strategies and data actors, support derived quotes, trades, and bars, and…
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…
The document explains how a simulated trading engine processes each market-data point in three stages: the exchange matches existing orders against the updated market, strategies receive the data and can issue commands, and venues settle eligible commands…
This document describes a plotting workflow for examining Betfair backtest logs that record bid and ask volumes by runner. It extracts periodic batch volumes and cumulative imbalance, then creates three visual views: imbalance over successive updates, the…
This guide explains how to design, run, and profile Rust benchmarks for trading software. It distinguishes elapsed-time measurement with Criterion, instruction counts with iai, simulated CPU comparisons with CodSpeed, and sampled call-stack profiling with…
The document explains how to migrate an existing Nautilus Parquet catalog into the current Arrow representation. The workflow first runs a dry run to inspect supported files, schemas, and layout issues, then converts into a separate new or empty destination.…
This Chinese equity screen looks for stocks with daily price amplitude above 1%, at least one year since listing, and large-order net volume above 0.05 for more than three consecutive days. The rationale is that a minimum level of movement indicates market…
This document sets out how contributors should measure and report performance in trading software. It distinguishes small hot-path microbenchmarks from scenario benchmarks that approximate larger user workflows, and argues that benchmarks should represent…
The document explains how a trading portfolio values positions, converts PnL and exposure across currencies, calculates equity, and records account snapshots. It describes price and exchange-rate selection, including mark prices, side-specific quotes, last…
The i-SpectrAnalysis indicator smooths a price series by filtering out higher-order harmonics. The document says the same approach can be applied to other indicator values and presents low delay as its main advantage. Its parameters include a series length,…
This tutorial demonstrates a Rust backtest that replays historical Betfair exchange data and measures order book volume imbalance for each runner. The actor sums back and lay volumes from book updates, then calculates signed imbalance as the difference…