roboquant


Nameroboquant JSON
Version 0.3.0 PyPI version JSON
download
home_pageNone
SummaryA fast algo-trading platform
upload_time2024-04-06 18:16:49
maintainerNone
docs_urlNone
authorNone
requires_python>=3.10
licenseNone
keywords trading investment finance crypto stocks exchange forex
VCS
bugtrack_url
requirements numpy websocket-client requests yfinance torch tensorboard nautilus-ibapi alpaca-py stable-baselines3 sb3-contrib gymnasium build twine flake8 pylint
Travis-CI No Travis.
coveralls test coverage No coveralls.
            
# ![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/python-package.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 all the steps to run a full back-test on a number of stocks.

```python
import roboquant as rq

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

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

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

You can also try roboquant in an online Jupyter Notebook [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/neurallayer/roboquant-notebooks/HEAD?labpath=%2Fintro_roboquant.ipynb)


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 functionality:

```shell
# market data from Yahoo Finance using the YahooFeed
python3 -m pip install --upgrade "roboquant[yahoo]"

# PyTorch based strategies using RNNStrategy
python3 -m pip install --upgrade "roboquant[torch]"

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

# Install all dependencies
python3 -m pip install --upgrade "roboquant[all]"
```

## Building from source
Although this first step isn't required, it is recommended to create a virtual environment.
Go to the directory where you have downloaded the source code and run the following commands:

```shell
python3 -m venv .venv
source .venv/bin/activate
```

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

```shell
pip install -r requirements.txt
python -m build
pip install .
```

Some other useful commands:

```shell
# run the unit tests
python -m unittest discover -s tests/unit 

# validate the code
flake8 roboquant tests
```

## 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 doesn't contain bugs. All financial trading offers the possibility of loss. Leveraged trading, may result in you losing all your money, and still owing more. Backtested 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.

## Kotlin version
Next to this Python version of `roboquant`, there is also a Kotlin version available. Both (will) share a similar API, just the used computer language is different. Which one to use depends very much on personal preferences, skills and usage.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "roboquant",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": null,
    "keywords": "trading, investment, finance, crypto, stocks, exchange, forex",
    "author": null,
    "author_email": "roboquant team <info@roboquant.org>",
    "download_url": "https://files.pythonhosted.org/packages/c9/13/982327a3a5fd0c0a74ff1204e76c4a142a13a92116eda54b1ff976334b6c/roboquant-0.3.0.tar.gz",
    "platform": null,
    "description": "\n# ![roboquant logo](https://github.com/neurallayer/roboquant.py/raw/main/docs/roboquant_header.png)\n\n![PyPI - Version](https://img.shields.io/pypi/v/roboquant)\n![PyPI - License](https://img.shields.io/pypi/l/roboquant)\n![PyPI - Python Version](https://img.shields.io/pypi/pyversions/roboquant)\n![PyPI - Status](https://img.shields.io/pypi/status/roboquant)\n![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/neurallayer/roboquant.py/python-package.yml)\n[![discord](https://img.shields.io/discord/954650958300856340?label=discord)](https://discord.com/channels/954650958300856340/954650958300856343)\n\nRoboquant 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. \n\nSo 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).\n\n## Usage\nThe following code snippet shows all the steps to run a full back-test on a number of stocks.\n\n```python\nimport roboquant as rq\n\nfeed = rq.feeds.YahooFeed(\"JPM\", \"IBM\", \"F\", start_date=\"2000-01-01\")\nstrategy = rq.strategies.EMACrossover()\naccount = rq.run(feed, strategy)\nprint(account)\n```\n\n## Install\nRoboquant can be installed like most other Python packages, using pip or conda.\nMake sure you have Python version 3.11 or higher installed.\n\n```shell\npython3 -m pip install --upgrade roboquant\n```\n\nYou can also try roboquant in an online Jupyter Notebook [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/neurallayer/roboquant-notebooks/HEAD?labpath=%2Fintro_roboquant.ipynb)\n\n\nThe core of roboquant limits the number of dependencies. \nBut you can install roboquant including one or more of the optional dependencies if you require certain functionality:\n\n```shell\n# market data from Yahoo Finance using the YahooFeed\npython3 -m pip install --upgrade \"roboquant[yahoo]\"\n\n# PyTorch based strategies using RNNStrategy\npython3 -m pip install --upgrade \"roboquant[torch]\"\n\n# Integration with Interactive Brokers using IBKRBroker\npython3 -m pip install --upgrade \"roboquant[ibkr]\"\n\n# Install all dependencies\npython3 -m pip install --upgrade \"roboquant[all]\"\n```\n\n## Building from source\nAlthough this first step isn't required, it is recommended to create a virtual environment.\nGo to the directory where you have downloaded the source code and run the following commands:\n\n```shell\npython3 -m venv .venv\nsource .venv/bin/activate\n```\n\nYou should now be in the virtual environment and ready to install the required packages and build/install roboquant:\n\n```shell\npip install -r requirements.txt\npython -m build\npip install .\n```\n\nSome other useful commands:\n\n```shell\n# run the unit tests\npython -m unittest discover -s tests/unit \n\n# validate the code\nflake8 roboquant tests\n```\n\n## License\nRoboquant 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\n\n## Disclaimer\nAbsolutely 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 doesn't contain bugs. All financial trading offers the possibility of loss. Leveraged trading, may result in you losing all your money, and still owing more. Backtested 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.\n\n## Kotlin version\nNext to this Python version of `roboquant`, there is also a Kotlin version available. Both (will) share a similar API, just the used computer language is different. Which one to use depends very much on personal preferences, skills and usage.\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "A fast algo-trading platform",
    "version": "0.3.0",
    "project_urls": {
        "Homepage": "https://roboquant.org",
        "Issues": "https://github.com/neurallayer/roboquant.py/issues",
        "Repository": "https://github.com/neurallayer/roboquant.py.git"
    },
    "split_keywords": [
        "trading",
        " investment",
        " finance",
        " crypto",
        " stocks",
        " exchange",
        " forex"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d73116f66154093cb8d4599d73b8139bb3c04e7fa3405063889455c3740d6aaa",
                "md5": "37a17cbeb2c42d63f1267f71c7eef68e",
                "sha256": "27e6a715a45ec3a0813b6a13036f8e5b791dd0c6edcba7b028dd33dbf53ed340"
            },
            "downloads": -1,
            "filename": "roboquant-0.3.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "37a17cbeb2c42d63f1267f71c7eef68e",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 71974,
            "upload_time": "2024-04-06T18:16:47",
            "upload_time_iso_8601": "2024-04-06T18:16:47.458946Z",
            "url": "https://files.pythonhosted.org/packages/d7/31/16f66154093cb8d4599d73b8139bb3c04e7fa3405063889455c3740d6aaa/roboquant-0.3.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c913982327a3a5fd0c0a74ff1204e76c4a142a13a92116eda54b1ff976334b6c",
                "md5": "655dde66be768171431e2445e99d1304",
                "sha256": "eb623b62ca7957a0caf7ab978185c6dce8abf7d86bda1b336e1ed7db63158095"
            },
            "downloads": -1,
            "filename": "roboquant-0.3.0.tar.gz",
            "has_sig": false,
            "md5_digest": "655dde66be768171431e2445e99d1304",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 59222,
            "upload_time": "2024-04-06T18:16:49",
            "upload_time_iso_8601": "2024-04-06T18:16:49.383640Z",
            "url": "https://files.pythonhosted.org/packages/c9/13/982327a3a5fd0c0a74ff1204e76c4a142a13a92116eda54b1ff976334b6c/roboquant-0.3.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-04-06 18:16:49",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "neurallayer",
    "github_project": "roboquant.py",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "numpy",
            "specs": [
                [
                    "~=",
                    "1.26.2"
                ]
            ]
        },
        {
            "name": "websocket-client",
            "specs": [
                [
                    "~=",
                    "1.7.0"
                ]
            ]
        },
        {
            "name": "requests",
            "specs": [
                [
                    "~=",
                    "2.31.0"
                ]
            ]
        },
        {
            "name": "yfinance",
            "specs": [
                [
                    "~=",
                    "0.2.36"
                ]
            ]
        },
        {
            "name": "torch",
            "specs": [
                [
                    ">=",
                    "2.1.0"
                ]
            ]
        },
        {
            "name": "tensorboard",
            "specs": [
                [
                    ">=",
                    "2.15.1"
                ]
            ]
        },
        {
            "name": "nautilus-ibapi",
            "specs": [
                [
                    "~=",
                    "10.19.2"
                ]
            ]
        },
        {
            "name": "alpaca-py",
            "specs": [
                [
                    "~=",
                    "0.18.1"
                ]
            ]
        },
        {
            "name": "stable-baselines3",
            "specs": [
                [
                    "~=",
                    "2.2.1"
                ]
            ]
        },
        {
            "name": "sb3-contrib",
            "specs": [
                [
                    "~=",
                    "2.2.1"
                ]
            ]
        },
        {
            "name": "gymnasium",
            "specs": [
                [
                    "~=",
                    "0.29.1"
                ]
            ]
        },
        {
            "name": "build",
            "specs": [
                [
                    "~=",
                    "1.0.3"
                ]
            ]
        },
        {
            "name": "twine",
            "specs": [
                [
                    ">=",
                    "5.0.0"
                ]
            ]
        },
        {
            "name": "flake8",
            "specs": [
                [
                    ">=",
                    "7.0.0"
                ]
            ]
        },
        {
            "name": "pylint",
            "specs": [
                [
                    ">=",
                    "3.1.0"
                ]
            ]
        }
    ],
    "lcname": "roboquant"
}
        
Elapsed time: 0.27715s