This project is a web application for predicting cryptocurrency prices using LSTM models. The dashboard is built using Plotly Dash and provides visualization of actual and predicted closing prices for Bitcoin (BTC-USD), Ethereum (ETH-USD), and Cardano (ADA-USD).
Demo video here: https://youtu.be/6Wz7xLmob4k?si=WuhEe0vOHSVZTMbm
The project is inspired by a tutorial on stock price prediction by Data Flair.
- Student ID: 20120454
- Name: Cong-Dat Le
- Module: Advanced Topics in Software Development Technology
- Instructor: M.S. Van-Quy Tran, M.S. Duy-Quang Tran, M.S. Nguyen-Kha Do
- Python
- Plotly Dash
- LSTM (Long Short-Term Memory) Model
- Pandas
- NumPy
- Keras
- TensorFlow
├── app.py # Main application script for the Dash web app.
├── cryptocurrency_prediction.ipynb # Jupyter notebook for trainning the LSTM model.
├── cryptocurrency_data.ipynb # Jupyter notebook for getting cryptocurrency price data from Yahoo Finance.
├── requirements.txt # List of Python dependencies required for the project.
├── csvdata # Directory containing CSV data files for cryptocurrencies.
│ ├── BTC-USD.csv # Historical price data for Bitcoin.
│ ├── ETH-USD.csv # Historical price data for Ethereum.
│ ├── ADA-USD.csv # Historical price data for Cardano.
│ └── all_data.csv # All data in one file.
├── saved_model.h5 # Trained LSTM model file.
├── saved_model.keras # Trained LSTM model file.
├── README.md # Project overview, installation instructions, and usage guide.
└── LICENSE # This project is licensed under the MIT License
-
Clone the repository:
git clone https://github.com/Dat-TG/Cryptocurrency-Price-Prediction.git cd Cryptocurrency-Price-Prediction
-
Create a virtual environment and activate it:
python -m venv venv source venv/bin/activate # On Windows use `venv\Scripts\activate`
-
Install the dependencies:
pip install -r requirements.txt
-
Ensure your model file (
saved_model.h5
) and CSV data files are in the appropriate directories. -
Run the Dash application:
python app.py
-
Open your web browser and go to
http://127.0.0.1:8050/
to view the dashboard.
The project is deployed on Render and can be accessed at https://cryptocurrency-price-prediction.onrender.com/.
To deploy the application to Render:
-
Ensure your project contains
requirements.txt
. -
Push your code to a GitHub repository.
-
Create a new Web Service on Render and connect it to your GitHub repository.
-
Render will automatically detect the
requirements.txt
and use it to build and run your app.
- The dashboard contains three tabs for Bitcoin (BTC-USD), Ethereum (ETH-USD), and Cardano (ADA-USD), and one tab for comparison high-low and volume of them.
- Each tab of each cryptocurrency displays:
- A combined graph showing actual vs. predicted closing prices.
- A scatter plot of actual closing prices.
- A scatter plot of LSTM predicted closing prices.
This project is part of the Advanced Topics in Software Development Technology module, guided by M.S. Van-Quy Tran, M.S. Duy-Quang Tran, and M.S. Nguyen-Kha Do.
The code is inspired by a tutorial on stock price prediction by Data Flair.
This project is licensed under the MIT License - see the LICENSE file for details.