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.12
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.12.tar.gz | 18.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pyalloq-0.1.12-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 56.8 kB
Release files / pyalloq-0.1.12.tar.gz
| Download URL | pyalloq-0.1.12.tar.gz |
|---|---|
| Size | 18.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
84c555d225ed8c341e2e2739882825a31d6189d35beb6f0227c7cee3aa1dd6ff
|
|
BLAKE2b-256 checksum How to use checksums |
3a3c272eb08d777c04c3ca3ef651dc87f0c6590ad6648b8110dfc329c94d0c07
|
| 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.12-py3-none-any.whl
| Download URL | pyalloq-0.1.12-py3-none-any.whl |
|---|---|
| Size | 37.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
54aba9c98e44ac1ba720aa5e16da81717f79013f8287b69b911b8579f6a12878
|
|
BLAKE2b-256 checksum How to use checksums |
a284e041a6d8201dc044b482b5485ec279fc13ecdebe69dff064d8f94dbaa7b7
|
| 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}
|