Freqtrade is a production-grade cryptocurrency trading bot written in Python. It provides a full-fledged platform for designing, backtesting, and executing automated trading strategies across major exchanges (Binance, Kraken, Bybit, OKX, etc.) via the CCXT library. The bot supports both spot and futures trading, dry-run simulation, and live deployment with docker and systemd integration. At its core, it exposes a plugin architecture for strategy definitions, pairlist filters, and risk protection modules, all configured through a unified YAML/JSON configuration system. It also includes an embedded REST API and WebSocket server for remote monitoring and control, with optional Telegram and Discord notification channels. Beyond live trading, freqtrade offers a comprehensive research subsystem: a deterministic backtesting engine with realistic fee/slippage modeling, hyperparameter optimization (hyperopt) using Optuna with over a dozen loss functions, and a machine learning module (FreqAI) that integrates sklearn, XGBoost, LightGBM, PyTorch, and reinforcement learning (SB3). The codebase includes tools for lookahead and recursive analysis to detect strategy biases, plus data download/convert/clean utilities supporting multiple storage formats (feather, parquet, JSON). Architecturally, the project follows a modular design with clear separation of concerns: exchange abstraction layer, strategy resolver, data provider, persistence (SQLAlchemy), and RPC multiplexing. It uses dependency injection through resolvers, a logging mixin for debounced messages, and a custom scheduler for periodic tasks. The test suite is extensive with over 800 test files covering all major components. While the codebase is large and some modules (e.g., exchange-specific subclasses) are tightly coupled to CCXT, many internal patterns such as the plugin system, resolver, and data handler interfaces are well-abstracted and could be extracted for reuse in other Python trading or data pipeline projects.
GeneTrader is a Python application that optimizes trading strategy hyperparameters for Freqtrade using genetic algorithms (default) and Optuna. It runs as a CLI tool (`main.py`) or a systemd daemon, generating candidate strategies, executing Freqtrade backtests via subprocess, and scoring candidates with a multi-component fitness function designed to prevent overfitting (minimum trades, drawdown cap, profit factor requirement, complexity penalty). The architecture is modular: `genetic_algorithm/` provides generic GA operators (crossover, mutation, tournament selection, diversity maintenance), `optimization/` contains optimizer base classes and implementations, `strategy/` handles backtest execution, walk-forward validation, and a selection bar (false-discovery diagnostic), and `scripts/` includes deployment workflows and utility scripts. The repo is hybridβit is a software application that performs data research for trading strategy optimization, with strong emphasis on statistical rigor (walk-forward, Monte Carlo robustness, selection bar). External dependencies include Freqtrade (Docker image), Binance (for pair listing and delisting data), and SSH/SCP for deployment. The codebase is well-structured with tests, but shows signs of personal project maintenance (script sprawl, hardcoded paths, potential overfitting in sample results).