Skip to main content

Standalone portfolio risk analytics engine

Project description

portfolio-risk-engine

Quantitative portfolio analytics library — factor regression, risk decomposition, optimization, and performance attribution.

Install

pip install portfolio-risk-engine

What it does

  • Factor analysis — multi-factor regression with HAC standard errors, rolling betas, factor contribution decomposition
  • Risk decomposition — systematic vs idiosyncratic risk, variance attribution by factor and position
  • Portfolio optimization — mean-variance, minimum-variance, maximum-return with configurable constraints
  • Risk scoring — composite risk score across concentration, volatility, factor exposure, and drawdown dimensions
  • Performance metrics — Sharpe, Sortino, max drawdown, tracking error, information ratio, up/down capture
  • Income projection — dividend yield forecasting with coverage and growth analysis
  • Scenario analysis — what-if position changes with full risk recomputation

Quick Start

from portfolio_risk_engine import build_portfolio_view

result = build_portfolio_view(
    weights={"AAPL": 0.3, "MSFT": 0.3, "GOOGL": 0.2, "BND": 0.2},
)

Data Providers

The engine uses a PriceProvider protocol for market data. A default FMP-backed provider is included when fmp-mcp is installed:

from portfolio_risk_engine.providers import set_price_provider

# Use the built-in FMP provider (requires FMP_API_KEY env var)
from portfolio_risk_engine._fmp_provider import FMPPriceProvider
set_price_provider(FMPPriceProvider())

# Or bring your own:
from portfolio_risk_engine.providers import PriceProvider

class MyProvider(PriceProvider):
    def fetch_monthly_close(self, ticker, start_date=None, end_date=None, **kw): ...
    def fetch_monthly_total_return_price(self, ticker, start_date=None, end_date=None, **kw): ...
    # ...

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

portfolio_risk_engine-0.2.1.tar.gz (6.8 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

portfolio_risk_engine-0.2.1-py3-none-any.whl (156.2 kB view details)

Uploaded Python 3

File details

Details for the file portfolio_risk_engine-0.2.1.tar.gz.

File metadata

  • Download URL: portfolio_risk_engine-0.2.1.tar.gz
  • Upload date:
  • Size: 6.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.2

File hashes

Hashes for portfolio_risk_engine-0.2.1.tar.gz
Algorithm Hash digest
SHA256 9b87166d1a846c1444f86d8a861bf5bb66754b684ffb4444acb16748d0611e2c
MD5 4b23f0bf7cd266bec7f2592cefc021ce
BLAKE2b-256 545cb120d570a1d973aeb4190a9a76c304fcfb4f65927248c397ca538e73413b

See more details on using hashes here.

File details

Details for the file portfolio_risk_engine-0.2.1-py3-none-any.whl.

File metadata

File hashes

Hashes for portfolio_risk_engine-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 15703f6bfd7a8ce8cc03497b018fac48372e8bdc923df051458e7313338f98fd
MD5 d5fd568bb28b2e32c3883d338f5ada7a
BLAKE2b-256 9ec80653e6e64778c2306404501fc5ce6008f701a582b23c3bc3175578cd86d5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page