All Projects → robaho → Go Trader

robaho / Go Trader

Licence: gpl-3.0
financial exchange written in Go, designed for algorithmic trading tests

Programming Languages

go
31211 projects - #10 most used programming language
golang
3204 projects

Projects that are alternatives of or similar to Go Trader

Wolfbot
Crypto currency trading bot written in TypeScript for NodeJS
Stars: ✭ 335 (+108.07%)
Mutual labels:  trade, trading-strategies, trading-algorithms, exchange
Krypto Trading Bot
Self-hosted crypto trading bot (automated high frequency market making) written in C++
Stars: ✭ 2,589 (+1508.07%)
Mutual labels:  trade, trading-strategies, exchange
Jesse
An advanced crypto trading bot written in Python
Stars: ✭ 1,038 (+544.72%)
Mutual labels:  trade, trading-strategies, trading-algorithms
LiuAlgoTrader
Framework for algorithmic trading
Stars: ✭ 514 (+219.25%)
Mutual labels:  trading-strategies, trading-algorithms, trade
Roq Api
API for algorithmic and high-frequency trading
Stars: ✭ 132 (-18.01%)
Mutual labels:  trading-strategies, trading-algorithms, exchange
Kupi Terminal
Ccxt based, open source, customized, extendable trading platform that supports 130+ crypto exchanges.
Stars: ✭ 104 (-35.4%)
Mutual labels:  trade, trading-strategies, exchange
roq-samples
How to use the Roq C++20 API for Live Cryptocurrency Algorithmic and High-Frequency Trading as well as for Back-Testing and Historical Simulation
Stars: ✭ 119 (-26.09%)
Mutual labels:  exchange, trading-strategies, trading-algorithms
Socktrader
🚀 Websocket based trading bot for 💰cryptocurrencies 📈
Stars: ✭ 152 (-5.59%)
Mutual labels:  trading-strategies, trading-algorithms, exchange
Eiten
Statistical and Algorithmic Investing Strategies for Everyone
Stars: ✭ 2,197 (+1264.6%)
Mutual labels:  trading-strategies, trading-algorithms
Tradingview Alert Binance Trader
This trading bot listens to the TradingView alert emails on your inbox and executes trades on Binance based on the parameters set on the TD alerts.
Stars: ✭ 100 (-37.89%)
Mutual labels:  trading-strategies, trading-algorithms
Bitmex Simple Trading Robot
Simple BitMEX trading robot.
Stars: ✭ 100 (-37.89%)
Mutual labels:  trading-strategies, trading-algorithms
Ccxt.net
CCXT.NET – CryptoCurrency eXchange Trading Library for .NET
Stars: ✭ 89 (-44.72%)
Mutual labels:  trade, exchange
Backtesting.py
🔎 📈 🐍 💰 Backtest trading strategies in Python.
Stars: ✭ 1,124 (+598.14%)
Mutual labels:  trading-strategies, trading-algorithms
Crypto Trading Bot
Cryptocurrency trading bot in javascript for Bitfinex, Bitmex, Binance, FTX, Bybit ... (public edition)
Stars: ✭ 1,089 (+576.4%)
Mutual labels:  trading-strategies, exchange
Hummingbot chinese
hummingbot中文资源
Stars: ✭ 114 (-29.19%)
Mutual labels:  trading-strategies, trading-algorithms
Quant
Codera Quant is a Java framework for algorithmic trading strategies development, execution and backtesting via Interactive Brokers TWS API or other brokers API
Stars: ✭ 104 (-35.4%)
Mutual labels:  trading-strategies, trading-algorithms
Openalgo
💹 openAlgo is a public repository for various work product relavant to algorithms and the high frequency low latency electronic trading space with a bias toward market microstructure as well as exchange traded futures and options.
Stars: ✭ 158 (-1.86%)
Mutual labels:  trading-strategies, trading-algorithms
Gekko
A bitcoin trading bot written in node - https://gekko.wizb.it/
Stars: ✭ 9,839 (+6011.18%)
Mutual labels:  trading-strategies, exchange
Py Market Profile
A library to calculate Market Profile (aka Volume Profile) for financial data from a Pandas DataFrame.
Stars: ✭ 153 (-4.97%)
Mutual labels:  trading-strategies, trading-algorithms
Binance grid trader
A grid trading strategy and trading-bot for Binance Exchange. 币安交易所的网格交易
Stars: ✭ 132 (-18.01%)
Mutual labels:  trading-strategies, trading-algorithms

go-trader

A financial exchange written in Go including complete order book, fix protocol, and market data distribution.

Uses quickfixgo or gRPC for client/server communication.

Uses UDP multicast for market distribution.

It uses the high-performance fixed point library fixed.

There is a sample client with a command line GUI, a sample "market maker", and a sample "playback".

The exchange itself has a bare bones web interface, that uses web sockets to provide real-time book updates.

The exchange is designed to allow for easy back-testing of trading strategies. It supports limit and market orders.

There is a very simple sample "algo". The program structure is applicable to many strategies that use an entry and exit price. This can be run in conjunction with the 'marketmaker' sample to test the "algo". Hint: it has a 50/50 chance of being successful EXCEPT the market maker bid/ask spread must be accounted for - which makes it far less than a 50/50 chance of being profitable...

It was primarily developed to further my knowledge of Go and test its suitability for high-performance financial applications.

install

go get github.com/robaho/go-trader

build

go install github.com/robaho/go-trader/cmd/exchange

go install github.com/robaho/go-trader/cmd/client

go install github.com/robaho/go-trader/cmd/marketmaker

go install github.com/robaho/go-trader/cmd/playback

run

cd $GOPATH/src/github.com/robaho/go-trader/cmd

exchange &

marketmaker -symbol IBM

client

performance

Using the quickfixgo connector:

  • test machine is a 3.4 ghz i7 (4 core,8 thread), running osx
  • clients and exchange process are running on the same machine
  • a quote is a double-sided (bid & ask)
  • a timing is measured from the quote message generation to the reception of the multicast market data

1 market maker can perform 6k round-trip quotes/sec

4 market makers can perform 16k round-trip quotes/sec

Using the gRPC connector:

1 market maker can perform 12k round-trip quotes/sec

4 market makers can perform 30k round-trip quotes/sec

REST api

access full book (use guest/password to login)

localhost:8080/api/book/SYMBOL

localhost:8080/api/stats/SYMBOL

screen shots

client screen shot web screen shot

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].