Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📈 Stock Market Forecasting App

An interactive, end-to-end web application built with Streamlit and Python for analyzing historical financial data and forecasting future stock prices using traditional statistical methods and machine learning models.

🚀 Try the Live Web App on Streamlit Cloud!


🌟 Key Features

  • Real-Time Data Retrieval: Automatically fetches live historical market data from Yahoo Finance (yfinance).

  • Interactive Data Visualization: Dynamic stock price plots built with Plotly Express and Graph Objects.

  • Time-Series Analysis:

  • Augmented Dickey-Fuller (ADF) test for data stationarity verification.

  • Seasonal decomposition (Trend, Seasonality, and Residuals) in interactive Plotly views.

  • Multiple Predictive Models: Train and evaluate multiple forecasting techniques on the fly.

  • Custom Parameter Tuning: Adjust model hyperparameters (e.g., ARIMA orders, LSTM sequence lengths, forecast horizons) directly from the sidebar UI.


🛠️ Forecasting Models Included

  1. SARIMA (Seasonal ARIMA): Statistical model tailored for time-series with seasonality and trends.
  2. Random Forest Regressor: Supervised machine learning ensemble using date-ordinal feature mapping.
  3. LSTM (Long Short-Term Memory): Deep learning recurrent neural network (Keras/TensorFlow) configured with MinMaxScaler scaling and sequence generation.
  4. Prophet: Meta’s automated time-series forecasting framework designed for additive models with daily/weekly trends.

📂 Project Structure

├── app03.py           # Main Streamlit web application script
├── requirements.txt   # Python dependency list
├── config_toml        # Streamlit configuration settings
├── README.md          # Project documentation
└── LICENSE            # Apache 2.0 License


💻 Local Setup & Installation

To run this app locally on your machine, follow these steps:

1. Clone the Repository

git clone https://github.com/WakeelDev/Stock-Market-App.git
cd Stock-Market-App

2. Set Up a Virtual Environment (Recommended)

# On Windows
python -m venv venv
venv\Scripts\activate

# On macOS/Linux
python3 -m venv venv
source venv/bin/activate

3. Install Dependencies

pip install -r requirements.txt

4. Launch the App

streamlit run app03.py

🧰 Built With

  • Language: Python
  • Frontend/Deployment: Streamlit Cloud
  • Data & Plots: yfinance, pandas, numpy, plotly, matplotlib, seaborn
  • Machine Learning & Time-Series: statsmodels, prophet, scikit-learn, tensorflow / keras

📄 License

This project is open-source and licensed under the Apache-2.0 License.

About

A Streamlit app for forecasting stock prices using models like SARIMA, Random Forest, LSTM, Prophet, XGBoost, and ARIMA, with interactive data visualization and parameter tuning.

Topics

Resources

Stars

4 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages