Open-source project
Leci37/TensorFlow-stocks-prediction-Machine-learning-RealTime avatar
Leci37/TensorFlow-stocks-prediction-Machine-learning-RealTime

Leci37's TensorFlow stocks prediction repo: 36 models, 637 indicators, one categorical target

Predict operation stocks points (buy-sell) with past technical patterns, and powerful machine-learning libraries such as: Sklearn.RandomForest , Sklearn.GradientBoosting, XGBoost, Google TensorFlow and Google TensorFlow LSTM..Real time Twitter:

313 stars96 forksPythonLicense varies

At a glance

What is it?
A Python project that trains TensorFlow, XGBoost and Sklearn classifiers to emit buy, sell or do-nothing signals from technical indicators, then pushes alerts to Telegram. The README is candid about it being dense and unfinished, and the licence is not stated.
Who is it for?
Adopt this if you want a working scaffold for indicator-based classification and are willing to read the tutorial before touching the code; the README itself warns that installing it without understanding is a mistake. Skip it if you need a licensed, production-grade signal service, since no licence is stated and the author describes private development with collaborators being sought.
Can I use it commercially?
Not without permission. GitHub finds no licence file in the repository, and without a licence all rights are reserved by default: you may read the code but not reuse it. Check the README, or ask the authors, before using it.
Is it still maintained?
Yes. The repository last received commits 43 days ago.
What is it written in?
Mainly Python, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 15, 2026, and from our analysis. They are not legal advice.

DEEP OPEN-SOURCE ANALYSIS

The problem is the target variable, not the model list

Most stock prediction side projects try to regress tomorrow's price. The README argues against that directly, calling a continuous target "poor and confused" and giving the example "the stock will be worth 32.4 in 2 days". The project instead predicts a categorical outcome: buy, sell, or do nothing. The README names the ground truth column buy_seel_point (the spelling is the author's) and describes it as the thing the whole pipeline is trained against. That reframing is the actual contribution here. A classifier over three actions can be scored with precision, recall and F1 per class, and a do-nothing class gives the model somewhere to put uncertainty instead of forcing a number. The audience is a developer who already knows pandas and scikit-learn and wants to test whether technical indicators carry signal for a specific ticker, not someone looking for a trading bot to point at a brokerage account.

How the pipeline is wired: indicators in, three classes out

The README lists a five-step flow. Historical OHLCV data is collected first, with Alpha Vantage named as the recommended API under section 1.0. Technical indicators are then computed and filtered, and the README says this filtering happens automatically by default. Training follows across TensorFlow, XGBoost and Sklearn, with the model families named as RandomForest, GradientBoosting, XGBoost, dense networks, LSTM, GRU and LINEAR. Evaluation comes next, and the README describes it as threshold and quality model evaluation. Prediction is last, with a real-time OHLCV fetch feeding an alert path. One design point worth noting: the README claims independent neural network selection of the best technical patterns per stock, which implies indicator choice is not global but fitted per ticker. That is a meaningful architectural claim, and it is also the part most likely to overfit if the selection is done on the same window used for scoring. The README does not describe a holdout scheme for the indicator selection step, so treat that as unverified.

Getting it running: the tutorial is the entry point, not the code

There is no pip install line in the supplied README. The author's instruction is explicit: "The project is long and dense, trying to install it without understanding is a mistake, the first thing to do is to run and understand the TUTORIAL". Setup is organised as numbered stages in the README: section 1 for historical data collection, 1.0 for the Alpha Vantage API, 1.1 for generating OHLCV history, 2 for indicator filtering, 3 for training, 4 for evaluation, and 5 for predictions. Within section 5 there is 5.0 for a last-week backtest, 5.1 for real-time OHLCV, 5.2 for setting chatIDs and tokens in Telegram, and 5.3 for sending real-time alerts. The only configuration keys the README names are the Telegram chat IDs and the bot token, set in step 5.2. Notification channels listed are Twitter, Telegram and Mail. The README also links a separate repository, Strategy-stock-Random-Forest-ML-sklearn-TraderView, for a simpler Random Forest strategy. If you cannot find a requirements file or environment spec in the repository itself, that is a gap to resolve before you start, because the dependency set spans TensorFlow, XGBoost and Sklearn simultaneously.

The improvement list is the honest part of the README

A long "Possible improvements" section reads like the author's own backlog, and it is more informative than the feature list above it. It includes items such as combining the power of the 17 models, better use of tuners, reviewing the way ground true is obtained, and looking at F1-score for unbalanced classes. That last item is a direct admission that class imbalance is a live problem in the current setup. If buy, sell and do-nothing are not roughly balanced in the labelled data, accuracy is a misleading metric and the evaluation step in section 4 may be reporting something less useful than it appears. Other listed gaps include removing columns with more than 0.9 correlation between them, adding news sentiment, adding balance sheets, and moving toward reinforcement learning. The README also links external reading on LSTM plus stock price failure. A project that documents its own weak points this openly is easier to assess than one that does not, but it also means you are adopting a research scaffold, not a finished tool.

Where it breaks: labelling, imbalance, and the alert path

Two failure modes are visible from the material. The first is the ground truth itself. The README's improvement list asks whether three ground-truth detection tags are sufficient or whether subclasses are required, and separately suggests reviewing how ground true is obtained. If the buy_seel_point labels come from a fixed forward-return threshold, the model learns that threshold, not the market. Change the horizon and the labels change underneath you. The second is the real-time path. Section 5.1 fetches live OHLCV and 5.3 pushes alerts, which means an indicator computed on a partial bar can differ from the same indicator computed on a closed bar. The README does not state how it handles in-progress candles. There is also a scope limit: the README's own licence section is titled AUTHOR'S LICENSE and the repository metadata reports the licence as unknown, so the terms under which you may reuse this code are not established by the material available. This is the wrong tool if you need a signal you can act on without validating the labelling rule yourself.

The simpler sibling repo is the real alternative

The README points to Strategy-stock-Random-Forest-ML-sklearn-TraderView, described there as a simpler Random Forest strategy, and it is also referenced as Machine Learning Strategy. The difference in approach is scope. This repository trains and compares many model families (TensorFlow, LSTM, GRU, XGBoost, Sklearn ensembles) and lets a neural network pick indicators per stock. The sibling narrows to a single Random Forest over a fixed feature set. If your question is whether technical indicators predict your ticker at all, the single-model version answers it with far less surface area to debug. If your question is which architecture wins, this repository is the one that runs the comparison. Choosing between them is a question of whether you want a baseline or a tournament, and the README's own recommendation to start with the tutorial suggests the author expects people to arrive at the heavy version too early.

Maintenance, licence, and what the README does not settle

The repository metadata shows the last push in August 2026 and no releases retrieved, so there is no versioned artefact to pin against. The README states that development is happening privately and that collaborators are being sought, with a Telegram group as the coordination channel. That is a real maintenance signal: the public code may lag the private work, and issues may be answered in chat rather than in the tracker. On licensing, the README's own heading is AUTHOR'S LICENSE and the metadata lists the licence as unknown. Without a named licence file, you cannot assume permission to redistribute or to use the code commercially, and if you plan to run this against real positions that question needs an answer before deployment. The README also carries a blunt risk statement: "USE THE SOFTWARE AT YOUR OWN RISK THE AUTHORS AND ALL AFFILIATES ASSUME NO RESPONSIBILITY FOR YOUR TRADING RESULTS". Treat the alert output as a research signal, not an execution instruction, until you have reproduced the section 4 evaluation on your own tickers and checked the F1 per class.

Editorial conclusion

Adopt this if you want a working scaffold for indicator-based classification and are willing to read the tutorial before touching the code; the README itself warns that installing it without understanding is a mistake. Skip it if you need a licensed, production-grade signal service, since no licence is stated and the author describes private development with collaborators being sought. Verify three things first: the licence status of the repository, whether the buy_seel_point labelling rule matches your holding period, and whether the model evaluation step reports F1 rather than accuracy on the unbalanced classes the README flags.

Official sources

  1. Issues
  2. Leci37/TensorFlow-stocks-prediction-Machine-learning-RealTime on GitHub
  3. README
Community notes

Community notes