Metadata-Version: 2.1
Name: materya-mercury
Version: 1.0.0rc3
Summary: Full suite for automated quantitative trading in Python
Home-page: https://github.com/materya/mercury
Author: Richard Kemp
Author-email: sylver@materya.io
Maintainer: Richard Kemp
Maintainer-email: sylver@materya.io
License: GNU General Public License version 3
Keywords: algorithmic,bot,forex,ml,quant,quantitative,stocks,trading
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Topic :: Office/Business :: Financial :: Investment
Classifier: Topic :: Scientific/Engineering :: Visualization
Classifier: Topic :: Software Development
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Typing :: Typed
Description-Content-Type: text/markdown
Requires-Dist: numpy (==1.20.1)
Requires-Dist: pandas (==1.2.2)
Requires-Dist: ta-lib (==0.4.19)
Requires-Dist: websockets
Provides-Extra: dev
Requires-Dist: flake8 ; extra == 'dev'
Requires-Dist: mypy ; extra == 'dev'
Requires-Dist: pandas-stubs ; extra == 'dev'
Requires-Dist: twine ; extra == 'dev'
Provides-Extra: doc
Requires-Dist: pdoc3 ; extra == 'doc'
Provides-Extra: extra_broker_ig
Requires-Dist: requests ; extra == 'extra_broker_ig'
Provides-Extra: extra_broker_oanda
Requires-Dist: oandapyV20 (==0.6.3) ; extra == 'extra_broker_oanda'
Provides-Extra: extra_datasource_alphavantage
Requires-Dist: alpha-vantage (==2.3.1) ; extra == 'extra_datasource_alphavantage'
Provides-Extra: extra_datasource_quandl
Requires-Dist: quandl (==3.6.1) ; extra == 'extra_datasource_quandl'
Provides-Extra: extras
Requires-Dist: alpha-vantage (==2.3.1) ; extra == 'extras'
Requires-Dist: quandl (==3.6.1) ; extra == 'extras'
Requires-Dist: requests ; extra == 'extras'
Requires-Dist: oandapyV20 (==0.6.3) ; extra == 'extras'
Provides-Extra: test
Requires-Dist: flake8-annotations-coverage ; extra == 'test'
Requires-Dist: flake8-bandit ; extra == 'test'
Requires-Dist: flake8-builtins ; extra == 'test'
Requires-Dist: flake8-commas ; extra == 'test'
Requires-Dist: flake8-docstrings ; extra == 'test'
Requires-Dist: flake8-import-order ; extra == 'test'
Requires-Dist: flake8-quotes ; extra == 'test'
Requires-Dist: pytest ; extra == 'test'
Requires-Dist: pytest-cov ; extra == 'test'
Requires-Dist: pytest-flake8 ; extra == 'test'
Requires-Dist: pep8-naming ; extra == 'test'

<h1 align="center">
  <img src="doc/assets/mercury_materya_logo.png" alt="Mercury Materya" />
</h1>

[![License][license-image]][license-url]

A quantitative trading library.

[Mercury](https://en.wikipedia.org/wiki/Mercury_(mythology)) is a major god in Roman mythology.  
He is, among other things, the god of financial gain and communication (including divination).  

## Quick start

### Install

#### With pip

```shell
$ pip install materya-mercury
```

#### From source

Clone this repo and run

```shell
$ make
```

#### Extras Dependencies

The library provides some [extras modules](#extras-modules) implementing interfaces of `mercury` as examples and helpers to quickly setup your own strategies.

You can install their eventual dependencies with

```shell
$ pip install materya-mercury[extra_<type>_<module name>]
```

e.g. to install extras dependencies for alphavantage datasource

```shell
$ pip install materya-mercury[extra_datasource_alphavantage]
```

### Usage

Coming soon

See [Samples](samples)

### Extras Modules

#### Brokers

- Interactive Brokers
- Oanda
- XAPI

#### Datasources

- Alphavantage
- CSV
- Quandl

#### Strategies

- SMA Crossover

## Contributing

### Development

A fully configured [VSCode Development Container](https://code.visualstudio.com/docs/remote/containers) is available to quickly get into development without the hassle of setting up a local environment, you just have to jump in.

Alternatively you can use a development container without VS Code, the setup is available with `docker-compose` to inspect or run tests against the library in a compatible environment.

```shell
$ docker-compose run --rm dev bash
Creating mercury_dev_run ... done

cloud@8e5fb622c5c5:/workspace$ make test
```

If you prefer to work locally (or don't use VSCode), you need first to install the library in a development mode:

```shell
$ make install-dev
```

### Test

You can simply run the test suite in the current environment with:

  ```shell
  $ make test
  ```

## License

[GPL-3.0](LICENSE)

[license-image]: https://img.shields.io/github/license/materya/mercury?style=flat-square
[license-url]: LICENSE


