Introduction to Constraints
Michaud optimization, while significantly reducing the need for traditional tight constraints, may benefit from constraints. Constraints are also useful for ensuring compliance with investment policy. Still, we recommend setting up your case without constraints so that you are aware of the unconstrained solution before implementing constraints.
Adding too many constraints lessens the available solution space for the optimized portfolios and thus may diminish the optimality of the resulting efficient frontier. Keep in mind that constraints impact all of the simulations run during optimization, so they have a larger impact than you may anticipate. For instance, a maximum asset bound of 15% means that none of the simulated portfolios can have an asset allocation over 15%, which can drop the average allocation to that asset significantly.
Another caution: it is extremely easy to enter conflicting constraints. For example, entering a small maximum turnover and a maximum asset bound when your initial portfolio includes a large allocation to an asset necessitates using much of the allowed turnover to bring the large allocation down to the required level. The Constraint Analysis and Constraint Analysis II Worksheets help identify the impact and possible conflicts within linear constraints. Conflicting constraints will generally produce an error message indicating that the optimization is infeasible.
Constraint sets provide the capability to save and load asset bounds, quadratic risk penalties, customized constraints, and investability constraints (except max assets and maximum turnover) in one file (*.nfcs). Transaction costs can be saved and loaded separately (*.nftc).
A standard set of constraints used on multiple cases can be saved as default constraints (both optimal and investable) using the Save Default Constraints Button on the Constraints Worksheet or Investability Constraints Worksheet. The current default asset bounds, transaction costs, investable asset bounds, asset increment, and asset threshold save to a clipboard. Clicking the Apply Default Constraints Button returns the most recently saved default constraints to the Optimizer and applies them to the current asset set. Since this only applies to the default constraints, so only fields with a blue background will update.
The Optimizer contains the functionality for the following constraints:
-
Customized Constraints (Group Constraints)
The Optimizer also offers Investability Constraints for post-optimization.