Okcan's picture
Update README.md
6569de8 verified
metadata
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.