Menu

Tree [3c17df] main /
 History

HTTPS access


File Date Author Commit
 .github 2022-08-09 Peter Dekkers Peter Dekkers [8c40c5] Added Sonar quality controls
 docs 2022-12-06 Peter Dekkers Peter Dekkers [3c17df] Improved docs
 roboquant 2022-12-06 Peter Dekkers Peter Dekkers [3c17df] Improved docs
 roboquant-crypto 2022-12-04 Peter Dekkers Peter Dekkers [e47b53] Updated to 0.9.9-SNAPSHOT
 roboquant-extra 2022-12-04 Peter Dekkers Peter Dekkers [e47b53] Updated to 0.9.9-SNAPSHOT
 roboquant-ibkr 2022-12-04 Peter Dekkers Peter Dekkers [e47b53] Updated to 0.9.9-SNAPSHOT
 roboquant-jupyter 2022-12-04 Peter Dekkers Peter Dekkers [e47b53] Updated to 0.9.9-SNAPSHOT
 roboquant-ta 2022-12-04 Peter Dekkers Peter Dekkers [e47b53] Updated to 0.9.9-SNAPSHOT
 .gitignore 2022-12-04 Peter Dekkers Peter Dekkers [1bd7ef] Updated to 0.9.8
 LICENSE 2022-01-15 Peter Dekkers Peter Dekkers [40a26b] Better test coverage and added logger and paral...
 README.adoc 2022-12-06 Peter Dekkers Peter Dekkers [3c17df] Improved docs
 pom.xml 2022-12-04 Peter Dekkers Peter Dekkers [e47b53] Updated to 0.9.9-SNAPSHOT

Read Me

= Roboquant
:icons: font

ifdef::env-github[]
:tip-caption: :bulb:
:note-caption: :information_source:
:important-caption: :heavy_exclamation_mark:
:caution-caption: :fire:
:warning-caption: :warning:
endif::[]

image:https://img.shields.io/badge/kotlin-1.8-blue.svg?logo=kotlin[Kotlin,link=http://kotlinlang.org]
image:https://github.com/neurallayer/roboquant/actions/workflows/maven.yml/badge.svg[Automated Build,link=https://github.com/neurallayer/roboquant/actions/workflows/maven.yml]
image:https://img.shields.io/github/languages/code-size/neurallayer/roboquant[GitHub code size]
image:https://img.shields.io/badge/license-Apache%202-blue.svg[APL v2,link=http://www.apache.org/licenses/LICENSE-2.0.html]
image:https://img.shields.io/github/issues/neurallayer/roboquant/bug?color=red&label=bugs[GitHub issues by-label]
image:https://img.shields.io/github/issues/neurallayer/roboquant/enhancement?color=yellow&label=enhancements[GitHub issues by-label]
image:https://img.shields.io/github/last-commit/neurallayer/roboquant[GitHub last commit]
image:https://img.shields.io/github/commit-activity/m/neurallayer/roboquant[GitHub commit activity]
image:https://img.shields.io/github/v/tag/neurallayer/roboquant[GitHub tag (latest by date)]
image:https://img.shields.io/maven-central/v/org.roboquant/roboquant?color=blue&[Maven Central]
image:https://img.shields.io/nexus/s/org.roboquant/roboquant?server=https%3A%2F%2Fs01.oss.sonatype.org[Sonatype Nexus (Snapshots)]
image:https://sonarcloud.io/api/project_badges/measure?project=neurallayer_roboquant&metric=alert_status[Quality Gate Status, link=https://sonarcloud.io/summary/new_code?id=neurallayer_roboquant]
image:https://sonarcloud.io/api/project_badges/measure?project=neurallayer_roboquant&metric=security_rating[Security Rating, link=https://sonarcloud.io/component_measures?metric=new_security_rating&view=list&id=neurallayer_roboquant]
image:https://sonarcloud.io/api/project_badges/measure?project=neurallayer_roboquant&metric=sqale_rating[Maintainability Rating, link=https://sonarcloud.io/component_measures?id=neurallayer_roboquant&metric=new_maintainability_rating&view=list]

image::/docs/roboquant_header.png[roboquant Logo, align="center"]

_Roboquant_ is an algorithmic trading platform that is very fast and flexible while at the same time strives to be easy to use. It is fully open source, written in Kotlin, and can be used in Jupyter Notebooks as well as standalone applications.

It is designed to be used by anyone serious about algo trading, from beginning retail traders to established trading firms. You can find out more at *https://roboquant.org[roboquant.org]*. Please consider giving 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 the key ingredients required to back-test a trading strategy:

[source,kotlin]
----
val strategy = EMAStrategy() // <1>
val metric = AccountMetric() // <2>
val roboquant = Roboquant(strategy, metric) // <3>

val feed = CSVFeed("data/US") // <4>
roboquant.run(feed) // <5>
----
<1> Create the strategy that you want to validate
<2> Define the metrics you want to monitor during the back-test
<3> Create a Roboquant instance, the engine of the platform
<4> What data should be used, in this case CSV files
<5> Run the back test

== Installation

=== Library
You can devevelop our own trading application in your favourite IDE using _roboquant_ as a library.

image:/docs/idea_screenshot.png[IntelliJ IDEA]

Just add roboquant and optional any of the additional modules as a dependency to your build tool, like Maven or Gradle.

==== Maven
Add the following dependency to your `pom.xml` file:
[source,xml]
----
<dependency>
    <groupId>org.roboquant</groupId>
    <artifactId>roboquant</artifactId>
    <version>VERSION</version>
</dependency>
----

==== Gradle
Add the following line to your gradle script:
[source,groovy]
----
implementation group: 'org.roboquant', name: 'roboquant', version: 'VERSION'
----

See also link:/docs/INSTALL.adoc[installation guide] for more ways to install and use roboquant.

Latest available versions:

- Regular version: image:https://img.shields.io/maven-central/v/org.roboquant/roboquant?color=blue&[Maven Central]
- Snapshot version: image:https://img.shields.io/nexus/s/org.roboquant/roboquant?server=https%3A%2F%2Fs01.oss.sonatype.org[Sonatype Nexus (Snapshots)]

=== Jupyter Notebooks
You can also inteactively develop your own stategies using a Jupyter Notebook.

image:/docs/jupyter_screenshot.png[Jupyter Lab]

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

[source,shell]
----
docker run --rm -p 8888:8888 roboquant/jupyter 
----

This image also comes with several tutorials included. And if you just want to try it without any installation, go to image:https://mybinder.org/badge_logo.svg[Binder,link=https://mybinder.org/v2/gh/neurallayer/roboquant-notebook/main?urlpath=tree/notebooks/,window=_blank]

== Features
Some key features of roboquant are:

* [x] Very fast back-testing, even on large volumes of historical data
* [x] Easy to develop your own strategies and integrate with third party brokers and data providers
* [x] Trade in multiple asset classes at the same time
* [x] Run anything from a technical indicator to complex machine learning based strategies
* [x] Easy to transition from back-testing to live trading
* [x] Trade on multi-markets with multi-currencies
* [x] Developed under open source with a permissive Apache license
* [x] Use Jupyter Notebooks with insightful charts if you prefer interactive development
* [x] Batteries included, for example 150+ technical indicators and ready to use datasets
* [x] Out of the box integration with Alpaca, Interactive Brokers, OANDA, Yahoo Finance, Alpha Vantage, Polygon, Binance and most other crypto exchanges

See also https://roboquant.org/background/features.html[Features] for a more extensive feature list and how roboquant compares to some other platforms.

== License
Roboquant is distributed under the link:/LICENSE[Apache 2.0 License]. The Apache 2.0 license is a permissive license, meaning there are few restrictions on the use of the code.

== Thanks
Besides all the link:docs/THIRDPARTY.adoc[great open source software] that is powering _roboquant_, also special thanks to JetBrains for making a https://www.jetbrains.com/community/opensource/[license] available of *IntelliJ IDEA*.

image:https://resources.jetbrains.com/storage/products/company/brand/logos/jb_beam.png[JetBrains,100,100]

== 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.

== image:https://img.shields.io/badge/roboquant-BETA-red[roboquant beta]
_Roboquant_ is still a pre-1.0 release and bugs are for sure to be expected. Also, APIs can change without any notice. So keep this in mind when using it.

PR are more than welcome, see also the link:/docs/CONTRIBUTING.adoc[Contribution Guide] document. If you're missing some features, just open an issue on GitHub. See also the link:/docs/TODO.adoc[todo documentation] for already identified backlog items if you look for something to work on.
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.