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!
-
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.
- SARIMA (Seasonal ARIMA): Statistical model tailored for time-series with seasonality and trends.
- Random Forest Regressor: Supervised machine learning ensemble using date-ordinal feature mapping.
- LSTM (Long Short-Term Memory): Deep learning recurrent neural network (Keras/TensorFlow) configured with MinMaxScaler scaling and sequence generation.
- Prophet: Meta’s automated time-series forecasting framework designed for additive models with daily/weekly trends.
├── 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
To run this app locally on your machine, follow these steps:
git clone https://github.com/WakeelDev/Stock-Market-App.git
cd Stock-Market-App
# On Windows
python -m venv venv
venv\Scripts\activate
# On macOS/Linux
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
streamlit run app03.py
- Language: Python
- Frontend/Deployment: Streamlit Cloud
- Data & Plots:
yfinance,pandas,numpy,plotly,matplotlib,seaborn - Machine Learning & Time-Series:
statsmodels,prophet,scikit-learn,tensorflow/keras
This project is open-source and licensed under the Apache-2.0 License.