Efficient portfolios constraints, how can I add a particular constraint ?
1 view (last 30 days)
Show older comments
How can I add an additional constraint to the efficient portfolios using portopt ? I want to compute the portfolios along the efficient frontier with the following 3 constraints:
- Allow for short sell (should be to set 'AssetLims' in portcons);
- Max Number of assets (say x) in each portfolio (should be 'Default' constraint type);
- The (x) assets in a portfolio must be only in that portfolio. I must not use the same assets into different portfolios. How can I add this constraint ?
Thanks, Nick
0 Comments
Accepted Answer
Roger Wohlwend
on 7 Jul 2014
The first constraint is easy to implement.
ConSet = protcons('PortValue', 1, NumAssets, 'AssetLims', -1, AssetMax)
where NumAssets is the number of assets and AssetMax is a vector with the upper boundary for the portoflio weights.
The two other constraints are a bit of a problem. You cannot order the optimizing function to use only a certain amount of assets. So there is no Matlab function for your problem. If your number of assets is small you could loop through all possible combinations of assets, optimize a portfolio and chosse the portfolio with the highest return for a certain amount of risk. Afterwards yoou repeat that process for the other portfolios of your efficient frontier, but you omit certain assets (according to your third constraint).
More Answers (0)
See Also
Categories
Find more on Portfolio Optimization and Asset Allocation in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!