Expand description
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.
§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 main nautilus_trader
Python package, or as part of a Rust only build.
ffi
: Enables the C foreign function interface (FFI) fromcbindgen
.python
: Enables Python bindings frompyo3
.stubs
: Enables type stubs for use in testing scenarios.
Modules§
- A common in-memory
Cache
for market and execution related data. - Real-time and static test
Clock
implementations. - A user custom data type.
- Enumerations for common components.
- Factories for constructing domain objects such as orders.
- C foreign function interface (FFI) from
cbindgen
. - Provides generation of identifiers such as
ClientOrderId
andPositionId
. - The logging framework for Nautilus systems.
- A common in-memory
MessageBus
for loosely coupled message passing patterns. - Python bindings from
pyo3
. - The centralized Tokio runtime for a running Nautilus system.
- A user signal type.
- Common test related helper functions.
- Real-time and test timers for use with
Clock
implementations. - Exchange rate calculations between currencies.