This repository contains a simple machine learning project that predicts the next day's closing price of a single NASDAQ stock using historical price data and basic technical indicators.
The goal is to demonstrate an end-to-end workflow in a Jupyter Notebook: data loading → feature engineering → model training → evaluation → next-day prediction.
⚠️ Disclaimer: This project is for educational and experimental purposes only and does not constitute financial or investment advice.
- Uses
symbols_valid_meta.csvas the universe of NASDAQ-listed symbols. - Lets you search and choose a single stock (e.g.,
AAPL) from the metadata file. - Downloads historical OHLCV data from Yahoo Finance using
yfinance. - Engineers simple technical features:
- 10-day moving average (MA10)
- 50-day moving average (MA50)
- 1-day percentage return
- Builds a Random Forest Regressor to predict the next day's closing price.
- Visualizes historical prices and compares actual vs predicted prices on the test set.
.
├── stock_price_prediction.ipynb # Main Jupyter notebook
├── symbols_valid_meta.csv # NASDAQ symbols metadata
├── requirements.txt # Python dependencies (optional)
└── README.md # Project documentation