MATLAB: Matlab Rounding as Portfolio Constraint

cvaroptimization constraintsportfolio optimizationroundrounding

Hi there,
I am optimizing a portfolio using the mean-CVaR optimization function in Matlab. One of the constraints I would like to set is that the portfolio weights for each asset class should be rounded to the nearest 0.05.
I have defined the rounding constraint as
round(x/5,2)*5
which works fine. However, I am wondering now how I can include this as a constraint in the optimization instead of just rounding the weights after the optimization.
Here is the code I am using for the portfolio optimization
pmc = PortfolioCVaR;
pmc = pmc.setAssetList(IndexList); % select index names
pmc = pmc.setScenarios(returns); % select return series
pmc = pmc.setProbabilityLevel(0.95); % cVaR confidence level
pmc = pmc.setDefaultConstraints; % Constraint 1: only positive
weights that sum to 1
pmc = pmc.setBounds(0.01, 0.1); % Constraint 2: min/max weights
I would be happy about any hints!
Thanks a lot, Carolin

Best Answer

This becomes essentially an integer programming problem, since you are trying to force the parameters to be discrete values. So unless the optimization tool allows that as an option, you will need to use a different tool for the optimization.