Developing
a cryptocurrency trading bot with Python and Elixir

Paweł Duda (@paweldude)

Inspiration

https://github.com/owocki/pytrader

3/26/2016 - My test portfolio was initialized with a 1 BTC deposit, and after 2 months and 23,413 trades, exited with 0.955 BTC. The system paid 2.486 BTC in fees to poloniex.

Today's focus:

Elixir part

Plan for today

  • Quick overview of the application
  • Observer - the default monitoring tool
  • Persisting processes' state using ETS
  • Immutability + explicit state = awesome

Overview

Synchronize local state with external state via cryptocurrency exchange's API 

Provide input data to the trained classifier (Python part) and ask for prediction

Act upon prediction

buy/hold/sell cryptocurrency

}

}

update state

act upon prediction

Entry point

Observer

Wobserver - web based Observer interface by Square Enix

Persisting processes' state using ETS

Immutability + explicit state = awesome 

Conclusion

  • Built-in great monitoring tool, opt-in web interface
  • Built-in Redis replacement
  • Immutability and other Functional Programming features that Elixir embraces help producing simple, explicit code

Developing a crypto trading bot with Elixir/Python

By Paweł Duda

Developing a crypto trading bot with Elixir/Python

  • 2,142