Skip to main content

Quant Research Tools

Project description

Quant Research Tools (qrt)

QRT is an umbrella library of quantitative research tools

Warning ⚠️

Library is still under early development. Come back later.

Install:

uv add pyqrt

Use:

import qrt as q

# leakage-safe splits
splits = q.splits.walk_forward(X, n_splits=5, embargo="5D")

# features
X["sma_20"] = q.feat.qta.sma(prices, 20)

# backtest + tearsheet
result = q.bt.run(signal, prices)
q.plot.tearsheet(result.returns, benchmark="SPY")

Features (planned / in progress)

  • Model wrappers — thin, opinionated wrappers around PyTorch models for training, checkpointing and inference on financial time series (q.models)
  • Data splitting — leakage-aware splits: walk-forward, purged K-fold and combinatorial purged CV with embargo (à la López de Prado) (q.splits)
  • Plotting & tearsheets — interactive Plotly reports for return streams: Sharpe/Sortino/Calmar, drawdowns, rolling stats, monthly heatmaps, benchmark comparison (q.plot)
  • Portfolio analysis — attribution, exposure, turnover and risk decomposition (q.portfolio)
  • Backtesting — event-driven backtesting of model signals, connected to the master securities database (DuckDB) (q.bt)
  • Feature engineering — feature submodules under one namespace: hand-rolled primitives (q.feat.qta.sma(), q.feat.qta.lags()), all TA-Lib indicators (q.feat.talib.RSI(ohlc)) and all pandas-ta-classic indicators (q.feat.pandas_ta.bbands(ohlc)) with a pandas-friendly interface (q.feat)

Libraries used

Notable libraries qrt is built on and/or wraps:

Library Used for Docs
pandas DataFrames/Series as the common data format throughout docs
TA-Lib technical indicators, wrapped in q.feat.talib docs
pandas-ta-classic technical indicators & candlestick patterns, wrapped in q.feat.pandas_ta docs
PyTorch model training and inference (q.models) docs
DuckDB In process database (q.data, q.bt) docs
yfinance Yahoo Finance market data (q.vendors) docs
Plotly interactive charts, tearsheets, and image export docs

Project layout

qrt/
├── qrt/
│   ├── models/      # pytorch wrappers
│   ├── splits/      # CV, embargo, purging
│   ├── plot/        # plotting + performance reports
│   ├── portfolio/   # portfolio analysis
│   ├── bt/          # backtesting engine
│   ├── feat/        # feature engineering
│   └── data/        # DuckDB securities-master access
├── tests/
├── examples/        # notebooks
└── pyproject.toml

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

pyqrt-0.0.5.tar.gz (346.4 kB view details)

Uploaded Source

Built Distribution

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

pyqrt-0.0.5-py3-none-any.whl (80.4 kB view details)

Uploaded Python 3

File details

Details for the file pyqrt-0.0.5.tar.gz.

File metadata

  • Download URL: pyqrt-0.0.5.tar.gz
  • Upload date:
  • Size: 346.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for pyqrt-0.0.5.tar.gz
Algorithm Hash digest
SHA256 19384b27bad154d6349c4a08032c58d5c534b58cf9f39e325c741feb5e1a8534
MD5 ac219daa3fb2ac29094efc3391f8c3b5
BLAKE2b-256 fde6d727fccc9ea853471a8469ae15ce56f1d43229650e4892e635a53863bb37

See more details on using hashes here.

File details

Details for the file pyqrt-0.0.5-py3-none-any.whl.

File metadata

  • Download URL: pyqrt-0.0.5-py3-none-any.whl
  • Upload date:
  • Size: 80.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for pyqrt-0.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 482eb0755ac4ec055e9fdf8d89dc3ce75a0e6c31875b4b27da3a1a8690f4d2f9
MD5 f15561ae41f937843c37a6c2f2cdf54c
BLAKE2b-256 19e3eb28c8cf42317e2328947a6046dc75857ebc53ff5d7041382a273ace0254

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