Skip to content
Snippets Groups Projects
Select Git revision
  • main default protected
1 result

README.md

Blame
  • Machine Learning for Short-term Cryptocurrency Prediction :chart_with_upwards_trend:

    Table of Contents

    1. [Introduction]
    2. [Installation]
    3. [Folder Structure]
    4. [Usage]
    5. [Models Used]
    6. [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.