Skip to main content

Quantitative Toolkit - a helper in quant developing

Project description

Quool

Quool is a Python framework designed specifically for quantitative investment research. It aims to provide a flexible and efficient set of tools to help researchers and developers quickly implement data management, factor analysis, trading recording, and strategy evaluation functionalities. With Quool, users can focus on strategy and factor research without spending excessive time on data management and infrastructure setup.

Features

  • Data Management: Offers a unified interface for managing and accessing financial market data, supporting both intraday and daily data processing.
  • Factor Research: Simplifies the process of factor development and testing, supporting factor definition, storage, analysis, and performance evaluation.
  • Trading Recording: Provides flexible Recorder classes for recording and managing trade data and model execution data.
  • Strategy Evaluation: Integrates strategy evaluation tools, supporting calculations of various performance metrics and result visualization.

Installation

Currently, the Quool framework is not available on PyPI. You can install it from the source code as follows:

git clone https://github.com/your-username/quool.git
cd quool
pip install .

Quick Start

Here are the basic steps to conduct factor research and strategy evaluation using Quool:

Define a Factor

First, inherit the BaseFactor class to define your own factor. For example, define a factor that calculates the Volume Weighted Average Price (VWAP):

from quool import BaseFactor

class VWAPFactor(BaseFactor):
    def get_vwap(self, date: pd.Timestamp):
        # Implement the calculation logic for VWAP
        pass

Calculate Factor Values

Instantiate your factor class and use the get method to calculate factor values for a specific date range:

vwap_factor = VWAPFactor(uri="./path/to/factor/data")
vwap_values = vwap_factor.get("vwap", start="2021-01-01", stop="2021-12-31")

Evaluate Strategies

Use the TradeRecorder or other recorder classes to record your trading activities and use the evaluate method to assess strategy performance:

from quool import TradeRecorder

# Record trading activities
trade_recorder = TradeRecorder(uri="./path/to/trade/data")
trade_recorder.record(date="2021-01-01", ...)

# Evaluate strategy performance
performance = trade_recorder.evaluate(...)

Contributing

Contributions in the form of issue reports and pull requests are welcome on GitHub.

License

Quool is released under the MIT license.

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

quool-7.0.11.tar.gz (44.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

quool-7.0.11-py3-none-any.whl (50.8 kB view details)

Uploaded Python 3

File details

Details for the file quool-7.0.11.tar.gz.

File metadata

  • Download URL: quool-7.0.11.tar.gz
  • Upload date:
  • Size: 44.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for quool-7.0.11.tar.gz
Algorithm Hash digest
SHA256 c3b2578c9c9416b72bb6d9d19148ec65291d5b8994a1357ce7f82ebcefdc9151
MD5 7d4c1e6af4e22c704ebbc28cb8031d00
BLAKE2b-256 00b71b8dfed741c8aefb4efb3fd74a84240b76772a2c3c78d92f201ba250eeaf

See more details on using hashes here.

File details

Details for the file quool-7.0.11-py3-none-any.whl.

File metadata

  • Download URL: quool-7.0.11-py3-none-any.whl
  • Upload date:
  • Size: 50.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for quool-7.0.11-py3-none-any.whl
Algorithm Hash digest
SHA256 e3572bbdde5da8cfb61db49db7e77033fc376b6ea09bce8a16d31b0c52b9a503
MD5 25f9beae9ff3063dd4c8329fa287f38b
BLAKE2b-256 a6a9c17cf567a889afaa52e4f6ade8d16da46eec7d6cefccd8a22881656dce88

See more details on using hashes here.

Supported by

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