Об этом проекте
NautilusTrader — это производственный торговый движок с открытым исходным кодом, написанный на Rust, для мультиактивных и мультиплощадочных торговых систем. Он охватывает исследования, детерминированное моделирование и live-исполнение в рамках единой событийно-ориентированной архитектуры, где Python служит управляющим слоем для логики стратегий, конфигурации и оркестрации. Такое разделение обеспечивает производительность и безопасность компилируемого движка с гибкостью Python для компоновки системы и разработки стратегий. Торговые системы также могут быть полностью написаны на Rust для критически важных рабочих нагрузок.
Один и тот же код стратегий и алгоритмов исполнения может работать как в бэктесте, так и в live-системах, снижая расхождения при развертывании. Live-исполнение по-прежнему вносит поведение, связанное с площадкой, транспортом, синхронизацией, персистентностью, внешней активностью и сверкой, которое симуляция может не воспроизводить.
NautilusTrader не зависит от класса активов. Любая площадка с REST API или WebSocket-фидом может быть интегрирована через модульные адаптеры. Текущие интеграции охватывают криптобиржи (CEX и DEX), традиционные рынки (FX, акции, фьючерсы, опционы) и биржи ставок.
Ключевые возможности включают:
- Быстрота: ядро на Rust с аллокатором mimalloc и асинхронным сетевым взаимодействием на tokio.
- Надежность: типобезопасность и потокобезопасность на базе Rust, с опциональной персистентностью состояния на базе Redis.
- Портативность: работает на Linux, macOS и Windows. Развертывание через Docker.
- Гибкость: модульные адаптеры интегрируют любой REST API или WebSocket-фид.
- Продвинутость: время действия IOC, FOK, GTC, GTD, DAY, AT_THE_OPEN, AT_THE_CLOSE, продвинутые типы ордеров и условные триггеры. Инструкции исполнения post-only, reduce-only и айсберги. Контингентные ордера, включая OCO, OUO, OTO.
- Настраиваемость: пользовательские компоненты или сборка систем с нуля с использованием кэша и шины сообщений.
- Бэктестинг: несколько площадок, инструментов и стратегий одновременно с использованием исторических котировок, тиков сделок, баров, книги ордеров и пользовательских данных с наносекундным разрешением.
- Live: идентичные реализации стратегий между исследованиями и live-развертыванием.
- Мультиплощадочность: запуск маркет-мейкинга и кросс-площадочных стратегий на нескольких площадках одновременно.
- Обучение ИИ: движок достаточно быстр для обучения ИИ-торговых агентов (RL/ES).
Интеграции включают AX Exchange, Betfair, Binance, BitMEX, Bybit, Coinbase, Databento, Deribit, Derive, dYdX, Hyperliquid, Interactive Brokers, Kraken, Lighter, Lighter on Robinhood, OKX, Polymarket и Tardis.
NautilusTrader поддерживает два режима точности для основных типов значений (Price, Quantity, Money): высокую точность (128-битные целые, до 16 знаков после запятой) и стандартную точность (64-битные целые, до 9 знаков). Официальные Python-колеса по умолчанию поставляются в режиме высокой точности.
Установка доступна через предварительно собранные бинарные колеса из PyPI или индекса пакетов Nautech Systems, либо сборкой из исходного кода. Проект находится в активной разработке, с двухнедельным графиком релизов и ветками master, nightly и develop. Безопасность является приоритетом, с контролем на этапах выбора зависимостей, разработки, сборки и релизов, включая cargo-vet, cargo-deny, SLSA provenance и подпись Sigstore.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.