
Table of Contents
- [Introduction]
- [Installation]
- [Folder Structure]
- [Usage]
- [Models Used]
- [Acknowledgments]
Introduction
This project is part of a coursework for a Machine Learning and Predictive Analysis class. The aim is to predict short-term cryptocurrency returns using machine learning models. The models are trained on historical trading data obtained from Binance and feature-engineered based on various technical indicators.
Installation
Clone this repository to your local machine.
git clone https://gitlab.uwe.ac.uk/o2-namdar/mlproject.git
Folder Structure
mlproject/
│
├── data/ # Folder for raw and processed data
│ ├── raw_data.csv # Raw trading data
│ └── processed_data.csv # Data after feature engineering
│
├── models/ # Folder for saved machine learning models
│ ├── model1.pkl
│ ├── model2.pkl
│ └── ...
│
├── get_data.py # Optional script to fetch data from Binance
├── modelling.ipynb # Jupyter notebook for data analysis and model training
└── README.md
Usage
Data
You don't need to run get_data.py
as the required CSV files for both raw and processed data are already included in the data/
folder.
Optional: Fetching Data
If you wish to fetch fresh data, you'll need to register an account with Binance and obtain an API key and secret key. Then you can edit and run the get_data.py
script.
python get_data.py
Data Preprocessing and Model Training
The feature engineering and model training are carried out in the Jupyter notebook modelling.ipynb
.
To start the Jupyter notebook,
jupyter notebook modelling.ipynb
Follow the notebook to preprocess the data and train the machine learning models.
Models Used
- Random Forest
- Gradient Boosting
- Logistic Regression
- Support Vector Machines (SVM)
- Linear Discriminant Analysis
- K-Nearest Neighbors
Acknowledgments
- Binance API for providing the trading data.
- TA-Lib for technical indicators.