Repolode
asavinov

asavinov/intelligent-trading-bot

Python framework for training ML models on historic crypto market data with feature engineering, then running them as an online service that sends trading signals.

Stars
1,891
Forks
414
Open issues
45
Last commit
6 days ago

Repolode describes open-source projects and does not give investment advice. Trading and investing can lose money: assess the risk yourself and follow the laws where you live before using this project.

What is it?

Intelligent Trading Bot is a Python framework for building automated trading signals, mainly for cryptocurrencies, using machine learning and feature engineering. It separates an offline batch pipeline, which downloads market data, merges it, generates features and labels, and trains models, from an online service that applies the same features to fresh data and produces a score.

Features are defined as Python functions and configured in a JSON file. Built-in generators cover TA-Lib indicators, tsfresh-style statistics and custom functions, and the same feature code is meant to run in both batch and streaming modes. Data frequency can be set from minutes to days, and the bundled scripts also cover backtesting through rolling re-training and trade simulation.

The online service runs on a schedule, retrieves the latest data from Binance or Yahoo, and sends results through configurable outputs such as Telegram messages, API endpoints, databases or live trade execution.

Key features

  • 01Separate offline training and online prediction pipelines with shared feature logic.
  • 02Feature and label generators configurable in JSON, including TA-Lib indicators and custom Python functions.
  • 03Supports multiple time frequencies such as 1 minute, 1 hour or 1 day.
  • 04Built-in data download from Binance and Yahoo.
  • 05Pluggable outputs for Telegram notifications, APIs, databases or real trades.
  • 06Rolling walk-forward backtesting and trade simulation scripts.

Use cases

  • Researching whether machine learning features predict short-term crypto price moves.
  • Sending automated buy or sell alerts to a Telegram channel.
  • Backtesting a feature and model pipeline on historic Binance data before going live.
  • Prototyping custom technical indicators within a repeatable train-and-predict workflow.

Quick start

  1. 1

    Prepare a configuration file (sample configs are in the config folder)

  2. 2

    Download historic market data

    python -m scripts.download -c config.json
  3. 3

    Merge downloaded data, then run the features, labels and train scripts (also listed in the README)

    python -m scripts.merge -c config.json
  4. 4

    Start the online trading signal service

    python -m service.server -c config.json

Things to know

  • Data download is limited to Binance and Yahoo, and data sources are not extendable.
  • Offline training must be run before the online service can produce signals.
  • Computing features on complex configurations can take hours.

Topics

FAQ

What is intelligent-trading-bot?
Python framework for training ML models on historic crypto market data with feature engineering, then running them as an online service that sends trading signals. Intelligent Trading Bot is a Python framework for building automated trading signals, mainly for cryptocurrencies, using machine learning and feature engineering. It separates an offline batch pipeline, which downloads market data, merges it, generates features and labels, and trains models, from an online service that applies the same features to fresh data and produces a score.
Is intelligent-trading-bot free to use? What license does it have?
intelligent-trading-bot is open source under the MIT license. Check the license terms before using it in commercial products.
Is intelligent-trading-bot still maintained?
Actively maintained. The last commit to intelligent-trading-bot was on Nov 1, 2026.
What can I use intelligent-trading-bot for?
Researching whether machine learning features predict short-term crypto price moves. Sending automated buy or sell alerts to a Telegram channel. Backtesting a feature and model pipeline on historic Binance data before going live. Prototyping custom technical indicators within a repeatable train-and-predict workflow.
How do I install intelligent-trading-bot?
Prepare a configuration file (sample configs are in the config folder) Download historic market data: python -m scripts.download -c config.json Merge downloaded data, then run the features, labels and train scripts (also listed in the README): python -m scripts.merge -c config.json Start the online trading signal service: python -m service.server -c config.json
Where can I get intelligent-trading-bot?
The source code and installation instructions are on GitHub: https://github.com/asavinov/intelligent-trading-bot

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects