バックテストもライブ取引もコード変更なし!Rust×Pythonの超高速アルゴリズム取引プラットフォーム — nautilus_trader

nautechsystems/nautilus_traderRust20.9k

NautilusTraderは、株式・暗号通貨・FX・先物・オプションなど、あらゆる資産クラスに対応した高性能アルゴリズム取引プラットフォームです。過去のデータを使った「バックテスト(過去データで戦略を検証すること)」と、実際のお金を動かす「ライブ取引」を、まったく同じプログラムコードで実行できるのが最大の特徴です。性能が重要な中核部分はRust(高速で安全なプログラミング言語)で書かれており、Pythonという使いやすい言語から操作できるため、データサイエンスやAIの知見をそのまま取引戦略に活かせます。Binance、Interactive Brokers、Bybitなど15以上の取引所・データプロバイダーと接続でき、複数の取引所を同時に操作することも可能です。個人のクオンツトレーダーから小規模チームまで、プロレベルの取引システムを構築したい人に向けた本格的なツールです。

🔥 なぜ話題?

AI・機械学習を活用した自動取引への関心が高まる中、Pythonのデータサイエンス環境をそのまま使いつつ、Rustの高速性と安全性を兼ね備えたプロ仕様のオープンソース取引プラットフォームとして注目されています。特にバックテストと本番取引のコード一致(パリティ)という課題を解決している点や、15以上の取引所統合が進んでいる点が人気の理由です。

💡 こう使える!

例えば、暗号通貨の自動売買戦略を開発している個人トレーダーが、まずBinanceの過去1年分の取引データを使ってナノ秒精度でバックテストを行い、利益が出ることを確認した後、コードを一切変更せずにそのまま本番のBinanceアカウントに接続してライブ取引を開始する、といった使い方ができます。

ユースケース: 過去データで取引戦略を検証し、そのまま同じコードで実際の取引所に接続してアルゴリズム取引を自動運用する

  • バックテストとライブ取引をコード変更なしで切り替え可能
  • Rust製のコアエンジンによるナノ秒精度の高速処理でAI学習にも使える速度
  • Binance・Interactive Brokers・Bybitなど15以上の取引所やデータプロバイダーに対応
  • FX・株式・暗号通貨・先物・オプション・DeFi・ベッティングとあらゆる資産クラスをサポート
  • 128ビット高精度モードで最大16桁の小数精度に対応
GitHubで見る →

A high-performance algorithmic trading platform and event-driven backtester

技術情報

言語

Rust

ライセンス

LGPL-3.0

最終更新

2026-03-05

スター数

20,896

フォーク数

2,462

Issue数

64

トピック

algorithmic-trading-engineartificial-intelligencecrypto-tradingequity-tradingforexfutures-tradingmachine-learningoptions-tradingpythonrustsports-bettingtradingtrading-platform

技術詳細

アーキテクチャ・技術構成

  • コア言語: パフォーマンスが重要な部分はRust(非同期ネットワーキングにtokioを使用)、PythonバインディングはCythonとPyO3で実装
  • イベント駆動エンジン: バックテスト・ライブ取引ともにイベント駆動型で動作し、ナノ秒精度の時間管理が可能
  • メッセージバス: カスタムコンポーネントの追加やシステム全体の組み立てが可能なメッセージバスアーキテクチャ
  • 状態管理: オプションでRedisをバックエンドとしたキャッシュデータベースや永続化に対応

対応環境

プラットフォームRustPython
Linux (x86_64)1.93.13.12-3.14
Linux (ARM64)1.93.13.12-3.14
macOS (ARM64)1.93.13.12-3.14
Windows (x86_64)1.93.13.12-3.14
  • Linux環境ではglibc 2.35以上が必要
  • 推奨パッケージマネージャー: uv

精度モード

  • 高精度モード(128ビット): 最大16桁の小数精度。Linux・macOSのデフォルト
  • 標準精度モード(64ビット): 最大9桁の小数精度。WindowsではMSVCが__int128非対応のためこちらのみ
  • Rustクレートではhigh-precisionフィーチャーフラグで切り替え可能

対応取引所・データプロバイダー(15以上)

  • 安定版(stable): Betfair、Binance、BitMEX、Bybit、Databento、Interactive Brokers、OKX、Polymarket、Tardis
  • ベータ版: AX Exchange、Deribit、dYdX、Hyperliquid、Kraken
  • 計画中: Architect
  • REST APIやWebSocketフィードであればモジュラーアダプターで追加統合可能

主要機能一覧

  • 複数取引所・複数戦略の同時バックテスト
  • ティックデータ(気配値・約定)、バーデータ、板情報、カスタムデータに対応
  • 高度な注文タイプ: IOC、FOK、GTC、GTD、DAY、AT_THE_OPEN、AT_THE_CLOSE
  • 執行指示: post-only、reduce-only、アイスバーグ注文
  • 条件付き注文: OCO(片方成立で他方キャンセル)、OUO、OTO
  • AI学習用途に耐えうるバックテスト速度(強化学習/進化戦略向け)
  • PythonとCython両方での指標・戦略開発が可能

Docker対応

  • nautilus_trader:latest / nautilus_trader:nightly: 本体イメージ
  • jupyterlab:latest / jupyterlab:nightly: JupyterLabとサンプルノートブック付き

セキュリティ・ビルド検証

  • 全リリースアーティファクトにSLSAビルドプロヴェナンスの暗号署名を付与
  • GitHub CLIでgh attestation verifyによるサプライチェーンセキュリティ検証が可能

ライセンス

  • GNU Lesser General Public License v3.0(LGPL-3.0): オープンソースとしてソースコード公開。コントリビューションにはCLA(貢献者ライセンス契約)の署名が必要

ロードマップ

  • コアのRustへの移植を推進中
  • バージョン2.xで安定APIを目指す
  • UIダッシュボード・分散オーケストレーション・組み込みAI/MLツールはスコープ外
  • 隔週リリースを目標

インストール・クイックスタート

PyPIからインストール(最も簡単)

pip install -U nautilus_trader

特定の取引所連携が必要な場合はextrasを指定:

pip install -U "nautilus_trader[docker,ib]"

Nautech Systems パッケージインデックスから最新安定版をインストール

pip install -U nautilus_trader --index-url=https://packages.nautechsystems.io/simple

ソースからビルドする場合

  1. Rustツールチェーンをインストール:
curl https://sh.rustup.rs -sSf | sh
source $HOME/.cargo/env
  1. clangをインストール(Linux):
sudo apt-get install clang
  1. uvをインストールしてクローン&ビルド:
curl -LsSf https://astral.sh/uv/install.sh | sh
git clone --branch develop --depth 1 https://github.com/nautechsystems/nautilus_trader
cd nautilus_trader
uv sync --all-extras

Dockerで試す

docker pull ghcr.io/nautechsystems/jupyterlab:nightly --platform linux/amd64
docker run -p 8888:8888 ghcr.io/nautechsystems/jupyterlab:nightly

ブラウザで http://127.0.0.1:8888/lab を開く

関連リポジトリ

金融データを「一度つないで、どこでも使える」オープンソースの統合基盤 — OpenBB

OpenBB-finance/OpenBBPython64.8k

OpenBBは、株価や経済指標などの金融データをさまざまなデータソースから集めて、Python・Excel・AIエージェント・REST API(ソフト同士をつなぐ仕組み)など複数の場所から簡単に使える

surrealdb/surrealdb

surrealdb/surrealdbRust31.2k

SurrealDBは、スケーラブルで分散型のマルチモデルデータベースで、ドキュメント型とグラフ型の両方の機能を持ちます。リアルタイムWebアプリケーションに最適化されており、従来のSQLライクなクエリ

rustfs/rustfs

rustfs/rustfsRust21.8k

RustFSは、S3互換の高性能オブジェクトストレージシステムです。4KBのオブジェクトペイロードでMinIOより2.3倍高速な処理性能を実現し、MinIOやCephなどの他のS3互換プラットフォーム

リアルタイム同期が超簡単!光速開発を実現するクラウドデータベース — SpacetimeDB

clockworklabs/SpacetimeDBRust21.2k

SpacetimeDBは、複数のユーザーが同時にアクセスするアプリケーション開発を劇的に簡単にするクラウドデータベースです。通常は複雑なリアルタイム同期処理やサーバー管理を自動で行ってくれるため、開発

無料で使える企業レベルのBIツール!60以上のデータベースに対応するダッシュボード作成プラットフォーム — superset

apache/supersetTypeScript72.1k

Apache Supersetは、データの分析や可視化をブラウザ上で行える無料のビジネスインテリジェンス(BI)ツールです。プログラミングの知識がなくても、マウス操作だけで棒グラフや地図などの美しいグ