This repository is specifically created to showcase my independent project conducted during the CQF (Certificate in Quantitative Finance) studies, aimed at supporting my graduate school applications. The project develops a robust ensemble model using multiple machine learning algorithms to predict uptrends in Bitcoin perpetual futures. Key techniques include Random Forest, Logistic Regression, Support Vector Classifier, and XGBoost within a Blending Ensemble framework.
- Bitcoin Perpetual Futures: 1-minute OHLCV (Open, High, Low, Close, Volume) data spanning from 2020 to 2024. Due to size limitations, this dataset is not included in this repository.
- Open Interest Data: 5-minute intervals from the same period are included.
Project Report.pdf
: Includes detailed documentation of the project, inclduing:- Data Cleaning and Validation
- Model Preparation and Ensemble Structure
- Feature Scaling and Transformation
- Feature Selection:
- Feature Selection I: Boruta
- Feature Selection II: Recursive Feature Elimination with Cross-Validation (RFECV)
- Final Feature Set Selection And Refinement
- Blending Ensemble I: Base Models (RF, LR, SVC)
- Initial Training and Evaluation of Base Models
- Hyperparameter Tuning of Base Models
- Blending Ensemble II: Meta Model (XGBoost):
- Meta-Model Development and Optimization
- Final Model Evaluation
- Back-Testing and Strategy Performance Evaluation
modules.py
: Python module containing utility functions and model definitions used throughout the project.main_code.ipynb
: Jupyter notebook featuring the main computational experiments, model training, and evaluation processes.requirements.txt
: Contains all the necessary libraries and their versions used to run the project.Project Declaration_CQF.pdf
: Required declaration outlining adherence to CQF project submission standards.