fast-trade  by jrmeier

Algorithmic trading strategy development and backtesting

Created 7 years ago
575 stars

Top 55.4% on SourcePulse

GitHubView on GitHub
Project Summary

Summary

Fast Trade is a low-code Python library designed for high-performance, portable backtesting of trading strategies. It targets quantitative traders and developers, enabling rapid strategy iteration and reducing the cost of testing by simplifying the definition and execution of backtests.

How It Works

The library employs a declarative YAML configuration for defining trading strategies, specifying technical analysis "datapoints" and entry/exit "logics." It leverages pandas for data manipulation and integrates with technical indicators via transformers. Data can be downloaded directly from Binance and Coinbase into local parquet datasets, enhancing portability and performance.

Quick Start & Requirements

Installation is straightforward via pip install fast-trade. Local development requires cloning the repository, setting up a virtual environment, and installing editable packages. Comprehensive documentation is available, including a docs/GETTING_STARTED.md guide. No specific hardware (e.g., GPU) or advanced software prerequisites are mentioned for core backtesting.

Highlighted Details

  • Data Archiving: Built-in tools to download historical kline data from Binance (.com/.us) and Coinbase into local parquet files without requiring API keys.
  • Command-Line Interface (CLI): A ft CLI provides commands for data download, backtesting, validation, managing assets, updating archives, and launching an interactive terminal.
  • Interactive Terminal: A Bloomberg-style terminal UI (ft terminal) allows for browsing backtests, strategies, live data streams, and portfolio management.
  • Machine Learning Utilities: Optional modules for strategy optimization via Genetic Algorithms (ft evolve), training/applying regime models (ft regime_train, ft regime_apply), and a Gaussian HMM + Monte Carlo forecast screener (ft screen hmm).
  • FXMacroData Integration: Provides a client and MCP tool for accessing macro/FX context data.

Maintenance & Community

The project follows a standard contribution model via pull requests. A Discord server (https://discord.gg/Y8ypD3dcgs) is available for community interaction. Changelog and release notes are documented.

Licensing & Compatibility

The license type is not explicitly stated in the provided README content, which is a critical omission for due diligence.

Limitations & Caveats

While the core backtesting is accessible, the MCP server mentions "absolutely no guarantees," suggesting potential instability or experimental features. Specific version requirements for Python or dependencies are not detailed. The ML utilities are marked as optional.

Health Check
Last Commit

6 days ago

Responsiveness

Inactive

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

Explore Similar Projects

Feedback? Help us improve.