PyAlloq
A modern Python SDK and workspace for quantitative portfolio optimization, feature engineering, and zero-lookahead backtesting.
Workspace Architecture
pyalloq is organized as a multi-package uv workspace:
pyalloq-core: Core data abstractions (MarketData), pure interfaces (BaseAllocator,BaseReturnEstimator,BaseCovarianceEstimator),StrategyPipeline, and optimization results.pyalloq-data-connector: Vendor-agnostic data adapters (Yahoo Finance, Alpha Vantage, Finnhub, EOD) standardizing raw payloads into alignedMarketData.pyalloq-backtest: Zero-lookahead historical simulation engines, cross-validation splitters, transaction cost models, and performance metrics.pyalloq-features: Feature engineering transformers, TA-Lib integration, scaling tools, and feature pipelines.pyalloq: Main SDK combining classical optimization (Markowitz, Risk Parity, Black-Litterman, HRP, NCO) and deep learning models.
Development Setup
# Clone the repository
git clone https://github.com/your-org/pyalloq.git
cd pyalloq
# Install all workspace packages and dependencies with uv
uv sync --all-extras
# Run type checking
uv run mypy src
# Run tests
uv run pytest
# Run pre-commit hooks
uv run pre-commit run --all-files
Quickstart
import datetime as dt
from pyalloq_data_connector.yahoo_finance import YahooFinanceClient
from pyalloq.optimizers.classical.risk_parity import RiskParityAllocator
from pyalloq_core.pipeline import StrategyPipeline
from pyalloq_backtest.engine import WalkForwardEngine
# 1. Fetch Market Data
client = YahooFinanceClient()
data = client.get_market_data(
tickers=["AAPL", "MSFT", "GOOGL", "AMZN"],
start=dt.datetime(2023, 1, 1),
end=dt.datetime(2024, 1, 1)
)
# 2. Build Strategy Pipeline
allocator = RiskParityAllocator(tickers=data.assets)
pipeline = StrategyPipeline(allocator=allocator)
# 3. Run Walk-Forward Backtest
engine = WalkForwardEngine(pipeline=pipeline, rebalance_freq="ME")
results = engine.run(data)
# 4. Inspect Results & Performance Metrics
print("Performance Tear Sheet:")
print(results["tear_sheet"])
License
MIT
Metadata
Release files for pyalloq 0.1.10
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pyalloq-0.1.10.tar.gz | 16.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pyalloq-0.1.10-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 50.4 kB
Release files / pyalloq-0.1.10.tar.gz
| Download URL | pyalloq-0.1.10.tar.gz |
|---|---|
| Size | 16.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ccf140d2440f15528631b766775e9960fce8859656d3f2071588443d16b5970c
|
|
BLAKE2b-256 checksum How to use checksums |
407b333dfddc1c104821ef166fe5d83ec4721b253e50147ef73fed03165a4efa
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / pyalloq-0.1.10-py3-none-any.whl
| Download URL | pyalloq-0.1.10-py3-none-any.whl |
|---|---|
| Size | 33.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3e0f6e9cd9a524bb697de7a777932f17c8a6a6d1583005f64ebd032532fb6db2
|
|
BLAKE2b-256 checksum How to use checksums |
48077c168b7345335c7028b852fd0f002f51195cb5166b78cb6d046f68d46e8a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|