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.0.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.0-py3-none-any.whl (145.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: portfolio_risk_engine-0.2.0.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.0.tar.gz
Algorithm Hash digest
SHA256 212d56658094192f664585d3371b5f1962b7d84a14a173f89202cf4f53dbedad
MD5 6320a87349ca05c8727da7a689a012b3
BLAKE2b-256 a1670d2019ebb39a5a89adfeceffe5ab1019808deeb3e3f25cc11347cd43573c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for portfolio_risk_engine-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 026c9c13dfc1f057d891a9c08635e0325d3cd3fa0cd61d98a4389192650ef7ea
MD5 402f0da4be0a37790b509685ce4675f5
BLAKE2b-256 56024f502fa716e8762c48ad6f5f962e61eead8d2bcf70d48af05b2921a8d764

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