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
Release files for pyalloq 0.1.15
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.15.tar.gz | 18.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pyalloq-0.1.15-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 56.8 kB
Release files / pyalloq-0.1.15.tar.gz
| Download URL | pyalloq-0.1.15.tar.gz |
|---|---|
| Size | 18.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ef0775edb0da5d09d6103f2cb08794fb2295231c23f552917adfed452647116c
|
|
BLAKE2b-256 checksum How to use checksums |
bedc5a9b81c1f564e6db2e30610e27c91d529e7f66794bd37c52e36e8cdf0d78
|
| 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.15-py3-none-any.whl
| Download URL | pyalloq-0.1.15-py3-none-any.whl |
|---|---|
| Size | 37.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6769f0732a53065dd416c5ec1436b44e2fc6a03847698dc78b625323ce43b55f
|
|
BLAKE2b-256 checksum How to use checksums |
0f340692ece6131e75da9958e24700801aa2b1e290ab72f70787579085fba26a
|
| 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}
|