Computational Finance

Portfolio Optimization and Analysis

Portfolio managers must respond quickly to market changes and communicate portfolio metrics to their clients. Portfolio research teams use MATLAB to analyze and measure portfolios and to prototype and backtest strategies faster than with traditional programming languages like C++. Once strategies have been validated, researchers and developers deploy their analysis, strategies, and models into applications for investment managers and clients.

Quantify Portfolio Risk and Return

MATLAB enables you to access information instantly, compare portfolios and benchmarks, visualize performance history, and indicate recent transactions. You utilize prebuilt portfolio analysis and optimization functions to quantify risk and return. With MATLAB and associated toolboxes, portfolio research teams can:

  • Estimate asset return and total return moments from price or return data
  • Perform mean-variance analysis to generate optimal portfolios
  • Solve custom portfolio optimization problems by specifying objectives and constraints
  • Perform capital allocation
  • Compute and visualize portfolio-level statistics
  • Use global optimization methods, such as genetic algorithms, to construct and track indices

Rapidly Backtest Portfolio Strategies

To test and enhance portfolio management strategies, you perform backtests and undertake sensitivity analyses, such as examining the impact of interest rate changes on bond portfolios. MATLAB enables you to rapidly build backtest engines that can:

  • Access databases, Excel®, and data providers such as FactSet, Bloomberg, and Thomson Reuters
  • Handle missing data
  • Run what-if and scenario analyses
  • Evaluate maximum drawdown
  • Examine the time evolution of efficient portfolio allocations
  • Perform parameter sweep backtests to optimize portfolio strategy inputs

Improve Optimization Performance with Parallel Computing

Solve computationally intensive optimization problems in a fraction of the time it takes with a single computing processor by using MATLAB parallel computing tools. You can define your portfolio objectives and backtesting strategies to distribute tasks across multiple computing nodes with little-to-no modification of your MATLAB code.