Skip to main content

Utility methods for common tasks in QuantRocket.

Project description

QuantRocket Utility Library

Utility methods for common tasks in QuantRocket.

Installation

quantrocket-utils can be installed via pip:

$ pip install quantrocket-utils

Development

This project uses poetry for development and release management.

$ git clone git@github.com:boosting-alpha-bv/quantrocket-utils.git
$ cd quantrocket-utils/
$ poetry install

Running Tests

$ poetry run coverage run --branch --source quantrocket_utils -m pytest

Generating Coverage Reports

$ poetry run coverage html

Running flake8

$ poetry run flake8 quantrocket_utils tests

Deploying

$ poetry publish --build --username "${PYPI_USERNAME}" --password "${PYPI_PASSWORD}" --no-interaction

Usage

This library requires an external file that contains the listing information for the stocks it should translate. This is typically exported from QuantRocket and then supplied at initialization time of the library. Work is currently under way to remove the dependency on QuantRocket for obtaining this listings file.

# Import the library and initialize the ConID resolution
from quantrocket_utils import initialize as assets_init, Asset
assets_init("<path>/<to>/listings.csv")

# Create an Asset using the symbol name
spy = Asset("SPY")
# The exchange is optional, unless two symbols of the same name exist on different exchanges
spy = Asset("SPY", "ARCA")

# Create an Asset using the ConID
# In this case the exchange can be inferred from the ConID, so it is always otpional
spy = Asset(756733)
# ConID's can be strings as well, so don't worry about type conversion
spy = Asset("756733")

# Access data on the object
spy.conid
>> 756733
spy.symbol
>> "SPY"
spy.exchange
>> "ARCA"

# Check trading times
spy.can_trade("2019-03-04", "10:34:02")
>> True

# Assets also support equality and comparison operations based on the ConID
# However, this is mostly just useful for guaranteeing sorting order
# Assets are also hashable and can thus be utilized in set operations
Asset("SPY") < Asset("AAPL")
>> True

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

quantrocket-utils-0.2.0.tar.gz (4.8 kB view details)

Uploaded Source

Built Distribution

quantrocket_utils-0.2.0-py3-none-any.whl (4.8 kB view details)

Uploaded Python 3

File details

Details for the file quantrocket-utils-0.2.0.tar.gz.

File metadata

  • Download URL: quantrocket-utils-0.2.0.tar.gz
  • Upload date:
  • Size: 4.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/0.12.17 CPython/3.7.4 Darwin/18.7.0

File hashes

Hashes for quantrocket-utils-0.2.0.tar.gz
Algorithm Hash digest
SHA256 5a29b3249348aefd9b53146d919679821436ab5b08dcf5e00ff91e98a9eb4672
MD5 b8469323c27950e939953526d61e60c0
BLAKE2b-256 4ed6b63fa9b95b6c8b8ea9df55008f6df00a10aa8e441f9cc432edf4bf7489e6

See more details on using hashes here.

File details

Details for the file quantrocket_utils-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for quantrocket_utils-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5f11bb61065a17797233c7fae7bf96d30bdc1bd25c8734ad63d541cc418c7e73
MD5 a04f1a25544643cdce3e875f26c297a0
BLAKE2b-256 28eeaf579b207c36a874d97a3cfbf82742cc5af48994870a0324b735525fc21d

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page