Welcome to the Automatic Trade System (ATS) project! This repository is dedicated to developing an ML component of an automated trading system.
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.
-
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.
- Clone the repository using the following command:
git clone https://github.com/IU-Capstone-Project-2024/ATS_ML.git
- Install dependencies:
pip install -r requirements.txt
- 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.
- 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
What we have tested and what results we have achieved:
- Test runs of trading algorithms were executed successfully on the exchange.
- 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:
After training:
Innopolis University Summer course 2024 ATS capstone project
If you encounter any issues or need support, please open an issue in the GitHub repository.
The ATS project is licensed under the MIT License. For more details, see the LICENSE
file.
- Ivan Golov: Team Lead
- Daniil Abrosimov: ML Engineer
- Dmitriy Nekrasov: ML Engineer