Skip to content

IU-Capstone-Project-2024/ATS_ML

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Automatic Trade System - ML Model

Welcome to the Automatic Trade System (ATS) project! This repository is dedicated to developing an ML component of an automated trading system.

Table of Contents

  1. Overview
  2. Stack
  3. Usage
  4. Progress Report
  5. Issues and Support
  6. License
  7. Authors

Overview

The ATS project aims to develop an automated trading system that leverages machine learning algorithms to predict market trends and make informed trading decisions. The project consists of a frontend web interface and a backend machine learning component.

This repository houses an autonomous ML system centered on the Proximal Policy Optimization (PPO) model, which makes the trading decision for the next 15 seconds time interval based on incoming real-time information. Afterward, the predicted information is transferred to the automated trading system through the API interface, where the trading decision-making process is executed based on the received data.

Stack

Python libraries

Pandas Numpy TensorFlow PyTorch OpenAI Gym

  • Pandas, NumPy: fundamental for data manipulation and numerical operations.

  • Matplotlib: essential for creating visualizations.

  • TensorFlow, PyTorch, Gymnasium: powerful tools for building and training machine learning and deep learning models.

Usage

  1. Clone the repository using the following command:
git clone https://github.com/IU-Capstone-Project-2024/ATS_ML.git
  1. Install dependencies:
pip install -r requirements.txt
  1. Set up the Environment:

Create a virtual environment for the project and activate it. This will help isolate the project dependencies and ensure a clean installation.

  1. Modify the configs/main.json:
    • FinalPPO_20_80_trained.zip
    {
     "model_path": "models/FinalPPO_20_80_trained.zip",
     "observation_window": 20,
     "observed_features": ["agg_Close_diff","agg_Volume_diff","agg_Taker volume delta","agg_amount trades"],
     "prediction_frequency": 15,
     "receiver_endpoint": "",
     "strategy": "No strategy"
    }
    • PPO_knife_cumul_80_80.zip
    {
     "model_path": "models/PPO_knife_cumul_80_80.zip",
     "observation_window": 80,
     "observed_features": ["agg_Close_diff","agg_Volume_diff","agg_Taker volume delta","agg_amount trades"],
     "prediction_frequency": 15,
     "receiver_endpoint": "",
     "strategy": "Knife"
    }
    • Modify the "receiver_endpoint" to make the model send decisions to a trading bot

Performance

What we have tested and what results we have achieved:

  1. Test runs of trading algorithms were executed successfully on the exchange.
  2. We established and tested an environment for our AI agent to continue training it using reinforcement techniques.

ML achivments during testing process:

The behaviour of agent before training using reinforcement techniques:

statistics

After training:

statistics

Project website and progress reports:

Innopolis University Summer course 2024 ATS capstone project

Issues and Support

If you encounter any issues or need support, please open an issue in the GitHub repository.

License

The ATS project is licensed under the MIT License. For more details, see the LICENSE file.

Authors

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •