Framework de backtesting configurable basado en Backtrader para probar estrategias de trading en acciones, criptomonedas y forex, con un servidor MCP para asistentes de IA.
nautechsystems/nautilus_trader
Motor de trading nativo en Rust y basado en eventos, con un plano de control en Python para backtesting y operativa en vivo en mercados de criptomonedas, FX, acciones, futuros, opciones y apuestas.
- Estrellas
- 30,340
- Forks
- 4,069
- Issues abiertos
- 123
- Último commit
- hace 21 horas
¿Qué es?
NautilusTrader es un motor de trading de código abierto cuyo núcleo está escrito en Rust; Python se usa para la lógica de las estrategias, la configuración y la orquestación. Permite realizar investigación, backtesting determinista y ejecución en vivo dentro de una misma arquitectura basada en eventos, por lo que se puede usar el mismo código de estrategia tanto en backtests como en operativa en vivo. Aun así, la operativa en vivo implica condiciones propias del mercado, la red y los tiempos de ejecución que las simulaciones podrían no reproducir.
El proyecto es independiente de la clase de activo. Sus adaptadores modulares conectan con plataformas que ofrecen una API REST o un feed WebSocket, e incluyen exchanges de criptomonedas (CEX y DEX), FX, acciones, futuros, opciones, mercados de predicción y exchanges de apuestas. Los backtests pueden ejecutar varios mercados, instrumentos y estrategias a la vez, con datos de cotizaciones, operaciones, barras, libros de órdenes y datos personalizados, con resolución de nanosegundos.
El motor admite diversos tipos de órdenes y opciones de vigencia, órdenes contingentes como OCO y OTO, y persistencia opcional del estado de la caché y el bus de mensajes con Redis. Hay wheels de Python disponibles en PyPI para Linux, macOS y Windows, y se pueden usar directamente los crates de Rust.
Funciones clave
- 01Núcleo en Rust con bindings de Python para desarrollar estrategias
- 02El mismo código de estrategia se ejecuta en backtesting y en operativa en vivo
- 03Backtesting de varios mercados e instrumentos con resolución de nanosegundos
- 04Adaptadores modulares para mercados de criptomonedas, FX, acciones, futuros, opciones y apuestas
- 05Tipos de órdenes avanzados, opciones de vigencia y órdenes contingentes como OCO y OTO
- 06Backend opcional de Redis para la persistencia de la caché y el bus de mensajes
Casos de uso
- Hacer backtesting de una estrategia mult mercado o entre exchanges antes de ponerla en producción
- Ejecutar estrategias de creación de mercado o arbitraje en varios exchanges de criptomonedas
- Crear un sistema de trading cuantitativo en Python con un núcleo de ejecución en Rust
- Operar con brokers tradicionales como Interactive Brokers mediante una API unificada
Inicio rápido
- 1
Instala los wheels precompilados desde la documentación (no necesitas una toolchain de Rust).
- 2
Lee la documentación y sigue la guía de inicio rápido.
Antes de usarlo
- Está bajo la licencia LGPL-3.0, una licencia de copyleft débil que puede imponer obligaciones para las obras derivadas.
- La ejecución en vivo puede comportarse de forma distinta a los backtests debido a efectos relacionados con el mercado, el transporte, los tiempos y la conciliación.
- Durante la transición a v2, la rama v1 solo recibe backports de correcciones de seguridad críticas, por lo que quizá sea necesario migrar.
- Algunas integraciones aún están en beta o en desarrollo, y no todos los mercados de la lista son estables.
Temas
Preguntas frecuentes
- ¿Qué es nautilus_trader?
- Motor de trading nativo en Rust y basado en eventos, con un plano de control en Python para backtesting y operativa en vivo en mercados de criptomonedas, FX, acciones, futuros, opciones y apuestas. NautilusTrader es un motor de trading de código abierto cuyo núcleo está escrito en Rust; Python se usa para la lógica de las estrategias, la configuración y la orquestación. Permite realizar investigación, backtesting determinista y ejecución en vivo dentro de una misma arquitectura basada en eventos, por lo que se puede usar el mismo código de estrategia tanto en backtests como en operativa en vivo. Aun así, la operativa en vivo implica condiciones propias del mercado, la red y los tiempos de ejecución que las simulaciones podrían no reproducir.
- ¿nautilus_trader es gratuito? ¿Qué licencia tiene?
- nautilus_trader es open source bajo la licencia LGPL-3.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿nautilus_trader sigue mantenido?
- Mantenimiento activo. El último commit de nautilus_trader fue el 19 oct 2026.
- ¿Para qué puedo usar nautilus_trader?
- Hacer backtesting de una estrategia mult mercado o entre exchanges antes de ponerla en producción Ejecutar estrategias de creación de mercado o arbitraje en varios exchanges de criptomonedas Crear un sistema de trading cuantitativo en Python con un núcleo de ejecución en Rust Operar con brokers tradicionales como Interactive Brokers mediante una API unificada
- ¿Cómo se instala nautilus_trader?
- Instala los wheels precompilados desde la documentación (no necesitas una toolchain de Rust). Lee la documentación y sigue la guía de inicio rápido.
- ¿Dónde consigo nautilus_trader?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/nautechsystems/nautilus_trader
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Terminal de escritorio nativa en C++20 para investigación financiera, con interfaz Qt6, analítica con Python integrado, agentes de IA y más de 100 conectores de datos de mercado.
Bot de trading de criptomonedas gratuito y de código abierto, escrito en Python, compatible con los principales exchanges y con backtesting, modo dry-run, FreqAI y control por Telegram o web UI.
Plataforma de datos de código abierto en Python que conecta fuentes financieras y de otros tipos y las ofrece a Python, Excel, agentes de IA y API REST.
Biblioteca de Rust y CLI que detecta si un PDF contiene texto o es escaneado y convierte los PDF con texto en Markdown limpio sin OCR.
Kit de herramientas de código abierto en Rust para registrar, visualizar, consultar y transmitir datos multimodales de robótica y sensores a lo largo del tiempo.