A Comparative Analysis of CNN-xLSTM and XGBoost for Bitcoin and Algorand Forecasting
Academic-grade comparison of CNN-xLSTM and XGBoost models for cryptocurrency price forecasting on Bitcoin (BTC-USD) and Algorand (ALGO-USD).
Authors: Jelena Simić, Elena Drpa, Andreja Čobeljić, Aleksandar Protić, Lucian Lungu
Course: Machine Learning - RAF MCF
Term: Fall 2025
- Novel xLSTM Architecture: First application of Extended LSTM with exponential gating to cryptocurrency prediction
- Configurable Causal/Bidirectional Processing: Production-ready causal mode vs research bidirectional mode
- GARCH Volatility Normalization: Handles volatility clustering for regime-robust predictions
- Purged Cross-Validation: Prevents data leakage in time series splits
- Statistical Validation: Diebold-Mariano tests, bootstrap confidence intervals
- Financial Loss Functions: Directional, Sharpe, and Sortino loss functions
- Stationarity Testing: Automatic ADF tests and fractional differentiation
- Modular, reproducible, type-hinted codebase
- All hyperparameters externalized in
config.yaml - Automatic data caching (parquet format)
- Time-aware train/validation/test splits
- Comprehensive evaluation metrics (MSE, MAE, R², Directional Accuracy)
- Publication-quality forecast visualizations
├── config.yaml # All hyperparameters (Hydra)
├── main.py # Entry point (train/train_daily/predict modes)
├── requirements.txt # Dependencies
├── scripts/ # Utility scripts
│ ├── forecast_tomorrow.py # Quick 1-day forecast
│ ├── analyze_stationarity.py # Stationarity analysis
│ ├── analyze_cv.py # Cross-validation demo
│ └── compare_models.py # Model comparison
├── src/ # Core library
│ ├── data.py # Data download, caching, features
│ ├── models.py # XLSTMModel, XGBoostModel
│ ├── xlstm_cells.py # sLSTM, mLSTM implementations
│ ├── evaluate.py # Metrics, Diebold-Mariano, plots
│ ├── losses.py # Financial loss functions
│ ├── stationarity.py # ADF tests, fractional diff
│ ├── validation.py # Purged CV, walk-forward
│ └── volatility.py # GARCH normalization
├── tests/ # Unit tests
├── models/ # Saved model artifacts
├── data/ # Cached data (auto-created)
└── results/ # Output plots and metrics
pip install -r requirements.txtpython main.py # Train both models
python main.py mode=train_daily # Train daily models for forecastingpython main.py mode=predict # Multi-day forecast
python scripts/forecast_tomorrow.py # Quick 1-day forecast
python scripts/forecast_tomorrow.py --asset BTC-USDpython main.py xlstm.epochs=100 xlstm.patience=20
python main.py asset.names=[BTC-USD]
python main.py xgboost.n_estimators=500 xgboost.max_depth=8python scripts/analyze_stationarity.py # Stationarity analysis
python scripts/analyze_cv.py # Cross-validation demo
python scripts/compare_models.py # Model comparisonpytest tests/ -vEdit config.yaml to modify:
- asset: Ticker symbols, data interval, history length
- split: Train/validation/test ratios with purging
- xlstm: CNN-xLSTM architecture and training params (causal/bidirectional modes)
- xgboost: XGBoost hyperparameters
- features: Feature engineering settings, GARCH normalization
- forecast: Prediction horizon, confidence intervals, clipping
- paths: Data cache and output directories
Results are saved to ./results/:
summary_metrics.csv: Model comparison metrics{ASSET}_forecast.png: Forecast visualization per asset{ASSET}_stationarity_report.csv: Stationarity analysis- Statistical test results and bootstrap confidence intervals
Our comprehensive study reveals asset-dependent model performance:
- XGBoost Winner: 43.98% directional accuracy vs 31.41% (xLSTM)
- Better performance on efficient, liquid markets
- xLSTM Winner: 72.77% directional accuracy vs 32.46% (XGBoost)
- Positive Sharpe ratio (4.64) - exceptional for crypto prediction
- Deep learning captures temporal patterns in volatile altcoins
Key Insight: No single model dominates - optimal choice depends on asset characteristics.
| Metric | Description |
|---|---|
| MSE | Mean Squared Error |
| MAE | Mean Absolute Error |
| R² | Coefficient of Determination |
| DirAcc | Directional Accuracy (trend prediction) |
Creative Commons Attribution-NonCommercial 4.0 International License (CC BY-NC 4.0)
Copyright (c) 2026 Jelena Simić, Elena Drpa, Andreja Čobeljić, Aleksandar Protić, Lucian Lungu
This work is licensed under the Creative Commons Attribution-NonCommercial 4.0 International License. For commercial licensing inquiries, please contact: contact@interworksystems.com
If you use this work in academic research, please cite:
Simić, J., Drpa, E., Čobeljić, A., Protić, A., & Lungu, L. (2026). Cryptocurrency Price Prediction Using Deep Learning and Gradient Boosting Methods: A Comparative Analysis of CNN-xLSTM and XGBoost for Bitcoin and Algorand Forecasting. Machine Learning Course Project, RAF MCF.