Custom Portfolio Optimization
Use a Portfolio object with the
                                estimateCustomObjectivePortfolio function to compute the
                            solution to a custom objective problem. The estimateCustomObjectivePortfolio function receives a
                            function handle with the user-defined objective function and returns a
                            vector of portfolio weights. Also, you can use constraints for the
                                Portfolio object, such as
                            linear equality and inequality, bound, budget, conditional budget,
                            group, group ratio, turnover, tracking error, and risk
                            constraints.
Objects
| Portfolio | Create Portfolio object for mean-variance portfolio optimization and analysis | 
Functions
Topics
- Risk Parity or Budgeting with ConstraintsThis example shows how to solve risk parity or budgeting problems with constraints using estimateCustomObjectivePortfolio.
- Solve Robust Portfolio Maximum Return Problem with Ellipsoidal UncertaintyThis example shows a robust formulation of portfolio optimization with uncertainty in the assets returns. 
- Solve Problem for Minimum Tracking Error with Net Return ConstraintThis example shows how to use estimateCustomObjectivePortfolioto solve a portfolio problem for minimum tracking error with a net return constraint using a custom objective.
- Solve Tracking Error Portfolio ProblemsThis example shows how to compute a portfolio that minimizes the tracking error subject to a benchmark portfolio. 
- Portfolio Optimization Against a BenchmarkThis example demonstrates optimizing a portfolio to maximize the information ratio relative to a market benchmark. 
- Portfolio Optimization Using Social Performance MeasureUse a Portfolioobject to minimize the variance, maximize return, and maximize the average percentage of women on a company's board.
- Diversify Portfolios Using Custom ObjectiveThis example shows three techniques of asset diversification in a portfolio using the estimateCustomObjectivePortfoliofunction with aPortfolioobject.
- Single Period Goal-Based Wealth ManagementThis example shows a method for goal-based wealth management (GBWM). 
- Dynamic Portfolio Allocation in Goal-Based Wealth Management for Multiple Time PeriodsThis example shows a dynamic programming strategy to maximize the probability of obtaining an investor's wealth goal at the end of the investment horizon. 
- Role of Convexity in Portfolio ProblemsCharacteristics of convexity, concavity, and nonconvexity in portfolio problems. 
- When to Use Portfolio Objects Over Optimization ToolboxThe three cases for using Portfolio, PortfolioCVaR, PortfolioMAD object are: always use, preferred use, and use Optimization Toolbox. 
- Choosing and Controlling the Solver for Mean-Variance Portfolio OptimizationThe default solver for mean-variance portfolio optimization is lcprog.
- Choose MINLP Solvers for Portfolio ProblemsTables listing types of MINLP solvers that you can select to find the solution to different portfolio problems. 
- Troubleshooting Portfolio Optimization ResultsResources for troubleshooting portfolio optimization results.