awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
PyPortfolio avatar

PyPortfolio/PyPortfolioOpt

0
View on GitHub↗
5,790 stars·1,137 forks·Jupyter Notebook·MIT·18 viewspyportfolioopt.readthedocs.io↗

PyPortfolioOpt

PyPortfolioOpt is a Python library for financial portfolio optimization that implements mean-variance optimization, Black-Litterman models, and Hierarchical Risk Parity methods. It provides a complete toolkit for constructing risk-adjusted asset portfolios by combining expected return estimation, covariance modeling, constraint handling, and discrete allocation into a single optimization framework.

The library distinguishes itself through its integration of multiple optimization approaches within a unified interface. It includes a Black-Litterman Bayesian framework that blends market equilibrium returns with investor views, a Hierarchical Risk Parity method that allocates capital based on asset correlation clustering, and a mean-variance optimization engine that solves the efficient frontier with user-defined constraints. The constraint-aware solver enforces position bounds, market neutrality, and long-short limits during weight optimization, while the discrete share allocation algorithm converts continuous portfolio weights into integer share counts for a given investment amount.

The toolkit covers the full portfolio management workflow, from estimating expected returns using historical averages, exponential weighting, or CAPM, to modeling portfolio risk through sample, shrinkage, or robust covariance matrix estimation. It then applies these inputs to compute optimal asset allocations under specified constraints, producing investable portfolios ready for implementation.

Features

  • Multi-Method Portfolio Optimizers - Provides the core portfolio optimization library implementing mean-variance, Black-Litterman, and HRP methods.
  • Constraint Enforcement - Enforces position bounds, market neutrality, and long-short limits during weight optimization.
  • Optimization Methods - Implements mean-variance optimization, Black-Litterman models, and Hierarchical Risk Parity for asset allocation.
  • Portfolio Weight - Enforces position bounds, market neutrality, and long-short limits during portfolio weight optimization.
  • Portfolio Optimization - Computes optimal asset allocations using mean-variance, Black-Litterman, and Hierarchical Risk Parity methods.
  • Efficient Frontier Solvers - Maximizes risk-adjusted returns by solving the efficient frontier with user-defined constraints.
  • Mean-Variance Optimization Solvers - Computes optimal asset weights by solving quadratic programming problems for the efficient frontier.
  • Asset Return Estimation - Calculates forward-looking expected returns using historical mean, exponential weighting, or CAPM.
  • Financial Portfolio Return Estimators - Implements the Black-Litterman model, a Bayesian framework for blending market returns with investor views.
  • Portfolio Return Prior Models - Implements the Black-Litterman model for combining market equilibrium returns with investor views.
  • Portfolio Constraint Enforcement - Restricts asset allocations with bounds, market neutrality, or long-short limits during optimization.
  • Portfolio Constraint Engines - Restricts asset allocations with bounds, market neutrality, or long-short limits during optimization.
  • Covariance Matrix Calculators - Estimates covariance matrices from asset returns using sample, shrinkage, and robust statistical methods.
  • Hierarchical Risk Parity - Builds portfolios by recursively clustering assets based on correlation distances and allocating risk equally.
  • Portfolio Risk Metrics - Estimates covariance matrices and quantifies portfolio risk through sample, shrinkage, or robust methods.
  • Integer Share Allocation Algorithms - Converts continuous portfolio weights into integer share counts for investable portfolios.
  • Portfolio Share Allocation Algorithms - Converts continuous portfolio weights into integer share counts for investable portfolios.

Star history

Star history chart for pyportfolio/pyportfoliooptStar history chart for pyportfolio/pyportfolioopt

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to PyPortfolioOpt

Similar open-source projects, ranked by how many features they share with PyPortfolioOpt.
  • robertmartin8/pyportfoliooptrobertmartin8 avatar

    robertmartin8/PyPortfolioOpt

    5,792View on GitHub↗

    PyPortfolioOpt is a comprehensive portfolio optimization library for Python that provides a full suite of methods for constructing and analyzing investment portfolios. At its core, the library implements mean-variance optimization, the Black-Litterman Bayesian model, and Hierarchical Risk Parity, giving users multiple approaches to asset allocation. It includes a complete covariance estimation toolkit with interchangeable estimators such as sample, exponential, shrinkage, and minimum-covariance-determinant methods, along with expected return estimation using historical mean, exponential weight

    Jupyter Notebook
    View on GitHub↗5,792
  • dcajasn/riskfolio-libdcajasn avatar

    dcajasn/Riskfolio-Lib

    3,784View on GitHub↗

    Riskfolio-Lib is a Python portfolio optimization library and convex risk management tool. It provides a framework for calculating optimal asset allocations using convex risk measures and mathematical programming solvers, supporting linear, quadratic, and semidefinite programming. The library features a hierarchical risk parity framework and financial asset clustering tools to group similar instruments and improve diversification. It includes a portfolio backtesting engine for simulating investment strategies using historical data and cross-validation. The system covers a broad range of quant

    C++asset-allocationconvex-optimizationcvar-optimization
    View on GitHub↗3,784
  • jerbouma/fundamentalanalysisJerBouma avatar

    JerBouma/FundamentalAnalysis

    4,974View on GitHub↗

    FundamentalAnalysis is a comprehensive financial analysis library, quantitative finance framework, and macroeconomic data integrator. It provides tools for computing financial ratios, executing corporate health metrics, and pricing derivatives and bonds using mathematical models. The project integrates diverse data streams, including global economic indicators, real-time market quotes, and standardized corporate financial statements. It features a technical analysis engine for generating momentum and volatility indicators, as well as a portfolio performance analyzer for tracking risk-adjusted

    Python
    View on GitHub↗4,974
  • letianzj/quantresearchletianzj avatar

    letianzj/QuantResearch

    2,808View on GitHub↗

    QuantResearch is a quantitative research framework and specialized toolkit for algorithmic simulation, financial time-series analysis, and systematic trading. It provides an event-driven backtesting environment for validating strategies against historical tick and bar data, alongside a dedicated portfolio optimization engine for calculating asset weights and risk metrics. The project distinguishes itself through a machine learning finance toolkit that implements recurrent neural networks for price prediction and reinforcement learning for derivative pricing. It also features advanced statisti

    Jupyter Notebookalgorithmic-tradingalgotradingasset-allocation
    View on GitHub↗2,808
See all 30 alternatives to PyPortfolioOpt→

Frequently asked questions

What does pyportfolio/pyportfolioopt do?

PyPortfolioOpt is a Python library for financial portfolio optimization that implements mean-variance optimization, Black-Litterman models, and Hierarchical Risk Parity methods. It provides a complete toolkit for constructing risk-adjusted asset portfolios by combining expected return estimation, covariance modeling, constraint handling, and discrete allocation into a single optimization framework.

What are the main features of pyportfolio/pyportfolioopt?

The main features of pyportfolio/pyportfolioopt are: Multi-Method Portfolio Optimizers, Constraint Enforcement, Optimization Methods, Portfolio Weight, Portfolio Optimization, Efficient Frontier Solvers, Mean-Variance Optimization Solvers, Asset Return Estimation.

What are some open-source alternatives to pyportfolio/pyportfolioopt?

Open-source alternatives to pyportfolio/pyportfolioopt include: robertmartin8/pyportfolioopt — PyPortfolioOpt is a comprehensive portfolio optimization library for Python that provides a full suite of methods for… dcajasn/riskfolio-lib — Riskfolio-Lib is a Python portfolio optimization library and convex risk management tool. It provides a framework for… jerbouma/fundamentalanalysis — FundamentalAnalysis is a comprehensive financial analysis library, quantitative finance framework, and macroeconomic… letianzj/quantresearch — QuantResearch is a quantitative research framework and specialized toolkit for algorithmic simulation, financial… fincept-corporation/finceptterminal — FinceptTerminal is a quantitative finance platform and financial engineering library designed for asset valuation,… cantaro86/financial-models-numerical-methods — This project is a quantitative finance library providing implementations of numerical methods for financial…