Skip to content

Commit

Permalink
Align docs overview with README
Browse files Browse the repository at this point in the history
  • Loading branch information
cjdsellers committed Jan 5, 2025
1 parent dd48273 commit 621c638
Showing 1 changed file with 18 additions and 14 deletions.
32 changes: 18 additions & 14 deletions docs/concepts/overview.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# Overview

## Introduction

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.
Expand All @@ -18,15 +20,16 @@ including FX, Equities, Futures, Options, CFDs, Crypto and Betting - across mult

## Features

- **Fast**: C-level speed through Rust and Cython. Asynchronous networking with [uvloop](https://github.com/MagicStack/uvloop)
- **Reliable**: Type safety through Rust and Cython. Redis backed performant state persistence
- **Flexible**: OS independent, runs on Linux, macOS, Windows. Deploy using Docker
- **Integrated**: Modular adapters mean any REST, WebSocket, or FIX API can be integrated
- **Advanced**: Time in force `IOC`, `FOK`, `GTD`, `AT_THE_OPEN`, `AT_THE_CLOSE`, advanced order types and conditional triggers. Execution instructions `post-only`, `reduce-only`, and icebergs. Contingency order lists including `OCO`, `OTO`
- **Backtesting**: Run with multiple venues, instruments and strategies simultaneously using historical quote tick, trade tick, bar, order book and custom data with nanosecond resolution
- **Live**: Use identical strategy implementations between backtesting and live deployments
- **Multi-venue**: Multiple venue capabilities facilitate market making and statistical arbitrage strategies
- **AI Training**: Backtest engine fast enough to be used to train AI trading agents (RL/ES)
- **Fast**: Core is written in Rust with asynchronous networking using [tokio](https://crates.io/crates/tokio).
- **Reliable**: Type safety and thread safety through Rust. Redis-backed performant state persistence (optional).
- **Portable**: OS independent, runs on Linux, macOS, and Windows. Deploy using Docker.
- **Flexible**: Modular adapters mean any REST, WebSocket, or FIX API can be integrated.
- **Advanced**: Time in force `IOC`, `FOK`, `GTD`, `AT_THE_OPEN`, `AT_THE_CLOSE`, advanced order types and conditional triggers. Execution instructions `post-only`, `reduce-only`, and icebergs. Contingency order lists including `OCO`, `OTO`.
- **Customizable**: Add user-defined custom components, or assemble entire systems from scratch leveraging the cache and message bus.
- **Backtesting**: Run with multiple venues, instruments and strategies simultaneously using historical quote tick, trade tick, bar, order book and custom data with nanosecond resolution.
- **Live**: Use identical strategy implementations between backtesting and live deployments.
- **Multi-venue**: Multiple venue capabilities facilitate market-making and statistical arbitrage strategies.
- **AI Training**: Backtest engine fast enough to be used to train AI trading agents (RL/ES).

![Nautilus](https://github.com/nautechsystems/nautilus_trader/blob/develop/docs/_images/nautilus-art.png?raw=true "nautilus")
> *nautilus - from ancient Greek 'sailor' and naus 'ship'.*
Expand All @@ -36,10 +39,10 @@ including FX, Equities, Futures, Options, CFDs, Crypto and Betting - across mult
## Why NautilusTrader?

- **Highly performant event-driven Python**: Native binary core components
- **Parity between backtesting and live trading**: Identical strategy code
- **Reduced operational risk**: Risk management functionality, logical correctness and type safety
- **Highly extendable**: Message bus, custom components and actors, custom data, custom adapters
- **Highly performant event-driven Python**: Native binary core components.
- **Parity between backtesting and live trading**: Identical strategy code.
- **Reduced operational risk**: Enhanced risk management functionality, logical accuracy, and type safety.
- **Highly extendable**: Message bus, custom components and actors, custom data, custom adapters.

Traditionally, trading strategy research and backtesting might be conducted in Python (or other suitable language)
using vectorized methods, with the strategy then needing to be reimplemented in a more event-drive way
Expand All @@ -48,7 +51,8 @@ express the granular time and event dependent complexity of real-time trading, w
proven to be more suitable due to their inherently higher performance, and type safety.

One of the key advantages of NautilusTrader here, is that this reimplementation step is now circumvented - as the critical core components of the platform
have all been written entirely in Rust or Cython. This means we're using the right tools for the job, where systems programming languages compile performant binaries,
have all been written entirely in [Rust](https://www.rust-lang.org/) or [Cython](https://cython.org/).
This means we're using the right tools for the job, where systems programming languages compile performant binaries,
with CPython C extension modules then able to offer a Python native environment, suitable for professional quantitative traders and trading firms.

## Use cases
Expand Down

0 comments on commit 621c638

Please sign in to comment.