I’ve written before about how easy it is to algo in the crypto world - and presented the process of implementing one in a shareable container (a Gitpod). It is striking and exciting how easy they are to create and get working with very little effort or lead time.

These facts lead predictably to an exploding global community of crypto algo traders and to the development of Open Source algos by a number of alturistic souls.

Algos Are Hard

The reason traders develop algos, is to take a winning idea and maximise it. It’s a compelling argument: if you have a trading idea that lets you beat the market, you surely should be able to express it concretely and specifically, and therefore you should be able to code it up! Great - go for it!

However to actually put it into place you do need significant software infrastructure: you need live market data; you need to be able to place trades in a timely manner; you need ways to detect when market conditions go against you - and a way to rapidly close your positions and exit. Getting all that together is rather hard.

This is has led to the emergence of an industry of for-profit companies who provide platforms where their clients - for either a fee or a percentage (or perhaps for less noble reasons) - write their algorithms and their infrastructure does the rest. But not everyone is content with such hand-holding especially given the inherent freedom of the crypto domain. Open Source algos are an alternative.

Some Open Source Algo Frameworks

Over the last several months via Googling and various Reddits and feeds I’ve compiled a list of Open Source crypto algo frameworks that are asserted to be in reasonable working order. To various levels I’ve tried some of them. I’ll list them here and ask readers who know of others to link to them in the comments. These ones are approximately in order of recent commit.

Name Exchanges Language Author
Gamma Ray BitMEX C++ Tian Liang Yuan
Kotlin Algo Trading BitMEX Kotlin Richard Hickling
RSI Strategy BitMEX Python Jahan Zahid
Freqtrade Bittrex, Binance, Kraken Python XMatthias
univocity-trader Binance Java 14 Jeronimo Backes
GoatFish   Javascript Lucas Rodriguez
Hummingbot Binance, Coinbase Pro, Huobi Global, Bittrex Global, Liquid, KuCoin Python CoinAlpha
QtPyLib Interactive Brokers Python Ran Aroussi
Crypto Trading Bot Bitmex, Binance, Conbase Pro, Bitfinex, Bybit, FTX Python Daniel Espendiller
BitMEX Trading Algo BitMEX Python Ilya Krotov
BitBotBackToTheFuture BitMEX Python Carlson Santana Cruz
Serenity Phemex, Coinbase Pro and Binance Python Kyle Downey
Gemini (Backtesting) Python anfeerico
Jesse Bitfinex, Binance, Coinbase Python Saleh Mirnezami
Sample Market Maker BitMEX Python STRML (BitMEX)
AAT Many: CCXT Python Tim K Paine
Nominal Nimbus LMax, Poloniex C##  
Gekko Binance, Poloniex, GDAX, BTCC, Bitstamp, Kraken, Bitfinex, Bittrex, coinfalcon, EXMO, wex.nz, Gemini, Okcoin.cn, Cex.io, BTC Markets, Luno, lakeBTC, meXBT, zaif, lakeBTC, bx.in.th, bitcoin.co.id, Quadriga CX Javascript Mike van Rossum
Blackbird Binance, Bitfinex, Bitstamp, Bitrex, Cexio, Exmo, GDax, Gemini, ITBit, Kraken, OKCoin, Poloniex, Quadrigacx, Wex C++ Julien Hamilton
Triangular Arb Binance Javascript Tiago Siebler
Crypto Trading Bot Bitrex Typescript Sascha Becker
Tribeca Coinbase, Bitbtc, OKCoin, Bitfinex Typescript Michael Gosner

I’m progressively experimenting with these. For one of them, Jesse, I got running in a Gitpod so you can run that yourself. The others work to various degrees, generally with some configuration. What’s very interesting is their differently arrived at focuses. Some are specifically arbitrage, some market-making. Some, like Serenity are frameworks for implementing a wide range of algos - and come with examples.

Some are focussed on particular exchanges - some span very many.

Clearly there’s plenty of material for new algo traders to work on.