A comprehensive cryptocurrency price prediction system that uses multiple machine learning models and technical analysis to predict price movements. The system includes data collection, preprocessing, model training, backtesting, and a web interface for visualization.
- Multiple ML model implementations:
- LSTM (Long Short-Term Memory)
- Random Forest
- Gradient Boosting Machine (GBM)
- XGBoost
- LightGBM
- Technical analysis indicators
- Advanced backtesting framework
- Web-based dashboard
- Real-time price updates
- Performance metrics and visualization
- Python 3.8+
- Binance API credentials
- TA-Lib installation
- Clone the repository:
git clone https://github.com/yourusername/crypto-predictor.git
cd crypto-predictor- Create and activate virtual environment:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate- Install dependencies:
pip install -r requirements.txt- Create .env file:
touch .env- Add your Binance API credentials to .env:
BINANCE_API_KEY=your_api_key
BINANCE_SECRET=your_api_secret
- Run the application:
python main.py- Access the web interface:
- Main interface: http://localhost:5000
- Dashboard: http://localhost:5000/dash
- Ensemble learning method
- Features:
- 100 estimators
- Max depth of 10
- Parallel processing enabled
- Boosting algorithm
- Features:
- 100 estimators
- Learning rate of 0.1
- Max depth of 5
- Advanced implementation of gradient boosting
- Features:
- Early stopping
- Subsample ratio of 0.8
- Column sampling of 0.8
- Light Gradient Boosting Machine
- Features:
- Leaf-wise growth
- 31 leaves per tree
- Parallel processing enabled
crypto_predictor/
├── config/ # Configuration settings
├── data/ # Data collection and preprocessing
├── models/ # ML model implementations
├── backtesting/ # Backtesting framework
├── web/ # Web interface
└── utils/ # Utility functions
- Adjust model parameters in config.py
- Modify technical indicators in technical_indicators.py
- Configure backtesting parameters in advanced_backtester.py
Run tests:
python -m pytest tests/- Fork the repository
- Create your feature branch:
git checkout -b feature/new-feature - Commit your changes:
git commit -am 'Add new feature' - Push to the branch:
git push origin feature/new-feature - Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
- Binance API for cryptocurrency data
- CCXT library for exchange integration
- TA-Lib for technical analysis indicators
- Various ML libraries contributors
This software is for educational purposes only. Do not use it for trading without proper validation and risk management.