https://github.com/estevesx10/nvidia-stock-price-forecasting
NVIDIA Stock Price Forecasting with LSTM models
https://github.com/estevesx10/nvidia-stock-price-forecasting
long-short-term-memory-models regression-models supervised-learning univariate-forecasting
Last synced: 2 months ago
JSON representation
NVIDIA Stock Price Forecasting with LSTM models
- Host: GitHub
- URL: https://github.com/estevesx10/nvidia-stock-price-forecasting
- Owner: EstevesX10
- License: mit
- Created: 2024-08-11T01:29:03.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2024-09-16T01:40:20.000Z (8 months ago)
- Last Synced: 2025-01-24T05:27:03.972Z (4 months ago)
- Topics: long-short-term-memory-models, regression-models, supervised-learning, univariate-forecasting
- Language: Jupyter Notebook
- Homepage:
- Size: 6.95 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[NVIDIA] Stock Price Forecasting
![]()
## Project Overview
This Project mainly focuses on trying to predict the ``NVIDIA Stock's Market Price`` using data from the yahoo Finance market history alongside with ``Long Short-Term Memory Models`` (LSTM's).
The prediction methodology is based on ``Univariate Forecasting``, which means that we are only to consider ``n`` previous values to predict the subsequent/next one.
## Project Development (Dependencies & Execution)
This project was developed using a `Notebook`. Therefore if you're looking forward to test it out yourself, keep in mind to either use a **[Anaconda Distribution](https://www.anaconda.com/)** or a 3rd party software that helps you inspect and execute it.
Therefore, for more informations regarding the **Virtual Environment** used in Anaconda, consider checking the [DEPENDENCIES.md](https://github.com/EstevesX10/NVIDIA-Stock-Price-Forecasting/blob/main/DEPENDENCIES.md) file.
## Additional Considerations
The Notebook contains** executable code** that allows to properly ``extract the dataset`` from the yahoo finance market database, and therefore **preprocess it** in order to be later fed to a ``LSTM model``.
The code which allows to perform these tasks **is not fully developed** on the Notebook but rather on the ``CustomUtilities`` python package.
Moreover, it is possible to ``change the configuration`` used in the project so that the user can **perform other stock price forecastings**.
The user cannnot only ``change the Stock`` being studied but also the ``time interval`` to be considered in the **model's trainning** which directly **impacts it's performance**.
## Project Results
![]()
Based on the graph illustrating the model's performance across the **Training**, **Validation**, and **Testing** phases, the model **effectively learned** from the provided data and demonstrated accurate stock market price predictions during validation. However, it faced ``significant challenges`` during the Testing phase. Due to the ``high volatility`` in stock market values, the LSTM struggled to **accurately predict** new data instances.
To ``improve the model's performance``, we could consider the following **approaches**:
- ``Extend the training process`` beyond 100 epochs while keeping in mind the possibility of the model **overfitting** the data.
- ``Use alternative sampling techniques``, such as **stratified sampling**, to equally partition the data. This would enable the model to **learn and predict stock market values** during both **low and high price fluctuation periods**.
`README.md by Gonçalo Esteves`