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.
|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|
|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|
|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##|
|Blackbird||Binance, Bitfinex, Bitstamp, Bitrex, Cexio, Exmo, GDax, Gemini, ITBit, Kraken, OKCoin, Poloniex, Quadrigacx, Wex||C++||Julien Hamilton|
|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.