Crate nautilus_execution

Source
Expand description

Order execution engine for NautilusTrader.

The execution crate provides a comprehensive order execution system that handles the complete order lifecycle from submission to fill processing. This includes sophisticated order matching, execution venue integration, and advanced order type emulation:

  • Execution engine: Central orchestration of order routing and position management.
  • Order matching engine: High-fidelity market simulation for backtesting and paper trading.
  • Order emulator: Advanced order types not natively supported by venues (trailing stops, contingent orders).
  • Execution clients: Abstract interfaces for connecting to trading venues and brokers.
  • Order manager: Local order lifecycle management and state tracking.
  • Matching core: Low-level order book and price-time priority matching algorithms.
  • Fee and fill models: Configurable execution cost simulation and realistic fill behavior.

The crate supports both live trading environments (with real execution clients) and simulated environments (with matching engines), making it suitable for production trading, strategy development, and comprehensive backtesting.

§Platform

NautilusTrader is an open-source, high-performance, production-grade algorithmic trading platform, providing quantitative traders with the ability to backtest portfolios of automated trading strategies on historical data with an event-driven engine, and also deploy those same strategies live, with no code changes.

NautilusTrader’s design, architecture, and implementation philosophy prioritizes software correctness and safety at the highest level, with the aim of supporting mission-critical, trading system backtesting and live deployment workloads.

§Feature flags

This crate provides feature flags to control source code inclusion during compilation, depending on the intended use case, i.e. whether to provide Python bindings for the nautilus_trader Python package, or as part of a Rust only build.

  • ffi: Enables the C foreign function interface (FFI) from cbindgen.
  • python: Enables Python bindings from PyO3.

Modules§

client
Execution client implementations for trading venue connectivity.
engine
Provides a generic ExecutionEngine for all environments.
matching_core
A common OrderMatchingCore for the OrderMatchingEngine and other components.
matching_engine
Order matching engine components for simulating trading venue behavior.
models
Execution models and data structures.
order_emulator
Order emulation components for simulating order execution behavior.
order_manager
Order management component.
trailing