Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/valb3r/gtc-all-repo

Spring Boot cryptocurrency trading bot
https://github.com/valb3r/gtc-all-repo

bitcoin cryptocurrency java microservices spring-boot trading-bot

Last synced: 19 days ago
JSON representation

Spring Boot cryptocurrency trading bot

Awesome Lists containing this project

README

        

# Microservice-based cryptocurrency trading bot (WebSocket API)
This is crypto-trading bot with support for multiple crypto-exchanges using their websocket API for book retreival,
orders in most cases are placed using REST api (with rate limiting).

It that has following strategies:
1. cross-exchange arbitrage strategy
2. neural-network strategy to estimate future price when trading on single exchange.

**Supported exchanges**
- Binance
- Bitfinex
- Gdax
- Hitbtc
- Huobi
- Okex
- TheRockTrading
- Wex

**Main components (microservices)**
- Provider (inbound adapter). Ingests websocket book data from exchange and transforms it into internal structure.
- Xo-Opportunity-Trader. Statemachine-based bot that creates orders based on selected strategy.
- Shared. Common repository
- Gateway (outbound adapter). Submits orders and provides common order management interface.
- Persistor. Stupid-simple component that allows to persist historical order book data.

**Order creation sequence diagram (module level)**
![Order creation diagram](http://www.plantuml.com/plantuml/proxy?src=https://raw.githubusercontent.com/valb3r/GTC-all-repo/master/flow-sequence.puml&fmt=png&vvv=1)

**Extra dependencies**
You need MySQL instance for Xo-Opportunity-Trader to work - it persists opened/closed orders, statistics and audit there,
all other modules do not have extra dependencies.

**Deployment**
Each executable module is supplied with Google Cloud-Kubernetes deploy file located in gce/deploy.yaml