stock-analysis-engine  by AlgoTraders

CLI tool for backtesting stock trading algorithms and generating AI training data

Created 7 years ago
1,148 stars

Top 33.6% on SourcePulse

GitHubView on GitHub
Project Summary

This project provides a distributed stock analysis engine for backtesting and training AI trading algorithms. It targets quantitative analysts, researchers, and developers looking to build and test sophisticated trading strategies using minute-by-minute pricing data from multiple sources. The engine automates data fetching, backtesting, and dataset generation for AI training, significantly reducing the manual effort involved in quantitative analysis.

How It Works

The engine utilizes a distributed architecture, supporting deployment via Docker Compose or Kubernetes. It fetches historical and real-time pricing data from IEX Cloud and Tradier, storing it in Redis for fast access and Minio (S3-compatible) for archival. Celery workers handle asynchronous, compute-intensive tasks like data processing and backtesting. Algorithms can be developed and run within Jupyter notebooks or via a command-line interface, with results and trading histories published to S3 for further analysis or AI model training.

Quick Start & Requirements

  • Install: Clone the repository and use docker-compose or kubectl for deployment.
  • Prerequisites: Python 3.6+, Redis, Minio, Docker, Kubernetes (optional). API keys for IEX Cloud and Tradier are required for data fetching. TA-Lib is also a dependency.
  • Setup: Initial setup involves configuring API keys and potentially installing TA-Lib. Running the full stack locally via Docker Compose is recommended for development.
  • Docs: https://stock-analysis-engine.readthedocs.io/en/latest/

Highlighted Details

  • Supports minute-by-minute data for thousands of algorithms.
  • Generates over 150 million trading history rows.
  • Integrates with IEX Cloud, Tradier, and FinViz for comprehensive data.
  • Automated data publishing to S3 for AI training datasets.
  • Distributed processing via Celery workers.

Maintenance & Community

The project appears to be actively maintained by AlgoTraders. Community interaction channels are not explicitly listed in the README.

Licensing & Compatibility

The project is licensed under the Apache 2.0 license. This license is permissive and generally compatible with commercial use and closed-source linking.

Limitations & Caveats

The README notes a known issue with Jupyter on macOS due to Docker Compose networking limitations. While live trading is mentioned as a future feature, it is not yet supported. The project relies on external APIs (IEX, Tradier), which may have their own rate limits or costs.

Health Check
Last Commit

5 years ago

Responsiveness

Inactive

Pull Requests (30d)
0
Issues (30d)
0
Star History
10 stars in the last 30 days

Explore Similar Projects

Starred by Alex Graveley Alex Graveley(Creator of GitHub Copilot, Dropbox Paper, Mobilecoin, Hackpad), Gregor Zunic Gregor Zunic(Cofounder of Browser Use), and
4 more.

lmnr by lmnr-ai

0.9%
2k
Open-source platform for engineering AI products
Created 1 year ago
Updated 1 day ago
Feedback? Help us improve.