Skip to main content

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 aligned MarketData.
  • 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.18

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pyalloq 0.1.18
File Size Uploaded
pyalloq-0.1.18.tar.gz 23.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pyalloq 0.1.18
File Interpreter ABI Platform
pyalloq-0.1.18-py3-none-any.whl Python 3 none any Details

Total release size: 67.0 kB

Release files / pyalloq-0.1.18.tar.gz

Download URL pyalloq-0.1.18.tar.gz
Size 23.1 kB
Tags Source
SHA-256 checksum
How to use checksums
ce7b5636cc8137e78949860f1299f68f801c0e4f117665205c379b85f465a1fb
BLAKE2b-256 checksum
How to use checksums
9cedf67ccbe3d5949e14add7c7648394eb1ede10c12325871f0b74d2efe1049a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.14 {"installer":{"name":"uv","version":"0.12.14","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.18-py3-none-any.whl

Download URL pyalloq-0.1.18-py3-none-any.whl
Size 43.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
fb3c8aad2ae0a6233c5ee0ccbf30f87cdf831d55e3d67c063c6695dec107686f
BLAKE2b-256 checksum
How to use checksums
3dc817ccd56e32b35e2c0639c71c7debecd50b9a7ba2a231aa19e8b07b155c9f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.14 {"installer":{"name":"uv","version":"0.12.14","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 history Release notifications | RSS feed

This release

0.1.18 This release

2 release files

0.1.17

1 release file

0.1.16

2 release files

0.1.15

2 release files

0.1.12

2 release files

0.1.11

2 release files

0.1.10

2 release files

0.1.9

1 release file

0.1.8

1 release file

0.1.7

1 release file

0.1.6

1 release file

0.1.5

1 release file

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page