๐ Overview
This application uses machine learning models (Random Forest and GRU) to forecast Bitcoin prices across short- and long-term horizons. Tree-based models handle near-term fluctuations, while GRUs capture long-term patterns.
๐ง Learning & Tech Stack
This project helped me apply machine learning to financial time series, combining traditional and deep learning models in a production-ready pipeline.
- ๐ป Python โ data processing, modeling, and automation
- ๐ Scikit-learn & Keras โ for training and experimenting with multiples ML and DL models (RF, XGBoost, LSTM, GRU)
- ๐ Feature Engineering โ lagged prices, technical indicators (MACD, EMA, Bollinger Bands, etc.)
- ๐ Multi-source Data โ macroeconomic, on-chain, and sentiment features
- ๐งช Model Evaluation โ test sets, rolling predictions, performance metrics
- ๐ค Streamlit Deployment โ interactive prediction interface
- ๐๏ธ GitHub & Versioning โ code management and reproducibility
โจ Features
- ๐ Predict BTC prices for both short- and long-term horizons
- ๐ ๏ธ Toggle between GRU and Random Forest models
- ๐ Visual forecast charts with actual vs. predicted prices
- ๐ Feature importance breakdown (Random Forest)
- ๐ Recursive prediction logic with simulated lag features
- ๐ฌ Streamlit app for input, explanation, and download
๐ง Model Architecture Preview
Below is a preview of the model training and prediction interface:
