Sobre el proyecto
NautilusTrader es un motor de código abierto, de grado de producción, nativo en Rust, para sistemas de trading multi-activo y multi-venue. Abarca investigación, simulación determinista y ejecución en vivo dentro de una única arquitectura basada en eventos, con Python como plano de control para lógica de estrategias, configuración y orquestación. Esta separación proporciona el rendimiento y la seguridad de un motor de trading compilado con la flexibilidad de Python para la composición del sistema y el desarrollo de estrategias. Los sistemas de trading también pueden escribirse completamente en Rust para cargas de trabajo críticas.
El mismo código de estrategia y algoritmo de ejecución puede ejecutarse en sistemas de backtest y en vivo, reduciendo la divergencia de despliegue. La ejecución en vivo aún introduce comportamiento de venue, transporte, sincronización, persistencia, actividad externa y conciliación que una simulación puede no reproducir.
NautilusTrader es agnóstico a la clase de activos. Cualquier venue con API REST o feed WebSocket puede integrarse mediante adaptadores modulares. Las integraciones actuales abarcan exchanges de criptomonedas (CEX y DEX), mercados tradicionales (FX, acciones, futuros, opciones) y exchanges de apuestas.
Las características clave incluyen:
- Rápido: Núcleo en Rust con asignador mimalloc y redes asíncronas tokio.
- Confiable: Seguridad de tipos y de hilos respaldada por Rust, con persistencia de estado opcional respaldada por Redis.
- Portable: Se ejecuta en Linux, macOS y Windows. Despliegue usando Docker.
- Flexible: Adaptadores modulares integran cualquier API REST o feed WebSocket.
- Avanzado: Time in force IOC, FOK, GTC, GTD, DAY, AT_THE_OPEN, AT_THE_CLOSE, tipos de órdenes avanzados y disparadores condicionales. Instrucciones de ejecución post-only, reduce-only e icebergs. Órdenes de contingencia incluyendo OCO, OUO, OTO.
- Personalizable: Componentes definidos por el usuario, o ensamblar sistemas completos desde cero usando la caché y el bus de mensajes.
- Backtesting: Múltiples venues, instrumentos y estrategias simultáneamente usando datos históricos de cotizaciones tick, ticks de operaciones, barras, libro de órdenes y datos personalizados con resolución de nanosegundos.
- En vivo: Implementaciones de estrategia idénticas entre investigación y despliegue en vivo.
- Multi-venue: Ejecutar estrategias de creación de mercado y entre venues en múltiples venues simultáneamente.
- Entrenamiento de IA: Motor lo suficientemente rápido para entrenar agentes de trading de IA (RL/ES).
Las integraciones incluyen AX Exchange, Betfair, Binance, BitMEX, Bybit, Coinbase, Databento, Deribit, Derive, dYdX, Hyperliquid, Interactive Brokers, Kraken, Lighter, Lighter en Robinhood, OKX, Polymarket y Tardis.
NautilusTrader admite dos modos de precisión para tipos de valor centrales (Price, Quantity, Money): alta precisión (enteros de 128 bits, hasta 16 decimales) y precisión estándar (enteros de 64 bits, hasta 9 decimales). Las ruedas oficiales de Python se envían en modo de alta precisión por defecto.
La instalación está disponible mediante ruedas binarias precompiladas desde PyPI o el índice de paquetes de Nautech Systems, o compilando desde el código fuente. El proyecto está en desarrollo activo, con un calendario de lanzamientos quincenal y ramas para master, nightly y develop. La seguridad es una prioridad, con controles en selección de dependencias, desarrollo, compilaciones y lanzamientos, incluyendo cargo-vet, cargo-deny, procedencia SLSA y firma Sigstore.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.