Portfolio Optimization

Analyze and optimize portfolios of assets

Portfolio optimization is a formal mathematical approach to making investment decisions across a collection of financial instruments or assets. Portfolios are points from a feasible set of assets that constitute an asset universe. The convention is to specify portfolios in terms of weights, although portfolio optimization tools also work with holdings.

Modern Portfolio Theory

The classical approach, known as modern portfolio theory (MPT), involves categorizing the investment universe based on risk (standard deviation) and return, and then choosing the mix of investments that achieve a desired risk versus return tradeoff. Portfolios satisfying these criteria are efficient portfolios and the plot of the risks and returns of these portfolios form a curve called the efficient frontier. MATLAB® provides built-in frameworks to perform mean-variance, conditional value-at-risk, and mean-absolute deviation portfolio optimization.­­

The Evolution of Asset Allocation

While the focus of portfolio optimization is to find the best allocation given a set of constraints, what may be considered the best portfolio can go beyond traditional risk-return tradeoffs. Quantitative researchers and portfolio managers might also want to add diversification techniques, perform an optimization that minimizes tracking error, or find a portfolio that equalizes the risk contribution of the assets in the portfolio.

The portfolio optimization space continues to evolve with techniques such as the machine learning–based hierarchical risk parity approach and alternate sources of data such as environmental, social, and governance (ESG) metrics that are introduced into the asset allocation process. The Portfolio object in MATLAB can be leveraged to integrate ESG criteria or add asset diversification to the portfolio optimization.

Different asset allocation techniques can be evaluated by backtesting them over a historical or simulated time period with a preferred rebalancing strategy. Leverage the backtesting framework in MATLAB to automate the execution of strategies over historical time periods, aggregate costs, and generate performance metrics like returns, risk metrics, and drawdowns that help identify the best strategy.

Common steps in optimizing portfolios include:

  • Estimating asset return and total return moments from price or return data
  • Computing portfolio-level statistics
  • Performing constrained mean-variance, conditional value-at-risk, mean-absolute deviation, or other portfolio optimization techniques
  • Examining the time evolution of efficient portfolio allocations
  • Accounting for turnover and transaction costs
  • Backtesting investment strategies

For more information on leveraging MATLAB for asset allocation, see Financial Toolbox™.

See also: Financial Toolbox, Optimization Toolbox, Global Optimization Toolbox, Black-Litterman model, portfolio optimization videos, smart beta, convex optimization, backtesting