Skip to content

Commit

Permalink
Update README
Browse files Browse the repository at this point in the history
  • Loading branch information
miohtama committed Mar 4, 2022
1 parent 4fbd486 commit 2a39f1a
Show file tree
Hide file tree
Showing 4 changed files with 37 additions and 20 deletions.
15 changes: 15 additions & 0 deletions LICENSE.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
Trade Executor framework for Python
Copyright (C) 2022 Market Software Ltd.

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
37 changes: 18 additions & 19 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,28 +1,27 @@
# Trade executor for Trading Strategy oracles
# Trade Executor

# Features
A trade executor is a Python framework to execute trades. It is designed for live trading and backtesting
of algorithmic trading strategies on decentralised markets.

- Maintain the strategy state
- Listen to external events to perform a duty cycle
- Download historical datasets for the decision
- Run a strategy ticks
## Features

# Architecture
- Live trading, paper trading and backtesting
- Maintain the strategy state on disk
- Webhooks to tick trading strategy ticks
- Manual confirmation of trades when needed

- Each strategy is deployed with an executor
- Each executor runs in its own process
- Strategy state can be serialized to a file or read from on-chain
- Executor open a WebHook port to accept ongoing signals
## Supported exchanges, blockchains and strategy types

# Executable strategy definition
- All EVM compatible blockchains: Ethereum mainnet, BNB chain, Polygon, Avalanche, etc.
- All Uniswap v2 compatible exchanges: SushiSwap, PancakeSwap, Trader Joe, QuickSwap, etc.
- Portfolio rebalancing strategies via [QSTrade](https://github.com/tradingstrategy-ai/qstrader/)

- Strategy must be a single Python module
- Strategy cannot have Python dependencies outside what `tradeexecutor` has
- Strategy module must export a class ``
## More information

# Execeutionn modes
- Visit [Trading Strategy website to learn about algorithmic trading on decentralised exchanges](https://tradingstrategy.gi)
- [Join the Discord for any questions](https://tradingstrategy.ai/community)
- For technical information see [docs](./docs)

# Running

Most of the options are passed as environment variables.
## License

- AGPL
3 changes: 3 additions & 0 deletions docs/testing.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,9 @@ pytest
Some tests provide interactivity. By default everything runs non-interactively.
But to test the user interface you might want to run the tests with user input enabled.

Tests that use this feature include
- `test_cli_approval`

```shell
USER_INTERACTION=true pytest
```
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[tool.poetry]
name = "tradeexecutor"
version = "0.1.0"
description = "Trade executor for portfolio management on decentralised finance"
description = "Trade executor for algorithmic trading on decentralised exchanges"
authors = ["Mikko Ohtamaa <[email protected]>"]
license = "APGL"

Expand Down

0 comments on commit 2a39f1a

Please sign in to comment.