Roboquant

Roboquant is an algorithmic trading platform that is fast and flexible while at the same time strives to be easy to use. It is fully open source and written in Kotlin. It can be used in Jupyter Notebooks as well as standalone applications. It is meant to be used by anyone serious about algo trading, from retail traders to proprietary trading firms.

You can find out more at roboquant.org
roboquant Logo

Give this repository a star ⭐ if you like the project.

Code sample

To demonstrate how easy it is to get started, the following code snippet shows all the key ingredients required to back-test a trading strategy:

val strategy = EMACrossover()
val metric = AccountSummary()
val roboquant =  Roboquant(strategy, metric)

val feed = CSVFeed("data/US")
roboquant.run(feed)

Features

Some key features of roboquant are:

  • Very fast back-testing, even on large volumes of data.
  • Easy to develop your own strategies and integrate with brokers and data feeds
  • Trade in multiple asset classes at the same time
  • Run anything from a technical indicator to complex deep learning based strategies
  • Easy to transition from back-testing to live trading
  • Trade on multi-markets with multi-currencies
  • Developed under open source with a permissive Apache license
  • Use Jupyter Notebooks with insightful charts if you prefer interactive development
  • Batteries included: over 200 technical indicators
  • Out of the box integration with Alpaca, Interactive Brokers, IEX Cloud, Yahoo Finance, Alpha Vantage, Binance and most other crypto exchanges

Installation

If you have already Docker installed, all it takes is a single command to have a fully functional Jupyter Lab environment available:

docker run --rm -p 8888:8888 roboquant/jupyter 

This also comes with several tutorials. And if you just want to try it without any installation, go toBinder, although it might be a bit slow to start the environment.

Jupyter Lab

See the installation guide for more ways to install and use roboquant, for example if you want to use it in a standalone application and want to include the libraries.

License

Roboquant is distributed under the Apache 2.0 License.

Disclaimer

Roboquant also comes with live trading and paper trading capabilities. Using this is at your own risk and there are NO guarantees about the correct functioning of the software.

Beta version

Roboquant is in its pre-1.0 release and bugs are fore sure still present. Also expect API’s to change without notice. PR are more than welcome, see also the Contribution Guide document. If you’re missing some features, just open an issue on GitHub.

See also the todo documentation for already identified backlog items if you look for something to work on.

GitHub

https://github.com/neurallayer/roboquant