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
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
pyqrt-0.0.5.tar.gz
(346.4 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
pyqrt-0.0.5-py3-none-any.whl
(80.4 kB
view details)
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
19384b27bad154d6349c4a08032c58d5c534b58cf9f39e325c741feb5e1a8534
|
|
| MD5 |
ac219daa3fb2ac29094efc3391f8c3b5
|
|
| BLAKE2b-256 |
fde6d727fccc9ea853471a8469ae15ce56f1d43229650e4892e635a53863bb37
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
482eb0755ac4ec055e9fdf8d89dc3ce75a0e6c31875b4b27da3a1a8690f4d2f9
|
|
| MD5 |
f15561ae41f937843c37a6c2f2cdf54c
|
|
| BLAKE2b-256 |
19e3eb28c8cf42317e2328947a6046dc75857ebc53ff5d7041382a273ace0254
|