An open API service indexing awesome lists of open source software.

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

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`