lumibot  by Lumiwealth

Develop AI-driven trading bots and backtest strategies across markets

Created 5 years ago
1,228 stars

Top 31.9% on SourcePulse

GitHubView on GitHub
Project Summary

Backtesting and Trading Bots Made Easy for Crypto, Stocks, Options, Futures, FOREX and more

Lumibot is a Python library designed to simplify algorithmic trading by enabling users to write backtesting and live trading code once. It supports a wide range of financial instruments including crypto, stocks, options, futures, and FOREX, offering flexibility for custom strategies and high-speed backtesting. The project targets traders and developers seeking an efficient and unified platform for strategy development and deployment.

How It Works

The library employs a unified architecture where backtesting logic directly translates to live trading execution, minimizing code duplication and deployment friction. It supports multiple data sources such as Yahoo, ThetaData, and Polygon, with an emphasis on ThetaData for deep historical coverage. Lumibot is optimized for performance, allowing rapid backtesting of user-defined strategies and indicators. An associated platform, BotSpot, integrates AI for natural language-driven bot creation.

Quick Start & Requirements

  • Installation: Install via pip: pip install -e . (editable mode for development). Developer dependencies: pip install -r requirements_dev.txt.
  • Running an Example: Execute a sample strategy with python -m lumibot.example_strategies.stock_buy_and_hold.
  • Prerequisites: Requires historical data; ThetaData is recommended. Critical safety protocols for ThetaData usage are detailed in AGENTS.md.
  • Documentation: Official docs available at http://lumibot.lumiwealth.com/.
  • AI Platform: BotSpot for AI-powered bot building: BotSpot.trade.

Highlighted Details

  • Unified code for backtesting and live trading across multiple asset classes.
  • High flexibility for creating custom trading strategies and technical indicators.
  • Optimized for speed and efficient backtesting.
  • AI-powered trading bot development via the BotSpot platform.
  • Support for various data sources including Yahoo, ThetaData, Polygon, Alpaca, and Tradier.
  • Optional AWS S3 remote cache for backtesting data management.

Maintenance & Community

The project encourages community contributions and provides resources for getting started. A Discord server (https://discord.gg/TmMsJCKY3T) serves as the primary community hub for discussion and support. The project also offers paid courses on algorithmic and options trading.

Licensing & Compatibility

Lumibot is released under the permissive MIT License, facilitating broad adoption and compatibility with commercial and closed-source applications.

Limitations & Caveats

Effective use requires access to historical data, with a recommended (and potentially costly) provider, ThetaData. Specific, strict safety protocols are mandated for production environments involving ThetaData, indicating potential operational complexities. AI-driven bot creation is handled by a separate platform, BotSpot.

Health Check
Last Commit

22 hours ago

Responsiveness

Inactive

Pull Requests (30d)
34
Issues (30d)
2
Star History
32 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.