
Lumibot es un framework de Python de código abierto para realizar backtesting, trading simulado y ejecutar estrategias de trading algorítmico. Admite reglas tradicionales de Python, agentes de trading con IA y conexiones con brókeres. Esta guía analiza sus métodos de estrategia, datos históricos, ejecución adaptada al bróker y equipos de trading con IA, para ayudar a desarrolladores y traders cuantitativos a evaluar sistemas de trading automatizado.
Lumibot ofrece 12 integraciones con brókeres, como Alpaca, Interactive Brokers (IBKR) y Tradier, con diferentes funciones según el mercado.
Lumibot requiere Python 3.10 o una versión posterior y admite acciones, opciones, futuros, divisas, criptomonedas y mercados de predicción.
La misma clase de estrategia puede ejecutar backtesting histórico, trading simulado y trading en tiempo real sin reescribir la lógica de trading principal.
El entorno de ejecución de agentes con IA integrado en Lumibot admite agentes de investigación, agentes alcistas y bajistas, revisores de riesgos y agentes de trading finales.
Las pruebas históricas, la ejecución de órdenes reales y la validación fuera de muestra ayudan a evaluar una estrategia, pero no garantizan su rentabilidad futura.
Lumibot es un framework de trading real en Python desarrollado por Lumiwealth. Su arquitectura basada en eventos conecta los datos de mercado, la lógica de la estrategia, las cuentas de los brókeres y la ejecución de órdenes.
A diferencia de los proyectos de trading que separan la investigación, el backtesting y la ejecución en sistemas independientes, Lumibot prioriza la coherencia entre la investigación y el trading en tiempo real mediante clases de estrategia reutilizables.
El repositorio oficial de Lumibot documenta sus integraciones con brókeres, herramientas de pruebas históricas y proyectos de trading con IA.
Sus componentes principales de Python incluyen:
| Componente | Función |
|---|---|
| Estrategia | Define la lógica de trading y los métodos del ciclo de vida |
| Activo | Representa acciones, criptomonedas, opciones u otros instrumentos |
| Datos | Almacena información histórica del mercado |
| Trader | Coordina la ejecución de la estrategia |
| Alpaca | Conecta las estrategias de trading con una cuenta de bróker de Alpaca |
| YahooDataBacktesting | Utiliza precios de Yahoo Finance para realizar simulaciones históricas |
lumibot.strategies, lumibot.entities, lumibot.traders y lumibot.brokers.
Los métodos de estrategia incluyen initialize() y on_trading_iteration(), que definen la configuración y el comportamiento de trading. Este código de estrategia adaptado al bróker permite que una misma estrategia de Lumibot se ejecute en los entornos compatibles.
Lumibot admite backtesting intradía y de varios días con datos históricos del mercado. Su backtester de Pandas puede utilizar conjuntos de datos personalizados compatibles, mientras que Yahoo Finance, Polygon.io y otros proveedores compatibles ofrecen información de mercado.
El framework también incluye conexiones de criptomonedas basadas en CCXT, aunque es necesario verificar la compatibilidad de cada exchange e instrumento.
| Función | Métodos compatibles |
|---|---|
| Pruebas históricas | Yahoo Finance, Polygon.io, Pandas/CSV y proveedores profesionales |
| Conjuntos de datos personalizados | Datos de series temporales controlados por el usuario |
| Brókeres en tiempo real | Alpaca, IBKR, Tradier e integraciones compatibles |
| Conexiones de criptomonedas | API de exchanges compatibles e integraciones con CCXT |
| Bibliotecas de Python | Pandas, NumPy y bibliotecas de indicadores técnicos |
| Implementación | Entorno local o infraestructura en la nube configurada |
| Modos de ejecución | Backtesting, trading simulado y trading en tiempo real |
Los exchanges de criptomonedas ofrecen API para consultar datos de mercado y enviar órdenes. Lumibot puede utilizar integraciones compatibles para automatizar el trading, pero la conectividad no implica que admita todos los exchanges.
Alpaca y otros brókeres similares pueden ofrecer trading sin comisiones para productos que cumplan los requisitos. Se siguen aplicando otras tarifas, spreads y restricciones regulatorias.
La ejecución real es especialmente importante al probar estrategias intradía y de órdenes limitadas. Las simulaciones históricas deben tener en cuenta el deslizamiento, la latencia, las comisiones y la liquidez.
En comparación, Backtesting.py es una biblioteca ligera de Python basada en eventos, adecuada para proyectos de backtesting más pequeños, mientras que Lumibot combina el backtesting con capacidades más amplias de ejecución mediante brókeres y agentes de IA.
Lumibot incluye un entorno de ejecución integrado para agentes de trading con IA, que permite a agentes especializados analizar las condiciones del mercado, realizar investigaciones, utilizar herramientas externas y evaluar oportunidades de trading.
El equipo completo de trading con IA funciona dentro de una subclase de estrategia normal. Su flujo de agentes puede combinar reglas deterministas de Python con decisiones generadas por IA.
Según la documentación de los agentes de IA de Lumibot, los desarrolladores pueden configurar varios agentes con responsabilidades diferentes.
| Agente | Responsabilidad |
|---|---|
| Agente de investigación | Recopila pruebas técnicas, fundamentales e históricas |
| Agente alcista | Desarrolla el argumento alcista más sólido para una operación |
| Agente bajista | Cuestiona el argumento e identifica los riesgos a la baja |
| Revisor de agentes | Evalúa las pruebas, las hipótesis y los controles de riesgo |
| Trader o gestor de carteras | Revisa las posiciones, el saldo de la cuenta y las posibles órdenes |
| Agente final | Envía órdenes cuando se ha obtenido una autorización explícita para realizar la operación |
En el ejemplo de equipo de trading, el investigador recopila pruebas antes de que los agentes alcista y bajista debatan la oportunidad. El agente de trading decide si comprar, vender o mantener.
Cada agente recibe el mismo contexto de mercado y lo complementa con investigaciones anteriores o con los resultados del revisor.
Por lo tanto, un flujo de investigación especializado puede respaldar tanto una estrategia con un solo agente como una implementación de equipo de trading con IA de Lumibot en varios niveles.
Algunas indicaciones de demostración piden a los agentes que busquen la operación con mayor potencial de rentabilidad o que utilicen casi todo el efectivo disponible. Estos ejemplos agresivos ilustran los permisos y la ejecución de los agentes, pero no constituyen recomendaciones de gestión de riesgos.
Solo el agente con permisos de trading finales debe tener autorización para enviar órdenes, cuando esta separación esté implementada en el diseño de la estrategia.
Lumibot requiere Python 3.10 o una versión posterior. Los desarrolladores pueden instalar el framework y ejecutar una demostración antes de conectar fondos reales.
<details class="md-editor-code" open="">
<summary class="md-editor-code-head">
<div class="md-editor-code-flag"><span></span><span></span><span></span></div>
<div class="md-editor-code-action">
<span class="md-editor-code-lang">Normal</span>
<span class="md-editor-copy-button" data-tips="Copy">Copiar</span>
<span class="md-editor-collapse-tips"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-circle-chevron-left md-editor-icon"><circle cx="12" cy="12" r="10"/><path d="m14 16-4-4 4-4"/></svg></span>
</div>
</summary>
<pre><code class="language-Plain" language=Plain><span class="md-editor-code-block">pip install lumibot
lumibot demo
</details>
<p>La demostración inicial utiliza datos históricos y no requiere credenciales de bróker.</p>
Los desarrolladores pueden inicializar y probar proyectos de trading con IA:
<details class="md-editor-code" open="">
<summary class="md-editor-code-head">
<div class="md-editor-code-flag"><span></span><span></span><span></span></div>
<div class="md-editor-code-action">
<span class="md-editor-code-lang">Normal</span>
<span class="md-editor-copy-button" data-tips="Copy">Copiar</span>
<span class="md-editor-collapse-tips"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-circle-chevron-left md-editor-icon"><circle cx="12" cy="12" r="10"/><path d="m14 16-4-4 4-4"/></svg></span>
</div>
</summary>
<pre><code class="language-Plain" language=Plain><span class="md-editor-code-block">lumibot init my-bot <span class="hljs-attr">--template</span> ai
lumibot backtest my-bot --days 90 lumibot run my-bot --paper
</details>
<p>Las estrategias de IA configuradas requieren las claves de IA correspondientes, mientras que el trading simulado mediante un bróker puede requerir credenciales de IA y de Alpaca.</p>
Por ejemplo, las importaciones de Python pueden incluir:
<details class="md-editor-code" open="">
<summary class="md-editor-code-head">
<div class="md-editor-code-flag"><span></span><span></span><span></span></div>
<div class="md-editor-code-action">
<span class="md-editor-code-lang">Normal</span>
<span class="md-editor-copy-button" data-tips="Copy">Copiar</span>
<span class="md-editor-collapse-tips"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-circle-chevron-left md-editor-icon"><circle cx="12" cy="12" r="10"/><path d="m14 16-4-4 4-4"/></svg></span>
</div>
</summary>
<pre><code class="language-Plain" language=Plain><span class="md-editor-code-block"><span class="hljs-keyword">from</span> lumibot.<span class="hljs-property">strategies</span> <span class="hljs-keyword">import</span> <span class="hljs-title class_">Strategy</span>
from lumibot.entities import Asset from lumibot.traders import Trader from lumibot.brokers import Alpaca
</details>
<p>Las estrategias de IA también pueden crear agentes mediante <code>self.agents.create()</code> y llamarlos dentro de <code>on_trading_iteration()</code>.</p>
La ausencia de credenciales del modelo debe generar un error claro relacionado con la clave del proveedor, no autorizar silenciosamente a otro proveedor.
Los desarrolladores deben probar el comportamiento de los agentes, los permisos de ejecución y los límites de riesgo antes de habilitar las órdenes en tiempo real.
El backtesting es esencial para el trading algorítmico, pero los resultados históricos rentables no establecen el rendimiento futuro esperado.
Las estrategias deben someterse a validación fuera de muestra, pruebas de ejecución real y trading simulado antes de su implementación.
Las decisiones de los agentes de IA también requieren un historial de auditoría, ya que las respuestas de los modelos nuevos pueden variar entre ejecuciones.
Lumibot admite la investigación colaborativa y proyectos de trading que se pueden compartir, aunque el copy trading social no es su principal objetivo.
El trading con margen y el apalancamiento aumentan el riesgo mediante el préstamo de fondos y amplifican las posibles ganancias y pérdidas. Los agentes de IA no deben anular de forma independiente los límites de posición predefinidos.
Las acciones tokenizadas pueden representar derechos en blockchain relacionados con valores tradicionales, pero los derechos de propiedad, la exposición fraccionada y el tratamiento regulatorio dependen del emisor y de la estructura del producto.
Los traders que evalúen estrategias automatizadas de trading de criptomonedas pueden utilizar Gate Spot para consultar los precios de mercado, la liquidez y las condiciones del libro de órdenes.
La plataforma de bots de trading de Gate también ofrece estrategias automatizadas configurables y herramientas de backtesting para los mercados compatibles.
Estas herramientas ofrecen comparaciones prácticas para evaluar estrategias, pero no debe suponerse que proporcionen una integración nativa con Lumibot. Es necesario verificar por separado los permisos de la API, la compatibilidad con el mercado y los riesgos de ejecución.
Lumibot combina el backtesting en Python, la ejecución de estrategias adaptada al bróker y el trading con IA basado en varios agentes en un framework reutilizable. Su principal ventaja es mantener una lógica de estrategia coherente en las pruebas históricas, el trading simulado y los entornos compatibles en tiempo real.
Los desarrolladores pueden personalizar los agentes de investigación, la gestión de carteras y los controles de riesgo, al tiempo que mantienen el acceso a las estrategias algorítmicas tradicionales. Sin embargo, una implementación fiable sigue dependiendo de la calidad de los datos de mercado, las pruebas de ejecución, la seguridad y una gestión estricta del riesgo.
Lumibot ofrece 12 integraciones con brókeres, como Alpaca, Interactive Brokers y Tradier. Cada bróker difiere en los mercados compatibles, los tipos de órdenes y las capacidades de trading en tiempo real.
Sí. Lumibot admite integraciones de datos con Yahoo Finance y Polygon.io, e incluye conexiones de criptomonedas basadas en CCXT. Los conjuntos de datos personalizados de Pandas también pueden utilizarse para realizar simulaciones históricas.
Sí. La misma clase de estrategia puede reutilizarse para el backtesting y la ejecución en tiempo real. Cada modo requiere seleccionar la configuración de inicio, el proveedor de datos, la conexión con el bróker y las credenciales.
Sí. Lumibot admite estrategias con un solo agente y equipos de trading con varios agentes. Los agentes autorizados pueden enviar órdenes mediante una conexión configurada con un bróker, sujetos a las reglas de ejecución y los permisos de la cuenta.
Sí. Lumibot puede ejecutarse en un entorno local de Python adecuado o en una infraestructura en la nube configurada. Los requisitos de implementación dependen de la estrategia, el proveedor de datos, la conexión con el bróker y la configuración de supervisión.











