Skip to content

ats-sys/ats

Repository files navigation


Logo

ATS: Automated Trading System

Make Automated Trading Easy to Everyone!
Explore the Docs »

Report Bug · Request Feature

Table of Contents
  1. About the Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. License
  6. Contributors
  7. Contact

About The Project

Screen Shot

ATS is a comprehensive automated trading system designed for traders and developers. With ATS, you can test, deploy, and manage custom trading strategies across various exchanges through an intuitive interface and API support.

Features:

  • Backtesting:
    • Deploy strategies for real-time trading on supported exchanges, with live data feeds and execution.
  • Live Trading:
    • Deploy strategies for real-time trading on supported exchanges, with live data feeds and execution.
  • Custom Strategies:
    • Develop and integrate unique trading strategies tailored to your requirements. ATS provides a framework for implementing and testing new approaches.
  • Exchange Connectivity:
    • Connect to any trading exchange by creating custom exchange classes, enabling flexibility and support for various markets.
  • Reporting:
    • Generate reports for backtesting and live trading environments. ATS offers insights into performance, risk metrics, and other essential analytics.
  • Custom Indicators:
    • Create indicators that complement your strategy, providing unique signals and insights based on custom data.
  • Custom Report Generation:
    • Tailor reports to specific needs, extracting insights from trade performance, risk, and market conditions.
  • API for Trading Jobs:
    • Use ATS APIs to create, manage, and monitor trading jobs programmatically, providing automation capabilities. Use ATS APIs to create, manage, and monitor trading jobs programmatically, providing automation capabilities.
  • Simple Trading UI:
    • A user-friendly interface for managing trades, viewing strategy performance, and monitoring real-time positions. Of course, no one template will serve all projects since your needs may be different. So I'll be adding more in the near future. You may also suggest changes by forking this repo and creating a pull request or opening an issue. Thanks to all the people have contributed to expanding this template!

(back to top)

Getting Started

This is an example of how you may give instructions on setting up your project locally. To get a local copy up and running follow these simple example steps.

Prerequisites

Following are the prerequisites you need to have beforehand.

  • conda (Recommended)
  • MongoDB
    • Makesure the MongoDB server is running on the system

Installation (Local)

Option 1 - conda:

  • simply run the setup.sh (for Linux) or setup.bat (for Windows) script to create a separate conda environment named ats with all the requirements needed for ATS.

  • This will guid you through the installation with optional packages for AI-based strategies as well.

  • For Linux

  ./setup.sh
  • For Windows
  .\setup.bat 

Option 2 - conda:

  • You can create the conda environment named ats with the given environment.yml file.
  conda env create -f environment.yml
  • You may need to install the required AI-related packages manually if you are willing to run AI-based strategies.

Option 3 - pip/conda:

  • Use the requirements.txt file provided to install the required Python packages in an existing environment.
  • The package versions in requirements.txt have been tested for Python 3.12 only.
  • If you are using a different Python version you may need to check for the compatible package versions.
      pip install -r requirements.txt
  • You may need to install the required AI-related packages manually if you are willing to run AI-based strategies.

Installation (Docker)

This option will be available soon 🤩

(back to top)

Usage

Run the System

Option 1:

  • If you followed setup Option 1 or Option 2, you may use the provided start.sh (for Linux) or start.bat (for Windows) if you followed Refer our Documentation for all the information Documentation

  • For Linux

      ./start.sh
    • For Windows
      .\start.bat 

Option 2:

  • Inside the created Python environment, you can simply run the main.py file.
        python -m ats.main

Add Custom Modules

(back to top)

Roadmap

  • Back trading Engine
  • Live Trading Engine
  • Add More Exchanges
    • Binance Spot
    • Binance Futures
    • More Exchanges
  • Add More Indicators
    • Volatility (std)
    • Moving Average/ Weighted Moving Average
    • RSI
    • OBV
    • Trend
    • Super Trend
    • AI Indicator
    • Bollinger Bands
    • More Indicators
  • Realtime Plotting API
  • Realtime Logging API
  • Optimize Back trading Engine
  • Release the Docker Image
  • Release the Python Package

See the open issues for a full list of proposed features (and known issues).

(back to top)

License

Distributed under the Apache-2.0 License. See LICENSE for more information.

(back to top)

Contributors

(back to top)

Contact

(back to top)