Why do I need an algorithmic crypto trading platform?

Written by kirillkanshin | Published 2018/08/16
Tech Story Tags: algorithmic-trading | cryptocurrency | ethereum | blockchain | programming

TLDRvia the TL;DR App

From physics to crypto.

A little more than a year ago I received my Ph.D. in theoretical particle physics with no clear plans for the future but strong intention to do something else, something more applied. For the last 4 years of my life, I have been around academics for whom the standard way out of academia is to settle in a cozy analytics job, work 8 to 5, earn a paycheck, go home and sleep tight.

While all this sounded appealing to me as well, I felt young enough to put everything I had on stake once again. So I started taking a plethora of courses on data science, freelancing, trading cryptocurrencies and eventually moved to New York (so living on the edge, wow).

Literally a week after I got the first item — a mattress — in my otherwise completely empty apartment in the middle of Manhattan, I met the guy who seemed to know what to do. He had a math/computer science background and we shared common interests in coding and cryptocurrencies trading.

While both of us had a clear understanding that the future of trading is algorithmic and AI-driven, we quickly figured out that the relevant products and solutions are either partially developed, badly supported, or just missing from the market. To address this problem we decided to create our own trading platform. This is how Cryzen was born.

So what are the pain points? There are a few.

Tower 49, NYC — our main office location.

Pain points.

First, there are over 500 centralized and decentralized exchanges, each of them having their own API interfaces, with varying documentation quality. That means that each time you want to deploy your bot on a new exchange you have to manually switch gears and figure out how to connect to the new exchange’s API, to place and cancel orders, query current prices, transfer funds and so on. Although there are libraries that attempt to simplify the process, they only work reliably for large exchanges. Further, there is no guarantee that the functionality a trading algorithm requires will be properly implemented for each and every exchange. But this is not all, with a great number of exchanges comes a great number of cryptocurrency pairs available for trading.

13,049 pairs available for trading. Where will your algo perform the best?

Second, you have to choose the metrics your algorithm will base its decisions on. Price and volumes in the orderbook are good, but this is just raw exchange data. Spice it up with technical indicators and you will feel the difference. Moreover, price data is not the only relevant input for trading algorithms. It is well known how much cryptocurrency markets can be affected by social media. Tweets, google trends, reddit posts, crypto news, coin listings and ICO announcements are all extremely important when it comes to predicting future price. It can be even argued that news and social media data drive prices more than anything else. Including this data in your input stream is crucial and requires considerable effort. On top of that, analysing raw textual data requires Natural Language Processing skills and computing power. This is a very exciting topic that I plan to elaborate on in future posts.

Third, you might think you came up with a good algorithm in theory — but that alone does not guarantee you will beat the market — this is for the market to decide! Before this happens, you have two options here: let your algorithm run live and see what happens or, better, check its performance on the historical data. This data is available, but usually at the level of 1-minute candlestick data which is just a summary of the whole complex market life — and might not be sufficient for a reliable backtesting. Indeed, cryptocurrency markets, especially the ones involving altcoins, might be quite shallow and have low liquidity, that translates into large bid-ask spreads, significant price fluctuations and variance of best prices across different exchanges. In this situation, placing a large order would completely distort the market, and, therefore, best price information is not a reliable input for a trading bot. Instead of looking at the tip of the iceberg you should dig in the depth of the orderbook, collect this data and backtest your algorithm against it. While this sounds like a reasonable thing to do, in practice, collecting orderbook level data from various markets beyond 1-minute frequency at sufficient depth requires dedicated server(s), a lot of storage space and is really hard to leverage for an average trader Joe (pun intended).

Last but by no means least, the field of Machine Learning and Artificial Intelligence is booming nowadays. There is no doubt that the cryptocurrency market will be a great battlefield for sophisticated ML-based algorithms. While Kaggle is doing a great job in building a community of data scientists, bringing together great minds and letting them explore cutting-edge ML techniques, there is nothing like this targeting the crypto space specifically. This should change and it will!

The solution.

At Cryzen we carefully addressed all of the above points, and are prepared to release our trading platform in October 2018. Stay tuned to learn more about algorithmic trading and the Cryzen platform!

Follow us on Facebook, Twitter, Telegram, LinkedIn and Medium.


Published by HackerNoon on 2018/08/16