Create a cryptocurrency trading bot in Elixir (self-published) (book + videos)

Create a cryptocurrency trading bot in Elixir (YouTube videos, ebook pay what you want)

#Elixir #Cryptocurrencies #AlgorithmicTrading

Looking for a real-world Elixir/OTP project to gain hands-on experience?

This video series/book will take you on a journey to create a cryptocurrency trading bot in Elixir. You will be able to see first-hand, how complex systems are designed and developed as we will build them together!

Create a cryptocurrency trading bot in Elixir - YouTube videos

Create a cryptocurrency trading bot in Elixir - Leanpub videos


Update below copied from this post:


Hello :wave:

As the book grows and people start to add suggestions/errata/dependencies updates, etc. I realized that publishing the book via the Leanpub platform is not best suited to maintain this book long-term for the benefit of the community.

Taking the above under consideration, I decided to make my book publicly available online(as a website - you can still download the PDF and EPUB through it) as well as open-source the markdown files for the book itself :clinking_glasses: :partying_face:

I would like to say that I’m gratefully thankful for all the support from the Elixir community with this project(both book and videos) - I couldn’t do this without you! :heart:

Here’s the new home of my book:

and here’s the source of it on GitHub:

Enjoy :heart:

3 Likes

Corresponding tweet for this thread:

Share link for this tweet.


Related portal:

1 Like

Looks good Kamil! I know the screencasts have been popular on the Elixir Forum - good luck with the book :+1:

1 Like

Hi, this sound very interesting!

I see that book is currently at 40%, is there a completion forecast?
I am currently with the elixir/phoenix base, I still lack more knowledge and practice but I will take into account your book to learn otp, processes and more elixir.
Thanks

2 Likes

Hi @JuanjoA

Thanks for your comment, it’s quite tricky to estimate when this book will be finished as it’s based on YouTube videos and those are still ongoing and I would assume they will be for a new few(3-4?) months so you can expect that this book will also be topped up for next 4-5 months.

I would say that you need some understanding of OTP and with this book, you can see how to apply your knowledge, so in the end, you have the first project behind your belt and should feel more comfortable that you can build some non-trivial apps.

3 Likes

2nd alpha release of my book is out! @ 50% it’s about 145 pages long and has 12 chapters:

Feel free to reach out if you found any issue / drop a comment / say hi :slight_smile:

Have a wonderful Sunday,

Kamil

3 Likes

Hello :wave:

Just released my 13th video! :champagne:

We will focus on creating a supervision tree around our streamer processes that will allow us to start and stop streaming on a symbol. To keep things in sync with the improvements made to the Naive application in the last episode, we will also introduce the autostarting functionality based on the settings from the database.

I’ve also redone the 12th video and uploaded it again so it follows the style of the series a little bit closer.

Enjoy :heart:

2 Likes

Hello everyone :wave:

I’ve managed to get 3rd release of my book out!

I guesstimate it to be about 75% finished and with 15 chapters, it’s 200+ pages long.

Newest release contains 3 additional chapters:

“Abstract duplicated supervision code” - we will venture into abstracting away the supervision logic that we copied in the previous chapters by leveraging refactoring and macros. This chapter contains a full refactoring session.
“Store trade events and orders inside the database” - we implement a new application that will be responsible for storing data from the PubSub topics. Additionally, we will look into how we could make the supervision tree even better by introducing Elixir Registry.
“Backtest trading strategy” - based on improvements from previous chapters we will be able to implement an extremely simple backtesting method that will stream trade events from the database to PubSub topic

I would like to say that I’m gratefully thankful for all the support from the Elixir community with this project(both book and videos) - I couldn’t do this without you :heart:

Enjoy :heart: - now back to the videos :video_camera:

2 Likes

Hello :wave:

Just released my 14th video! :champagne:

We will focus on refactoring the duplicated logic responsible for supervising(starting, stopping, and autostarting) the dynamic processes inside the naive and the streamer applications. First, we will abstract away all the generic code leaving just a boilerplate inside the naive application. Next, we will look into the “using” macro which we will leverage to get rid of that boilerplate. This video was released for educational purposes as the proper way of solving this problem would be to use the Registry(which will be the focus of the next episode).

Enjoy :heart:

3 Likes

Hi everyone :wave:

It’s this time again :wink: I just release the 15th video in the series dedicated to creating a cryptocurrency trading bot in Elixir - this time we will focus on refactoring the data warehouse, naive, and streamer applications to leverage the Elixir Registry. What we will end up with is a very slim layer of implementation on top of the Registry module as well as we won’t need to use thousands of atoms for names and run out of memory(as atoms are not garbage collected by Erlang VM!).

Don’t forget to smash that like button if you like it :wink:

Enjoy :heart:

2 Likes

Hello :wave:

As the book grows and people start to add suggestions/errata/dependencies updates, etc. I realized that publishing the book via the Leanpub platform is not best suited to maintain this book long-term for the benefit of the community.

Taking the above under consideration, I decided to make my book publicly available online(as a website - you can still download the PDF and EPUB through it) as well as open-source the markdown files for the book itself :clinking_glasses: :partying_face:

I would like to say that I’m gratefully thankful for all the support from the Elixir community with this project(both book and videos) - I couldn’t do this without you! :heart:

Here’s the new home of my book:

and here’s the source of it on GitHub:

Enjoy :heart:

3 Likes

Thanks for the book, it’s good. I like it.

3 Likes

The new version of the Hands-on Elixir & OTP book is now out :rocket:

This update includes:

  • a new chapter that deep dives into using the mox package to create more reliable tests without dependencies
  • readability improvements (new font used through the book + line spacing increased)
  • many small improvements like a custom password for dockerized DB, version of dependencies limited to minor

The book is now 226 pages long :sunglasses: - read online @ https://www.elixircryptobot.com

Don’t forget to support by sponsoring :heart:

2 Likes

Hello :wave:

I know it’s been a while since I posted any updates about my “soon to be finished” book. In all honesty, it took me on a personal journey to get the new three chapters finished, but I’m proud to let you know that I released a new version of my “Hands-on Elixir&OTP: Crytocurrency trading bot” book!:partying_face:

It now has 20 chapters spanning across 286 pages, and it’s feature complete (the remaining content that I would like to add is more like “appendixes” than additional chapters).

The version contains thoroughly reworked diagrams across the whole book together with three additional chapters:

Chapter 18 - Functional Elixir Focused on revising the code to group the business logic into a separate module and refactoring to push side effects to the edge. We then compare pure FP(managing effects) vs pragmatic Elixir features.

Chapter 19 - Idiomatic OTP Focused on looking into the different implementations of new aggregation functionality. The idea here is to show that there’s a delicate balance between the number of processes used and something less is more.

Chapter 20 - Idiomatic trading strategy For me, this one is an absolute game changer. It’s a complete rethinking of the usage of processes in achieving parallelism with an additional focus on purity. It’s a love child of the 18th and 19th chapters in action.

As usual, you can grab your copy from Gumroad

or read it online(HTML): https://www.elixircryptobot.com

Enjoy :heart:

1 Like