[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-234":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":9,"totalLinesOfCode":9,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":9,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":9,"rankLanguage":9,"license":9,"archived":22,"fork":22,"defaultBranch":23,"hasWiki":22,"hasPages":22,"topics":24,"createdAt":9,"pushedAt":9,"updatedAt":38,"readmeContent":39,"aiSummary":40,"trendingCount":16,"starSnapshotCount":16,"syncStatus":41,"lastSyncTime":42,"discoverSource":43},234,"nautilus_trader","nautechsystems\u002Fnautilus_trader","nautechsystems","Production-grade Rust-native trading engine with deterministic event-driven architecture",null,"https:\u002F\u002Fgithub.com\u002Fnautechsystems\u002Fnautilus_trader","Rust",23429,2966,193,66,0,11,142,783,75,45,false,"main",[25,26,27,28,29,30,31,32,33,34,35,36,37],"algorithmic-trading-engine","trading-platform","crypto-trading","artificial-intelligence","machine-learning","trading","python","equity-trading","forex","futures-trading","sports-betting","rust","options-trading","2026-06-12 02:00:10","# \u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Fnautechsystems\u002Fnautilus_trader\u002Fraw\u002Fdevelop\u002Fassets\u002Fnautilus-trader-logo.png\" width=\"500\">\n\n[![codecov](https:\u002F\u002Fcodecov.io\u002Fgh\u002Fnautechsystems\u002Fnautilus_trader\u002Fbranch\u002Fmaster\u002Fgraph\u002Fbadge.svg?token=DXO9QQI40H)](https:\u002F\u002Fcodecov.io\u002Fgh\u002Fnautechsystems\u002Fnautilus_trader)\n[![codspeed](https:\u002F\u002Fimg.shields.io\u002Fendpoint?url=https:\u002F\u002Fcodspeed.io\u002Fbadge.json)](https:\u002F\u002Fcodspeed.io\u002Fnautechsystems\u002Fnautilus_trader)\n![pythons](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fpyversions\u002Fnautilus_trader)\n![pypi-version](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fv\u002Fnautilus_trader)\n![pypi-format](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fformat\u002Fnautilus_trader?color=blue)\n[![Downloads](https:\u002F\u002Fpepy.tech\u002Fbadge\u002Fnautilus-trader)](https:\u002F\u002Fpepy.tech\u002Fproject\u002Fnautilus-trader)\n[![Discord](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FDiscord-%235865F2.svg?logo=discord&logoColor=white)](https:\u002F\u002Fdiscord.gg\u002FNautilusTrader)\n\n| Branch    | Version                                                                                                                                                                                                                     | Status                                                                                                                                                                                            |\n| :-------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |\n| `master`  | [![version](https:\u002F\u002Fimg.shields.io\u002Fendpoint?url=https%3A%2F%2Fraw.githubusercontent.com%2Fnautechsystems%2Fnautilus_trader%2Fmaster%2Fversion.json)](https:\u002F\u002Fpackages.nautechsystems.io\u002Fsimple\u002Fnautilus-trader\u002Findex.html)  | [![build](https:\u002F\u002Fgithub.com\u002Fnautechsystems\u002Fnautilus_trader\u002Factions\u002Fworkflows\u002Fbuild.yml\u002Fbadge.svg?branch=master)](https:\u002F\u002Fgithub.com\u002Fnautechsystems\u002Fnautilus_trader\u002Factions\u002Fworkflows\u002Fbuild.yml)  |\n| `nightly` | [![version](https:\u002F\u002Fimg.shields.io\u002Fendpoint?url=https%3A%2F%2Fraw.githubusercontent.com%2Fnautechsystems%2Fnautilus_trader%2Fnightly%2Fversion.json)](https:\u002F\u002Fpackages.nautechsystems.io\u002Fsimple\u002Fnautilus-trader\u002Findex.html) | [![build](https:\u002F\u002Fgithub.com\u002Fnautechsystems\u002Fnautilus_trader\u002Factions\u002Fworkflows\u002Fbuild.yml\u002Fbadge.svg?branch=nightly)](https:\u002F\u002Fgithub.com\u002Fnautechsystems\u002Fnautilus_trader\u002Factions\u002Fworkflows\u002Fbuild.yml) |\n| `develop` | [![version](https:\u002F\u002Fimg.shields.io\u002Fendpoint?url=https%3A%2F%2Fraw.githubusercontent.com%2Fnautechsystems%2Fnautilus_trader%2Fdevelop%2Fversion.json)](https:\u002F\u002Fpackages.nautechsystems.io\u002Fsimple\u002Fnautilus-trader\u002Findex.html) | [![build](https:\u002F\u002Fgithub.com\u002Fnautechsystems\u002Fnautilus_trader\u002Factions\u002Fworkflows\u002Fbuild.yml\u002Fbadge.svg?branch=develop)](https:\u002F\u002Fgithub.com\u002Fnautechsystems\u002Fnautilus_trader\u002Factions\u002Fworkflows\u002Fbuild.yml) |\n\n| Platform           | Rust   | Python    |\n| :----------------- | :----- | :-------- |\n| `Linux (x86_64)`   | 1.95.0 | 3.12-3.14 |\n| `Linux (ARM64)`    | 1.95.0 | 3.12-3.14 |\n| `macOS (ARM64)`    | 1.95.0 | 3.12-3.14 |\n| `Windows (x86_64)` | 1.95.0 | 3.12-3.14 |\n\n- **Docs**: \u003Chttps:\u002F\u002Fnautilustrader.io\u002Fdocs\u002F>\n- **Website**: \u003Chttps:\u002F\u002Fnautilustrader.io>\n- **Support**: [support@nautilustrader.io](mailto:support@nautilustrader.io)\n\n## Introduction\n\nNautilusTrader is an open-source, production-grade, Rust-native engine for multi-asset,\nmulti-venue trading systems.\n\nThe system spans research, deterministic simulation, and live execution within a single\nevent-driven architecture, with Python serving as the control plane for strategy logic,\nconfiguration, and orchestration.\n\nThis separation provides the performance and safety of a compiled trading engine with\nthe flexibility of Python for system composition and strategy development.\nTrading systems can also be written entirely in Rust for mission-critical workloads.\n\nThe same execution semantics and deterministic time model operate in both research and\nlive systems. Strategies deploy from research to production with no code changes,\nproviding research-to-live parity and reducing the divergence that typically introduces\ndeployment risk.\n\nNautilusTrader is asset-class-agnostic. Any venue with a REST API or WebSocket feed can be\nintegrated through modular adapters. Current integrations span crypto exchanges (CEX and\nDEX), traditional markets (FX, equities, futures, options), and betting exchanges.\n\n![nautilus-trader](https:\u002F\u002Fgithub.com\u002Fnautechsystems\u002Fnautilus_trader\u002Fraw\u002Fdevelop\u002Fassets\u002Fnautilus-trader.png \"nautilus-trader\")\n\n## Features\n\n- **Fast**: Rust core with asynchronous networking using [tokio](https:\u002F\u002Fcrates.io\u002Fcrates\u002Ftokio).\n- **Reliable**: Type- and thread-safety backed by Rust, with optional Redis-backed state persistence.\n- **Portable**: Runs on Linux, macOS, and Windows. Deploy using Docker.\n- **Flexible**: Modular adapters integrate any REST API or WebSocket feed.\n- **Advanced**: Time in force `IOC`, `FOK`, `GTC`, `GTD`, `DAY`, `AT_THE_OPEN`, `AT_THE_CLOSE`, advanced order types and conditional triggers. Execution instructions `post-only`, `reduce-only`, and icebergs. Contingency orders including `OCO`, `OUO`, `OTO`.\n- **Customizable**: User-defined components, or assemble entire systems from scratch using the [cache](https:\u002F\u002Fnautilustrader.io\u002Fdocs\u002Flatest\u002Fconcepts\u002Fcache) and [message bus](https:\u002F\u002Fnautilustrader.io\u002Fdocs\u002Flatest\u002Fconcepts\u002Fmessage_bus).\n- **Backtesting**: Multiple venues, instruments, and strategies simultaneously using historical quote tick, trade tick, bar, order book, and custom data with nanosecond resolution.\n- **Live**: Identical strategy implementations between research and live deployment.\n- **Multi-venue**: Run market-making and cross-venue strategies across multiple venues simultaneously.\n- **AI Training**: Engine fast enough to train AI trading agents (RL\u002FES).\n\n![nautilus](https:\u002F\u002Fgithub.com\u002Fnautechsystems\u002Fnautilus_trader\u002Fraw\u002Fdevelop\u002Fassets\u002Fnautilus-art.png \"nautilus\")\n\n> *nautilus - from ancient Greek 'sailor' and naus 'ship'.*\n>\n> *The nautilus shell consists of modular chambers with a growth factor which approximates a logarithmic spiral.\n> The idea is that this can be translated to the aesthetics of design and architecture.*\n\n## Why NautilusTrader?\n\nTrading strategy research is often conducted in Python using vectorized approaches, while\nproduction trading systems are implemented separately using event-driven architectures in\ncompiled languages.\n\nNautilusTrader removes this separation.\n\nA Rust-native core provides a deterministic event-driven runtime for both research and live\nexecution, while Python serves as the control plane. The same architecture, execution\nsemantics, and time model operate across both environments, allowing strategies to move\nfrom research to production without reimplementation.\n\nPython bindings are provided via [PyO3](https:\u002F\u002Fpyo3.rs), with an ongoing migration from\nCython. No Rust toolchain is required at install time.\n\nThis project makes the [Soundness Pledge](https:\u002F\u002Fraphlinus.github.io\u002Frust\u002F2020\u002F01\u002F18\u002Fsoundness-pledge.html):\n\n> “The intent of this project is to be free of soundness bugs.\n> The developers will do their best to avoid them, and welcome help in analyzing and fixing them.”\n\n> [!NOTE]\n>\n> **MSRV:** NautilusTrader relies heavily on improvements in the Rust language and compiler.\n> As a result, the Minimum Supported Rust Version (MSRV) is generally equal to the latest stable release of Rust.\n\n## Integrations\n\nNautilusTrader is modularly designed to work with *adapters*, enabling connectivity to trading venues\nand data providers by translating their raw APIs into a unified interface and normalized domain model.\n\nThe following integrations are currently supported; see [docs\u002Fintegrations\u002F](https:\u002F\u002Fnautilustrader.io\u002Fdocs\u002Flatest\u002Fintegrations\u002F) for details:\n\n| Name                                                                         | ID                    | Type                    | Status                                                  | Docs                                       |\n| :--------------------------------------------------------------------------- | :-------------------- | :---------------------- | :-------------------------------------------------------| :----------------------------------------- |\n| [AX Exchange](https:\u002F\u002Farchitect.exchange)                                    | `AX`                  | Perpetuals Exchange     | ![status](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fstable-green)    | [Guide](docs\u002Fintegrations\u002Farchitect_ax.md) |\n| [Betfair](https:\u002F\u002Fbetfair.com)                                               | `BETFAIR`             | Sports Betting Exchange | ![status](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fstable-green)    | [Guide](docs\u002Fintegrations\u002Fbetfair.md)      |\n| [Binance](https:\u002F\u002Fbinance.com)                                               | `BINANCE`             | Crypto Exchange (CEX)   | ![status](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fstable-green)    | [Guide](docs\u002Fintegrations\u002Fbinance.md)      |\n| [Coinbase](https:\u002F\u002Fcoinbase.com)                                             | `COINBASE`            | Crypto Exchange (CEX)   | ![status](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fbeta-yellow)     | [Guide](docs\u002Fintegrations\u002Fcoinbase.md)     |\n| [BitMEX](https:\u002F\u002Fwww.bitmex.com)                                             | `BITMEX`              | Crypto Exchange (CEX)   | ![status](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fstable-green)    | [Guide](docs\u002Fintegrations\u002Fbitmex.md)       |\n| [Bybit](https:\u002F\u002Fwww.bybit.com)                                               | `BYBIT`               | Crypto Exchange (CEX)   | ![status](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fstable-green)    | [Guide](docs\u002Fintegrations\u002Fbybit.md)        |\n| [Databento](https:\u002F\u002Fdatabento.com)                                           | `DATABENTO`           | Data Provider           | ![status](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fstable-green)    | [Guide](docs\u002Fintegrations\u002Fdatabento.md)    |\n| [Deribit](https:\u002F\u002Fwww.deribit.com)                                           | `DERIBIT`             | Crypto Exchange (CEX)   | ![status](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fstable-green)    | [Guide](docs\u002Fintegrations\u002Fderibit.md)      |\n| [dYdX](https:\u002F\u002Fdydx.exchange\u002F)                                               | `DYDX`                | Crypto Exchange (DEX)   | ![status](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fstable-green)    | [Guide](docs\u002Fintegrations\u002Fdydx.md)         |\n| [Hyperliquid](https:\u002F\u002Fhyperliquid.xyz)                                       | `HYPERLIQUID`         | Crypto Exchange (DEX)   | ![status](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fstable-green)    | [Guide](docs\u002Fintegrations\u002Fhyperliquid.md)  |\n| [Interactive Brokers](https:\u002F\u002Fwww.interactivebrokers.com)                    | `INTERACTIVE_BROKERS` | Brokerage (multi-venue) | ![status](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fstable-green)    | [Guide](docs\u002Fintegrations\u002Fib.md)           |\n| [Kraken](https:\u002F\u002Fkraken.com)                                                 | `KRAKEN`              | Crypto Exchange (CEX)   | ![status](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fstable-green)    | [Guide](docs\u002Fintegrations\u002Fkraken.md)       |\n| [OKX](https:\u002F\u002Fokx.com)                                                       | `OKX`                 | Crypto Exchange (CEX)   | ![status](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fstable-green)    | [Guide](docs\u002Fintegrations\u002Fokx.md)          |\n| [Polymarket](https:\u002F\u002Fpolymarket.com)                                         | `POLYMARKET`          | Prediction Market (DEX) | ![status](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fstable-green)    | [Guide](docs\u002Fintegrations\u002Fpolymarket.md)   |\n| [Tardis](https:\u002F\u002Ftardis.dev)                                                 | `TARDIS`              | Crypto Data Provider    | ![status](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fstable-green)    | [Guide](docs\u002Fintegrations\u002Ftardis.md)       |\n\n- **ID**: The default client ID for the integrations adapter clients.\n- **Type**: The type of integration (often the venue type).\n\n### Status\n\n- `planned`: Planned for future development.\n- `building`: Under construction and likely not in a usable state.\n- `beta`: Completed to a minimally working state and in a beta testing phase.\n- `stable`: Stabilized feature set and API, the integration has been tested by both developers and users to a reasonable level (some bugs may still remain).\n\nSee the [Integrations](https:\u002F\u002Fnautilustrader.io\u002Fdocs\u002Flatest\u002Fintegrations\u002F) documentation for further details.\n\n## Roadmap\n\nThe [Roadmap](\u002FROADMAP.md) outlines NautilusTrader's strategic direction.\nCurrent priorities include completing the Rust-native core, improving documentation, and enhancing code ergonomics.\n\nThe open-source project focuses on single-node backtesting and live trading for individual and small-team quantitative traders.\nUI dashboards, distributed orchestration, and built-in AI\u002FML tooling are out of scope to maintain focus on the core engine and ecosystem sustainability.\n\nNew integration proposals should start with an RFC issue to discuss suitability before submitting a PR.\nSee [Community-contributed integrations](\u002FROADMAP.md#community-contributed-integrations) for guidelines.\n\n## Versioning and releases\n\n> [!WARNING]\n>\n> **NautilusTrader is still under active development**. Some features may be incomplete, and while\n> the API is becoming more stable, breaking changes can occur between releases.\n> We strive to document these changes in the release notes on a **best-effort basis**.\n\nWe aim to follow a **bi-weekly release schedule**, though experimental or larger features may cause delays.\n\n### Branches\n\nWe aim to maintain a stable, passing build across all branches.\n\n- `master`: Reflects the source code for the latest released version; recommended for production use.\n- `nightly`: Daily snapshots of the `develop` branch for early testing; merged at **14:00 UTC** and as required.\n- `develop`: Active development branch for contributors and feature work.\n\n> [!NOTE]\n>\n> Our [roadmap](\u002FROADMAP.md) aims to achieve a **stable API for version 2.x** (likely after the Rust port).\n> Once this milestone is reached, we plan to implement a formal deprecation process for any API changes.\n> This approach allows us to maintain a rapid development pace for now.\n\n## Precision mode\n\nNautilusTrader supports two precision modes for its core value types (`Price`, `Quantity`, `Money`),\nwhich differ in their internal bit-width and maximum decimal precision.\n\n- **High-precision**: 128-bit integers with up to 16 decimals of precision, and a larger value range.\n- **Standard-precision**: 64-bit integers with up to 9 decimals of precision, and a smaller value range.\n\n> [!NOTE]\n>\n> By default, the official Python wheels ship in high-precision (128-bit) mode on Linux and macOS.\n> On Windows, only standard-precision (64-bit) Python wheels are available because MSVC's C\u002FC++ frontend\n> does not support `__int128`, preventing the Cython\u002FFFI layer from handling 128-bit integers.\n>\n> For pure Rust crates, high-precision works on all platforms (including Windows) since Rust handles\n> `i128`\u002F`u128` via software emulation. The default is standard-precision unless you explicitly enable\n> the `high-precision` feature flag.\n\nSee the [Installation Guide](https:\u002F\u002Fnautilustrader.io\u002Fdocs\u002Flatest\u002Fgetting_started\u002Finstallation) for further details.\n\n**Rust feature flag**: To enable high-precision mode in Rust, add the `high-precision` feature to your Cargo.toml:\n\n```toml\n[dependencies]\nnautilus_model = { version = \"*\", features = [\"high-precision\"] }\n```\n\n## Installation\n\nWe recommend using the latest supported version of Python and installing [nautilus_trader](https:\u002F\u002Fpypi.org\u002Fproject\u002Fnautilus_trader\u002F) inside a virtual environment to isolate dependencies.\n\n**There are two supported ways to install**:\n\n1. Pre-built binary wheel from PyPI *or* the Nautech Systems package index.\n2. Build from source.\n\n> [!TIP]\n>\n> We highly recommend installing using the [uv](https:\u002F\u002Fdocs.astral.sh\u002Fuv) package manager with a \"vanilla\" CPython.\n>\n> Conda and other Python distributions *may* work but aren’t officially supported.\n\n### From PyPI\n\nTo install the latest binary wheel (or sdist package) from PyPI using Python's pip package manager:\n\n```bash\npip install -U nautilus_trader\n```\n\nInstall optional dependencies as 'extras' for specific integrations (e.g., `betfair`, `docker`, `dydx`, `ib`, `polymarket`, `visualization`):\n\n```bash\npip install -U \"nautilus_trader[docker,ib]\"\n```\n\nSee the [Installation Guide](https:\u002F\u002Fnautilustrader.io\u002Fdocs\u002Flatest\u002Fgetting_started\u002Finstallation#extras) for the full list of available extras.\n\n### From the Nautech Systems package index\n\nThe Nautech Systems package index (`packages.nautechsystems.io`) complies with [PEP-503](https:\u002F\u002Fpeps.python.org\u002Fpep-0503\u002F) and hosts both stable and development binary wheels for `nautilus_trader`.\nThis enables users to install either the latest stable release or pre-release versions for testing.\n\n#### Stable wheels\n\nStable wheels correspond to official releases of `nautilus_trader` on PyPI, and use standard versioning.\n\nTo install the latest stable release:\n\n```bash\npip install -U nautilus_trader --index-url=https:\u002F\u002Fpackages.nautechsystems.io\u002Fsimple\n```\n\n> [!TIP]\n>\n> Use `--extra-index-url` instead of `--index-url` if you want pip to fall back to PyPI automatically.\n\n#### Development wheels\n\nDevelopment wheels are published from both the `nightly` and `develop` branches,\nallowing users to test features and fixes ahead of stable releases.\n\nThis process also helps preserve compute resources and provides easy access to the exact binaries tested in CI pipelines,\nwhile adhering to [PEP-440](https:\u002F\u002Fpeps.python.org\u002Fpep-0440\u002F) versioning standards:\n\n- `develop` wheels use the version format `dev{date}+{build_number}` (e.g., `1.208.0.dev20241212+7001`).\n- `nightly` wheels use the version format `a{date}` (alpha) (e.g., `1.208.0a20241212`).\n\n| Platform           | Nightly | Develop |\n| :----------------- | :------ | :------ |\n| `Linux (x86_64)`   | ✓       | ✓       |\n| `Linux (ARM64)`    | ✓       | -       |\n| `macOS (ARM64)`    | ✓       | -       |\n| `Windows (x86_64)` | ✓       | -       |\n\n**Note**: Development wheels from the `develop` branch publish for Linux x86_64 only.\nWindows, macOS, and Linux ARM64 builds run on the nightly schedule to keep CI feedback fast.\n\n> [!WARNING]\n>\n> We do not recommend using development wheels in production environments, such as live trading controlling real capital.\n\n#### Installation commands\n\nBy default, pip will install the latest stable release. Adding the `--pre` flag ensures that pre-release versions, including development wheels, are considered.\n\nTo install the latest available pre-release (including development wheels):\n\n```bash\npip install -U nautilus_trader --pre --index-url=https:\u002F\u002Fpackages.nautechsystems.io\u002Fsimple\n```\n\nTo install a specific development wheel (e.g., `1.221.0a20251026` for October 26, 2025):\n\n```bash\npip install nautilus_trader==1.221.0a20251026 --index-url=https:\u002F\u002Fpackages.nautechsystems.io\u002Fsimple\n```\n\n#### Available versions\n\nYou can view all available versions of `nautilus_trader` on the [package index](https:\u002F\u002Fpackages.nautechsystems.io\u002Fsimple\u002Fnautilus-trader\u002Findex.html).\n\nTo programmatically fetch and list available versions:\n\n```bash\ncurl -s https:\u002F\u002Fpackages.nautechsystems.io\u002Fsimple\u002Fnautilus-trader\u002Findex.html | sed -n 's\u002F.*\u003Ca href=\"\\([^\"]*\\)\".*\u002F\\1\u002Fp' | awk -F'#' '{print $1}' | sort\n```\n\n> [!NOTE]\n>\n> On Linux, confirm your glibc version with `ldd --version` and ensure it reports **2.35** or newer before installing binary wheels.\n\n#### Branch updates\n\n- `develop` branch wheels (`.dev`): Build and publish continuously with every merged commit.\n- `nightly` branch wheels (`a`): Build and publish daily when we automatically merge the `develop` branch at **14:00 UTC** (if there are changes).\n\n#### Retention policies\n\n- `develop` branch wheels (`.dev`): We retain only the most recent wheel build.\n- `nightly` branch wheels (`a`): We retain only the 30 most recent wheel builds.\n\n#### Verifying build provenance\n\nAll release artifacts (wheels and source distributions) published to PyPI, GitHub Releases,\nand the Nautech Systems package index include cryptographic attestations that prove their authenticity and build provenance.\n\nThese attestations are generated automatically during the CI\u002FCD pipeline using [SLSA](https:\u002F\u002Fslsa.dev\u002F) build provenance, and can be verified to ensure:\n\n- The artifact was built by the official NautilusTrader GitHub Actions workflow.\n- The artifact corresponds to a specific commit SHA in the repository.\n- The artifact hasn't been tampered with since it was built.\n\nTo verify a wheel file using the GitHub CLI:\n\n```bash\ngh attestation verify nautilus_trader-1.220.0-*.whl --owner nautechsystems\n```\n\nThis provides supply chain security by allowing you to cryptographically verify that the installed package came from the official NautilusTrader build process.\n\n> [!NOTE]\n>\n> Attestation verification requires the [GitHub CLI](https:\u002F\u002Fcli.github.com\u002F) (`gh`) to be installed.\n> Development wheels from `develop` and `nightly` branches are also attested and can be verified the same way.\n\n### From source\n\nIt's possible to install from source using pip if you first install the build dependencies as specified in the `pyproject.toml`.\n\n1. Install [rustup](https:\u002F\u002Frustup.rs\u002F) (the Rust toolchain installer):\n   - Linux and macOS:\n\n       ```bash\n       curl https:\u002F\u002Fsh.rustup.rs -sSf | sh\n       ```\n\n   - Windows:\n       - Download and install [`rustup-init.exe`](https:\u002F\u002Fwin.rustup.rs\u002Fx86_64)\n       - Install \"Desktop development with C++\" using [Build Tools for Visual Studio 2022](https:\u002F\u002Fvisualstudio.microsoft.com\u002Fvisual-cpp-build-tools\u002F)\n   - Verify (any system):\n       from a terminal session run: `rustc --version`\n\n2. Enable `cargo` in the current shell:\n   - Linux and macOS:\n\n       ```bash\n       source $HOME\u002F.cargo\u002Fenv\n       ```\n\n   - Windows:\n     - Start a new PowerShell\n\n3. Install [clang](https:\u002F\u002Fclang.llvm.org\u002F) (a C language frontend for LLVM):\n   - Linux (also installs [lld](https:\u002F\u002Flld.llvm.org\u002F), used as the Rust linker for faster builds):\n\n       ```bash\n       sudo apt-get install clang lld\n       ```\n\n   - macOS:\n\n       ```bash\n       xcode-select --install\n       ```\n\n   - Windows:\n       1. Add Clang to your [Build Tools for Visual Studio 2022](https:\u002F\u002Fvisualstudio.microsoft.com\u002Fvisual-cpp-build-tools\u002F):\n          - Start | Visual Studio Installer | Modify | C++ Clang tools for Windows (latest) = checked | Modify\n       2. Enable `clang` in the current shell:\n\n          ```powershell\n          [System.Environment]::SetEnvironmentVariable('path', \"C:\\Program Files\\Microsoft Visual Studio\\2022\\BuildTools\\VC\\Tools\\Llvm\\x64\\bin\\;\" + $env:Path,\"User\")\n          ```\n\n   - Verify (any system):\n       from a terminal session run: `clang --version`\n\n4. Install uv (see the [uv installation guide](https:\u002F\u002Fdocs.astral.sh\u002Fuv\u002Fgetting-started\u002Finstallation) for more details):\n\n    - Linux and macOS:\n\n        ```bash\n        curl -LsSf https:\u002F\u002Fastral.sh\u002Fuv\u002Finstall.sh | sh\n        ```\n\n    - Windows (PowerShell):\n\n        ```powershell\n        irm https:\u002F\u002Fastral.sh\u002Fuv\u002Finstall.ps1 | iex\n        ```\n\n5. Clone the source with `git`, and install from the project's root directory:\n\n    ```bash\n    git clone --branch develop --depth 1 https:\u002F\u002Fgithub.com\u002Fnautechsystems\u002Fnautilus_trader\n    cd nautilus_trader\n    uv sync --all-extras\n    ```\n\n> [!NOTE]\n>\n> The `--depth 1` flag fetches just the latest commit for a faster, lightweight clone.\n\n6. Set environment variables for PyO3 compilation (Linux and macOS only). Run these commands from\n   the repository root after `uv sync`:\n\n    ```bash\n    # Set the Python executable path for PyO3\n    export PYO3_PYTHON=\"$PWD\u002F.venv\u002Fbin\u002Fpython\"\n\n    # Linux only: Set the library path for the uv-managed Python runtime\n    PYTHON_LIB_DIR=\"$(\"$PYO3_PYTHON\" -c 'import sysconfig; print(sysconfig.get_config_var(\"LIBDIR\"))')\"\n    export LD_LIBRARY_PATH=\"$PYTHON_LIB_DIR${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}\"\n\n    # Required for Rust tests when using uv-installed Python\n    export PYTHONHOME=\"$(\"$PYO3_PYTHON\" -c 'import sys; print(sys.base_prefix)')\"\n    ```\n\n> [!NOTE]\n>\n> The `LD_LIBRARY_PATH` export is Linux-specific and not needed on macOS.\n>\n> The `PYTHONHOME` variable is required when running `make cargo-test` with a `uv`-installed Python.\n> Without it, tests that depend on PyO3 may fail to locate the Python runtime.\n\nSee the [Installation Guide](https:\u002F\u002Fnautilustrader.io\u002Fdocs\u002Flatest\u002Fgetting_started\u002Finstallation) for other options and further details.\n\n## Redis\n\nUsing [Redis](https:\u002F\u002Fredis.io) with NautilusTrader is **optional** and only required if configured as the backend for a\n[cache](https:\u002F\u002Fnautilustrader.io\u002Fdocs\u002Flatest\u002Fconcepts\u002Fcache) database or [message bus](https:\u002F\u002Fnautilustrader.io\u002Fdocs\u002Flatest\u002Fconcepts\u002Fmessage_bus).\nSee the **Redis** section of the [Installation Guide](https:\u002F\u002Fnautilustrader.io\u002Fdocs\u002Flatest\u002Fgetting_started\u002Finstallation#redis) for further details.\n\n## Makefile\n\nA `Makefile` is provided to automate most installation and build tasks for development. Some of the targets include:\n\n- `make install`: Installs in `release` build mode with all dependency groups and extras.\n- `make install-debug`: Same as `make install` but with `debug` build mode.\n- `make install-just-deps`: Installs just the `main`, `dev` and `test` dependencies (does not install package).\n- `make build`: Runs the build script in `release` build mode (default).\n- `make build-debug`: Runs the build script in `debug` build mode.\n- `make build-wheel`: Runs uv build with a wheel format in `release` mode.\n- `make build-wheel-debug`: Runs uv build with a wheel format in `debug` mode.\n- `make cargo-test`: Runs all Rust crate tests using `cargo-nextest`.\n- `make clean`: Deletes all build results, such as `.so` or `.dll` files.\n- `make distclean`: **CAUTION** Removes all artifacts not in the git index from the repository. This includes source files which have not been `git add`ed.\n- `make docs`: Builds the documentation HTML using Sphinx.\n- `make pre-commit`: Runs the pre-commit checks over all files.\n- `make ruff`: Runs ruff over all files using the `pyproject.toml` config (with autofix).\n- `make pytest`: Runs all tests with `pytest`.\n- `make test-performance`: Runs performance tests with [codspeed](https:\u002F\u002Fcodspeed.io).\n\n> [!TIP]\n>\n> Run `make help` for documentation on all available make targets.\n\n> [!TIP]\n>\n> See the [crates\u002Finfrastructure\u002FTESTS.md](https:\u002F\u002Fgithub.com\u002Fnautechsystems\u002Fnautilus_trader\u002Fblob\u002Fdevelop\u002Fcrates\u002Finfrastructure\u002FTESTS.md) file for running the infrastructure integration tests.\n\n## Examples\n\nIndicators and strategies can be developed in Python, Cython, or Rust. For performance and\nlatency-sensitive applications, we recommend Rust. Below are some examples:\n\n- [indicator](\u002Fnautilus_trader\u002Fexamples\u002Findicators\u002Fema_python.py) example written in Python.\n- [indicator](\u002Fnautilus_trader\u002Findicators\u002F) implementations written in Cython.\n- [strategy](\u002Fnautilus_trader\u002Fexamples\u002Fstrategies\u002F) examples written in Python.\n- [backtest](\u002Fexamples\u002Fbacktest\u002F) examples using a `BacktestEngine` directly.\n\n## Docker\n\nDocker containers are built with the following variant tags:\n\n- `nautilus_trader:latest` has the latest release version installed.\n- `nautilus_trader:nightly` has the head of the `nightly` branch installed.\n- `jupyterlab:latest` has the latest release version installed along with `jupyterlab` and an\n  example backtest notebook with accompanying data.\n- `jupyterlab:nightly` has the head of the `nightly` branch installed along with `jupyterlab` and an\n  example backtest notebook with accompanying data.\n\nYou can pull the container images as follows:\n\n```bash\ndocker pull ghcr.io\u002Fnautechsystems\u002F\u003Cimage_variant_tag> --platform linux\u002Famd64\n```\n\nYou can launch the backtest example container by running:\n\n```bash\ndocker pull ghcr.io\u002Fnautechsystems\u002Fjupyterlab:nightly --platform linux\u002Famd64\ndocker run -p 8888:8888 ghcr.io\u002Fnautechsystems\u002Fjupyterlab:nightly\n```\n\nThen open your browser at the following address:\n\n```bash\nhttp:\u002F\u002F127.0.0.1:8888\u002Flab\n```\n\n> [!WARNING]\n>\n> Examples use `log_level=\"ERROR\"` because Nautilus logging exceeds Jupyter's stdout rate limit,\n> causing notebooks to hang at lower log levels.\n\n## Development\n\nWe aim to provide the most pleasant developer experience possible for this hybrid codebase of Rust, Python, and Cython.\nSee the [Developer Guide](https:\u002F\u002Fnautilustrader.io\u002Fdocs\u002Flatest\u002Fdeveloper_guide\u002F) for helpful information.\n\n> [!TIP]\n>\n> Run `make build-debug` to compile after changes to Rust or Cython code for the most efficient development workflow.\n\n### Testing with Rust\n\n[cargo-nextest](https:\u002F\u002Fnexte.st) is the standard Rust test runner for NautilusTrader.\nIts key benefit is isolating each test in its own process, ensuring test reliability\nby avoiding interference.\n\nYou can install cargo-nextest by running:\n\n```bash\ncargo install cargo-nextest\n```\n\n> [!TIP]\n>\n> Run Rust tests with `make cargo-test`, which uses **cargo-nextest** with an efficient profile.\n\n## Contributing\n\nThank you for considering contributing to NautilusTrader! We welcome any and all help to improve\nthe project. If you have an idea for an enhancement or a bug fix, the first step is to open an [issue](https:\u002F\u002Fgithub.com\u002Fnautechsystems\u002Fnautilus_trader\u002Fissues)\non GitHub to discuss it with the team. This helps to ensure that your contribution will be\nwell-aligned with the goals of the project and avoids duplication of effort.\n\nBefore getting started, be sure to review the [open-source scope](\u002FROADMAP.md#open-source-scope) outlined in the project’s roadmap to understand what’s in and out of scope.\n\nOnce you're ready to start working on your contribution, make sure to follow the guidelines\noutlined in the [CONTRIBUTING.md](https:\u002F\u002Fgithub.com\u002Fnautechsystems\u002Fnautilus_trader\u002Fblob\u002Fdevelop\u002FCONTRIBUTING.md) file. This includes signing a Contributor License Agreement (CLA)\nto ensure that your contributions can be included in the project.\n\n> [!NOTE]\n>\n> Pull requests should target the `develop` branch (the default branch). This is where new features and improvements are integrated before release.\n\nThank you again for your interest in NautilusTrader! We look forward to reviewing your contributions and working with you to improve the project.\n\n## Community\n\nJoin our community of users and contributors on [Discord](https:\u002F\u002Fdiscord.gg\u002FNautilusTrader) to chat\nand stay up-to-date with the latest announcements and features of NautilusTrader. Whether you're a\ndeveloper looking to contribute or just want to learn more about the platform, all are welcome on our Discord server.\n\n> [!WARNING]\n>\n> NautilusTrader does not issue, promote, or endorse any cryptocurrency tokens. Any claims or communications suggesting otherwise are unauthorized and false.\n>\n> All official updates and communications from NautilusTrader will be shared exclusively through \u003Chttps:\u002F\u002Fnautilustrader.io>, our [GitHub](https:\u002F\u002Fgithub.com\u002Fnautechsystems), our [Discord server](https:\u002F\u002Fdiscord.gg\u002FNautilusTrader), or our verified X (Twitter) account: [@NautilusTrader](https:\u002F\u002Fx.com\u002FNautilusTrader).\n>\n> If you encounter any suspicious activity, please report it to the appropriate platform and contact us at \u003Cinfo@nautechsystems.io>.\n\n## Security\n\nTo report a vulnerability, see our [Security Policy](SECURITY.md).\nFor full security policies including supply chain security, see \u003Chttps:\u002F\u002Fnautilustrader.io\u002Fsecurity\u002F>.\n\n## License\n\nThe source code for NautilusTrader is available on GitHub under the [GNU Lesser General Public License v3.0](https:\u002F\u002Fwww.gnu.org\u002Flicenses\u002Flgpl-3.0.en.html).\nContributions to the project are welcome and require the completion of a standard [Contributor License Agreement (CLA)](https:\u002F\u002Fgithub.com\u002Fnautechsystems\u002Fnautilus_trader\u002Fblob\u002Fdevelop\u002FCLA.md).\n\n---\n\nNautilusTrader™ is developed and maintained by Nautech Systems, a technology\ncompany specializing in the development of high-performance trading systems.\nFor more information, visit \u003Chttps:\u002F\u002Fnautilustrader.io>.\n\nUse of this software is subject to the [Disclaimer](https:\u002F\u002Fnautilustrader.io\u002Flegal\u002Fdisclaimer\u002F).\n\n© 2015-2026 Nautech Systems Pty Ltd. All rights reserved.\n\n![nautechsystems](https:\u002F\u002Fgithub.com\u002Fnautechsystems\u002Fnautilus_trader\u002Fraw\u002Fdevelop\u002Fassets\u002Fns-logo.png \"nautechsystems\")\n\u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Fnautechsystems\u002Fnautilus_trader\u002Fraw\u002Fdevelop\u002Fassets\u002Fferris.png\" width=\"128\">\n","Nautilus Trader 是一个生产级的交易引擎，采用 Rust 语言编写并具有确定性的事件驱动架构。该项目支持多种交易场景，包括加密货币、股票、外汇、期货及期权等，并且可以与人工智能和机器学习技术结合使用以优化交易策略。其核心功能包括高性能的数据处理能力、灵活的插件系统以及强大的回测框架。适用于需要高并发处理能力和低延迟响应的专业金融机构和个人量化交易者。",2,"2026-06-11 02:32:00","trending"]