Getting Started with High Frequency Finance using Crypto Data and Julia

I’ve written about how to use my CoinbasePro.jl package in Julia to get started with some concepts in high frequency finance.

Happy to answer any questions around the subject for anyone interested!

12 Likes

Awesome work. Starred in github. I often work with order books on equity markets and would love to play around with this. I’ll definitely have a look in a month or two (a few work commitments I need to get under control first).

1 Like

Thank you for the package and the nice write up.

Would you use Julia for HFT in production ? From what I have gathered gaining access to live data at 50~100 milliseconds latency is doable without colocation, so ultra HFT is kinda out of window. The robotic project that was done in Julia, they had achieved 1 millisecond loops with out calling GCC (if I’m not mistaken) so doing 50 milliseconds is doable in HFT. The question remains is Julia a viable option for live high frequency trading ?

Have you got a link to the robotic project please?

I don’t think Julia would be faster than the custom hardware the HFT firms use, but it would be interesting to see how close Julia could get.

Really cool writeup, thanks for bringing together a number of interesting concepts and putting them in layman’s terms! I am enjoying starting to poke into the papers you referenced.

1 Like

Coinbase also let you obtain the last 1000 trades, which can provide all sorts of insights. Echoing the introduction, you would never get this kind of information for free for any other asset classes.

Also, you may well already be aware of this, but the IEX exchange publishes its data feeds freely, so it is possible to get similar information on US equities these days. According to their own website, IEX only runs 2-3% of daily trading volume, a fact that deserves a caveat, but it’s not like every crypto trade is going through Coinbase Pro, either.

If you want to pull some historical data from IEX using Julia, I’m working on a little package for that: InvestorsExchange.jl

5 Likes

Here , It is an interesting talk, specially when he reasons why use Julia instead of C++.

Do you yourself have any plans on deploying Julia in production for high frequency-ish trading ?

That’s a nice little package. I’ll have to download some of their data using it. Thanks!

1 Like

Thanks for that and no plans yet.

1 Like

Might be interesting to build an interface between CoinbasePro.jl data and my (WIP) LOB simulator LimitOrderBook.jl for HFT strategy backtesting. I think these packages would complement each other nicely. I am looking for collaborators on LimitOrderBook.jl so DM me if there is interest.

I have also written some code for capturing message data from other exhanges (i.e. Binance, Bitfinex, …). It might also be interesting to build some sort of unified interface for all of these. I will take a look at the CoinbasePro.jl code to see what can be done on this front, the code I have is probably less organized and can probably use some inspiration.

1 Like

Nice looking package that, I’ll have a look and see if I can add anything. I’ve been parsing WebSocket feeds recently and have a blog post coming out soon around that.

Does anyone on this thread plot live data using eg Makie? I have a Tradier datafeed (websocket as well as streaming http) and am looking at the best way to do live downsampling to eg 5 min bars and real-time updates of the current bar, as you would see in any trading software.