PyPortfolio/PyPortfolioOpt

Financial portfolio optimization in python, including classical efficient frontier, Black-Litterman, Hierarchical Risk Parity

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 40 minutes ago
Added to GitGenius on September 11th, 2026
Created on May 29th, 2018
Open Issues & Pull Requests: 112 (+0)
GitHub issues: Enabled
Number of forks: 1,169
Total Stargazers: 6,020 (+0)
Total Subscribers: 141 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 6.6 days
Mean response time: 65.9 days
90th percentile: 224.7 days
Tracked items: 57

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 75% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Work labelled "enhancement" is answered fastest, typically in about 2 days, while "bug" waits about 2 weeks. Only 6% of issues opened in the past year have been closed. Three people close 92% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 36
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 368 days
Stale 30+ days: 34
Stale 90+ days: 26

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • enhancement (23)
  • bug (18)
  • maintenance (8)
  • question (6)
  • good first issue (5)
  • documentation (2)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

PyPortfolioOpt is a Python library for financial portfolio optimization that implements classical efficient frontier methods, Black-Litterman models, and Hierarchical Risk Parity approaches.

The library addresses the problem of constructing optimal investment portfolios by providing implementations of established quantitative finance methodologies. It enables users to calculate efficient frontiers, apply Bayesian portfolio optimization through Black-Litterman models, and employ risk-parity strategies via Hierarchical Risk Parity. These approaches allow investors to balance return objectives against risk constraints and incorporate market views into portfolio construction.

The tool suits quantitative analysts, portfolio managers, and algorithmic traders who need to programmatically optimize asset allocations. It works well for projects requiring classical mean-variance optimization, for teams integrating Bayesian methods into portfolio construction workflows, and for those exploring alternative risk-based allocation schemes. The library's focus on multiple methodologies means users can compare different optimization philosophies within a single codebase rather than integrating separate tools.

The project maintains active development with regular updates to core functionality and documentation. The codebase demonstrates consistent refinement of existing optimization methods and expansion of supported portfolio construction techniques. Documentation is comprehensive, with examples provided through Jupyter notebooks that illustrate practical application of each methodology. The project sustains engagement with its user base through issue resolution and incorporation of feedback into the library's evolution.