Expand description
Data engine and market data processing for NautilusTrader.
The data crate provides a comprehensive framework for handling market data ingestion, processing, and aggregation within the NautilusTrader ecosystem. This includes real-time data streaming, historical data management, and various aggregation methodologies:
- High-performance data engine for orchestrating data operations.
- Data client infrastructure for connecting to market data providers.
- Bar aggregation machinery supporting tick, volume, value, and time-based aggregation.
- Order book management and delta processing capabilities.
- Subscription management and data request handling.
- Configurable data routing and processing pipelines.
§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.high-precision
: Enables high-precision mode to use 128-bit value types.defi
: Enables DeFi (Decentralized Finance) support.
Re-exports§
pub use client::DataClient;
pub use client::DataClientAdapter;
Modules§
- aggregation
- Bar aggregation machinery.
- client
- Base data client functionality.
- engine
- Provides a high-performance
DataEngine
for all environments.