Metadata-Version: 2.4
Name: roboquant
Version: 2.4.0
Summary: A fast algorithmic trading platform with support for AI based strategies
Keywords: algorithmic,trading,machine learning,AI,investment,finance,crypto,stocks,exchange,forex
Author: roboquant team
Author-email: roboquant team <info@roboquant.org>
License-Expression: Apache-2.0
License-File: LICENSE
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Operating System :: OS Independent
Classifier: Topic :: Office/Business :: Financial
Classifier: Topic :: Office/Business :: Financial :: Investment
Requires-Dist: numpy>2.0.0
Requires-Dist: requests>2.30.0
Requires-Dist: yfinance>1.5.0
Requires-Dist: pyarrow>24.0.0
Requires-Dist: ta-lib==0.6.5
Requires-Dist: torch>=2.9.0 ; extra == 'ai'
Requires-Dist: tensorboard>=2.21.0 ; extra == 'ai'
Requires-Dist: stable-baselines3>=2.9.0 ; extra == 'ai'
Requires-Dist: sb3-contrib>=2.9.0 ; extra == 'ai'
Requires-Dist: alpaca-py>=0.43.5 ; extra == 'alpaca'
Requires-Dist: ccxt>=4.5.65 ; extra == 'crypto'
Requires-Dist: ibind[oauth]>=0.1.22 ; extra == 'ibkr'
Requires-Python: >=3.12, <3.15
Project-URL: Homepage, https://roboquant.org
Project-URL: Repository, https://github.com/neurallayer/roboquant.py.git
Project-URL: Issues, https://github.com/neurallayer/roboquant.py/issues
Provides-Extra: ai
Provides-Extra: alpaca
Provides-Extra: crypto
Provides-Extra: ibkr
Description-Content-Type: text/markdown


# ![roboquant logo](https://github.com/neurallayer/roboquant.py/raw/main/docs/roboquant_header.png)

![PyPI - Version](https://img.shields.io/pypi/v/roboquant?)
![PyPI - License](https://img.shields.io/pypi/l/roboquant?)
![PyPI - Python Version](https://img.shields.io/pypi/pyversions/roboquant?)
![PyPI - Status](https://img.shields.io/pypi/status/roboquant?)
![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/neurallayer/roboquant.py/verify.yml)
[![discord](https://img.shields.io/discord/954650958300856340?label=discord)](https://discord.com/channels/954650958300856340/954650958300856343)

Roboquant is an open-source algorithmic trading platform. It is flexible, user-friendly and completely free to use. It is designed for anyone serious about algo-trading. 

So whether you are a beginning retail trader or an established trading firm, roboquant can help you to develop robust and fully automated trading strategies. You can find out more at [roboquant.org](https://roboquant.org).

## Usage
The following code snippet shows the steps required to run a full back-test on a number of stocks.

```python
import roboquant as rq

feed = rq.feeds.YahooFeed("JPM", "IBM", "F", "TSLA")
strategy = rq.strategies.EMACrossover()
account = rq.run(feed, strategy)
print(account)
```

## Install
Roboquant can be installed like most other Python packages, using tools like `uv`, `pip` or `conda`.
Make sure you have Python version 3.12 or higher installed.

```shell
python3 -m pip install --upgrade roboquant
```

The core of roboquant limits the number of dependencies. But you can install roboquant including one or more of the optional dependencies if you require certain additional functionality:

```shell
# AI based strategies using PyTorch and SB3
python3 -m pip install --upgrade "roboquant[ai]"

# Integration with Interactive Brokers
python3 -m pip install --upgrade "roboquant[ibkr]"

# Integration with Alpaca broker
python3 -m pip install --upgrade "roboquant[alpaca]"

# Integration many crypto exchanges via CCXT package
python3 -m pip install --upgrade "roboquant[crypto]"
```

## Building from source
Roboquant.py uses `uv` as the main tool for handling package dependencies. 

```shell
uv sync --all-extras --dev
```

You should now be in the virtual environment and ready to build/install roboquant:

```shell
uv build
uv pip install .
```

Some other useful commands:

```shell
# build & validate the code
./bin/verify.sh

# publish, only works if UV_PUBLISH_TOKEN is set
./bin/publish.sh
```

## License
Roboquant is made available under the Apache 2.0 license. You can read more about the Apache 2.0 license on this page: https://www.apache.org/licenses/LICENSE-2.0.html

## Disclaimer
Absolutely no warranty is implied with this product. Use at your own risk. I provide no guarantee that it will be profitable, or that it won't lose all your money very quickly or does not contain bugs.

All financial trading offers the possibility of loss. Leveraged trading, may result in you losing all your money, and still owing more. Back tested results are no guarantee of future performance. I can take no responsibility for any losses caused by live trading using roboquant. Use at your own risk. I am not registered or authorised by any financial regulator.
