asavinov/intelligent-trading-bot
Intelligent Trading Bot: Automatically generating signals and trading based on machine learning and feature engineering
What it solves
This project provides a framework for building automated trading bots that use machine learning to predict price movements. It addresses the challenge of maintaining consistency between the offline training phase (where models are trained on historical data) and the online prediction phase (where the bot makes real-time decisions).
How it works
The system is split into two primary modes:
- Offline (Batch) Mode: A pipeline of scripts handles downloading historical data from sources like Binance and Yahoo, merging data streams, generating derived features (using libraries like TA-Lib and tsfresh), and creating labels (future price targets) for training. It then trains classification or regression ML models to predict these labels.
- Online (Stream) Mode: A cloud-based service periodically retrieves the latest market data, computes the same derived features used during training, applies the trained ML models to generate predictions, and aggregates these into a final "intelligent indicator" score.
The system includes a backtesting suite that uses rolling walk-forward splits to simulate realistic trading performance by regularly re-training models on unseen data.
Who it’s for
Traders and developers interested in algorithmic trading who want to integrate machine learning models into a production-ready pipeline for cryptocurrency or other asset trading.
Highlights
- Consistent Feature Engineering: Ensures the exact same derived features are used in both training and live trading.
- Extensible Feature Set: Supports standard technical indicators via TA-Lib and complex time-series features via tsfresh.
- Flexible Output: Can be configured to send signals via Telegram, API endpoints, or execute real transactions.
- Realistic Backtesting: Includes a simulation script and a rolling prediction script to avoid data leakage and better estimate real-world performance.
Related
- Project
- Project
- Project
- Project
- Project