Project 02
MarketTesting
An independent machine learning project covering the workflow from data to predictions: acquiring historical equity data, cleaning and scaling it, training an LSTM and recording its predictions in a structured table.

* Run conditions: 12-stock training run, November 8, 2026, code at main 79f6e12. The 90-day forecast uses a sliding window, with each prediction fed back as input.
Project
Overview
MarketTesting downloads daily price history for NASDAQ stocks with yfinance, or reads it from a CSV, segments it into 100-day windows, and trains a two-layer LSTM in TensorFlow to predict the open, high, low, close and volume for the next day. As a learning project, it makes no claims of predictive accuracy.
Key components
- Data pipeline. The pipeline loads data from yfinance or a CSV file, filters out missing or short datasets and skips tickers that exceed fixed price or scaling thresholds. Every stock is scaled with one shared scaler.
- Model and training. A Keras LSTM with dropout and early stopping, trained ticker by ticker, including diagnosis of a scaling defect that drove validation loss to NaN.
- Prediction log and packaging. A DataLog that turns predictions into a day-by-day table, Pylint checks on GitHub Actions, and an installable Python package.

Code: Benjamin-Elmore/MarketTesting on GitHub. Described at main 79f6e12.