|
--- |
|
license: mit |
|
language: |
|
- en |
|
tags: |
|
- bitcoin |
|
- lstm |
|
- time-series |
|
- price-prediction |
|
- tensorflow |
|
- keras |
|
- finance |
|
--- |
|
|
|
# 🧠 Bitcoin Price Forecasting using LSTM Neural Network |
|
|
|
A deep learning model based on Long Short-Term Memory (LSTM) networks to predict the next-day closing price of Bitcoin (BTC-USD) using historical data from Yahoo Finance. |
|
|
|
--- |
|
|
|
## 🔍 Model Overview |
|
|
|
| Feature | Description | |
|
|--------------------|-----------------------------------------------------------------------------| |
|
| 📦 Model Type | LSTM (Long Short-Term Memory), a variant of Recurrent Neural Networks (RNN) | |
|
| 🧠 Frameworks Used | TensorFlow (Keras API), Scikit-learn, NumPy, Pandas, yfinance | |
|
| 📈 Input | Past 60 days of Bitcoin closing prices | |
|
| 🎯 Output | Predicted closing price for the next day | |
|
| 📊 Evaluation | Root Mean Squared Error (RMSE) | |
|
| 🧪 Goal | Short-term (1-day ahead) BTC price forecasting | |
|
|
|
--- |
|
|
|
## 🔧 What the Model Does |
|
|
|
- Downloads historical BTC-USD data from Yahoo Finance |
|
- Normalizes the data between 0 and 1 using MinMaxScaler |
|
- Splits into 80% training and 20% test sets |
|
- Creates time-sequenced inputs with a 60-day sliding window |
|
- Trains a 2-layer LSTM model with dropout to prevent overfitting |
|
- Evaluates the model using RMSE |
|
- Plots predicted vs actual prices |
|
- Makes a next-day prediction using the last 60 days of data |
|
|
|
--- |
|
|
|
## 💡 Use Cases |
|
|
|
- Educational: Learning time series forecasting and LSTM models |
|
- Research: Benchmarking for financial forecasting models |
|
- Visualization: Analyze model performance on real BTC data |
|
- Academic Support: Useful for papers or prototypes on AI-based financial systems |
|
|
|
--- |
|
|
|
## ⚠️ Limitations |
|
|
|
- Uses only the closing price (no volume, indicators, or sentiment data) |
|
- Performs only single-step (1-day ahead) forecasting |
|
- Does not account for sudden market news or shocks |
|
- Not designed for high-frequency or live trading systems |
|
|
|
--- |
|
|
|
## 🚀 Potential Improvements |
|
|
|
- Include additional features: volume, RSI, MACD, etc. |
|
- Integrate external signals: news, social media sentiment, macro data |
|
- Add attention or transformer-based layers |
|
- Extend to multi-step forecasting (3-day, 5-day, etc.) |
|
- Deploy as REST API or interactive dashboard |
|
- Connect to Binance or other exchanges for live predictions |
|
|
|
--- |
|
|
|
## 📁 Files |
|
|
|
- `lstm_bitcoin_predictor.py`: Full code to train, evaluate, and predict using LSTM |
|
- `data.csv`: (optional) Cached historical BTC-USD data |
|
- `model.h5`: Saved trained model |
|
|
|
--- |
|
|
|
## 📜 License |
|
|
|
This project is licensed under the MIT License. |
|
|
|
--- |
|
|
|
## ⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️ Disclaimer⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️ |
|
|
|
> **This model is intended for educational and research purposes only.** |
|
> |
|
> It is **not** designed for financial or investment decision-making. |
|
> No guarantees are made about the accuracy of the forecasts. |
|
> The authors accept no responsibility for any financial losses incurred from the use of this model. |
|
> **Use at your own risk.** |
|
|
|
|
|
|
|
|