NautilusTrader is an open-source, high-performance, production-grade algorithmic trading platform, provides 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. The platform is 'AI-first', designed to develop and deploy algorithmic trading strategies within a highly performant and robust Python native environment. This helps to address the parity challenge of keeping the Python research/backtest environment, consistent with the production live trading environment. NautilusTraders design, architecture and implementation philosophy holds software correctness and safety at the highest level, with the aim of supporting Python native, mission-critical, trading system backtesting and live deployment workloads.
Features
- Core written in Rust with asynchronous networking using tokio
- Type safety and thread safety through Rust. Redis backed performant state persistence
- OS independent, runs on Linux, macOS, Windows. Deploy using Docker
- Modular adapters mean any REST, WebSocket, or FIX API can be integrated
- Add user-defined custom components, or assemble entire systems from scratch leveraging the cache and message bus
- Run with multiple venues, instruments and strategies simultaneously using historical quote tick, trade tick, bar, order book and custom data with nanosecond resolution
- Use identical strategy implementations between backtesting and live deployments