tradingstrategy-ai / trade-executor

A Python framework for managing positions and trades in DeFi
https://tradingstrategy.ai
Other
107 stars 29 forks source link
algorithmic-trading binance-smart-chain blockchain cryptocurrency defi ethereum pancakeswap quantitative-finance sushiswap trading-bot trading-strategies uniswap web3

Automated test suite and Docker image build

Trade Executor: Algorithmic Trading Engine for DeFi

trade-executor is a Python framework for backtesting and live execution of algorithmic trading strategies on decentralised exchanges.

Note: This is early beta software. Please pop in to the Discord for any questions.

Features

Prerequisites

You need to know

Getting started

First study the example code

More information

Installation

Note: The project is under active development. We recommend any developers to use Github master branch for installations.

As dependency line for Poetry pyproject.yml:

[tool.poetry.dependencies]
# Remove Python 3.11 pin down after upstream dependency issues are resolved
python = ">=3.10,<3.11"  
# extras=["all"] does not seem to work here. Poetry bug?
trade-executor = {git = "https://github.com/tradingstrategy-ai/trade-executor.git", extras = ["web-server", "execution", "quantstats", "data"], rev = "master" }

Checking out from Github to make contributions:

git clone git@github.com:tradingstrategy-ai/trade-executor.git
cd trade-executor
git submodule update --init --recursive

# Extra dependencies
# - execution: infrastructure to run live strategies
# - web-server: support webhook server of live strategy executors
# - qstrader: still needed to run legacy unit tests
poetry install --all-extras

Or with pip:

pip install -e ".[web-server,execution,qstrader,quantstats]" 

Or directly from Github URL:

pip install -e "git+https://github.com/tradingstrategy-ai/trade-executor.git@master#egg=trade-executor[web-server,execution,qstrader,quantstats]"  

Limited file size by pre-commit hook

# The pre-commit hook checks the size of files before allowing a commit to proceed
# If a file exceeds the specified limit, the commit will be aborted
# Default MAX FILE SIZE is 35MB
# Run script setup
cd trade-executor
bash scripts/set-pre-commit-checkfilesize.sh 

Architecture overview

Here is an example of a live trading deployment of a trade-executor package.

Architecture overview

Running tests

See internal development documentation.

Community

License