This project focuses on predicting the stock prices of "The State Bank Of India" using machine learning Regression algorithms. The dataset was collected from Yahoo Finance and contains historical stock data.
- Utilizes various classification algorithms for stock price prediction.
- Dataset collected from Yahoo Finance for "The State Bank Of India."
- Linear Regression
- SVR
- Random Forest
- Gradient Boosting Models (GBM)
- Extreme Gradient Boosting (XGBoost)
- AdaBoostRegressor
- Decision Tree
- KNeighborsRegressor(KNN)
- Artificial Neural Networks (ANN)
- LSTM(Long Short term Memory)
The dataset used in this project is sourced from Yahoo Finance and includes historical stock data for "The State Bank Of India." It comprises relevant features such as Open, High, Low, Close prices, and volume.
data/
: Contains the dataset files.notebooks/
: Jupyter notebooks with the code for data exploration, preprocessing, and model training.src/
: Python source code for the project.requirements.txt
: List of dependencies needed to run the project.
- Install dependencies using
pip install -r requirements.txt
. - Execute the notebooks in the
notebooks/
folder in the given order. - Run the scripts in the
src/
folder for further analysis or model training.
The sequence of all the algorithms used is as follows:
- Linear Regression
- SVR
- Random Forest
- Gradient Boosting Models (GBM)
- Extreme Gradient Boosting (XGBoost)
- AdaBoostRegressor
- Decision Tree
- KNeighborsRegressor(KNN)
- Artificial Neural Networks (ANN)
- LSTM(Long Short term Memory)
The Accuracy of all the following 10 Regression Algortihms is provided below:
The RMSE of all the following 10 Regression Algortihms is provided below:
The MAE of all the following 10 Regression Algortihms is provided below:
The MAPE of all the following 10 Regression Algortihms is provided below:
The Precision of all the following 10 Regression Algortihms is provided below:
The Recall of all the following 10 Regression Algortihms is provided below:
- We can further combine this data with that of stock sentiment data in order to achieve even better conclusion
- Also we can possibly use Clustering algorithsm to develop a buy/sell recommendation system
- We can clearly see in the accuracy chart that the accuracy of the algorithms - "2", "6", "8" and "10" are the highest.
- But when we see the rmse chart we find that the algorithms "2" and "8" is unusually high.
- So we conclude that the algorithms "6" and "10" i.e. AdaBoostRegressor and LSTM(Long Short term Memory) have performed very well both in terms of accuracy and rmse.
Rohit Dubey
This project is licensed under the MIT License.