主要内容

与之合作'简单的'Bound Constraints Using PortfolioCVaR Object

'简单的'bound constraints are optional linear constraints that maintain upper and lower bounds on portfolio weights (see'简单的'Bound Constraints). Although every portfolio set must be bounded, it is not necessary to specify a portfolio set with explicit bound constraints. For example, you can create a portfolio set with an implicit upper bound constraint or a portfolio set with average turnover constraints. The bound constraints have propertiesLowerBoundfor the lower-bound constraint andUpperBoundfor the upper-bound constraint. Set default values for these constraints using thesetDefaultConstraintsfunction (see环境Default Constraints for Portfolio Weights Using Portfolio Object).

环境'简单的'Bounds Using thePortfolioCVaR功能

通过PortfolioCVaRobject. Suppose that you have a balanced fund with stocks that can range from 50% to 75% of your portfolio and bonds that can range from 25% to 50% of your portfolio. The bound constraints for a balanced fund are set with:

lb = [ 0.5; 0.25 ]; ub = [ 0.75; 0.5 ]; p = PortfolioCVaR('LowerBound', 磅,'UpperBound', ub,'BoundType','简单的');disp(p.numassets)disp(p.lowerbound)disp(p.upperbound)
2 0.5000 0.2500 0.7500 0.5000

To continue with this example, you must set up a budget constraint. For details, see使用投资组合对象处理预算约束

环境'简单的'Bounds Using thesetBounds功能

You can also set the properties for bound constraints usingsetBounds。假设您拥有一个平衡的基金,其股票的投资组合的50%至75%,债券的债券范围从您的投资组合的25%到50%不等。给定PortfolioCVaRobjectp, 利用setBoundsto set the bound constraints:

lb = [ 0.5; 0.25 ]; ub = [ 0.75; 0.5 ]; p = PortfolioCVaR; p = setBounds(p, lb, ub,'BoundType','简单的');disp(p.numassets)disp(p.lowerbound)disp(p.upperbound)
2 0.5000 0.2500 0.7500 0.5000

环境'简单的'Bounds Using thePortfolioCVaR功能或者setBounds功能

Both thePortfolioCVaR对象和setBoundsfunction implement scalar expansion on either theLowerBound或者UpperBoundproperties. If theNumAssetsproperty is already set in thePortfolioCVaRobject, scalar arguments for either property expand to have the same value across all dimensions. In addition,setBounds让您指定NumAssetsas an optional argument. Suppose that you have a universe of 500 assets and you want to set common bound constraints on all assets in your universe. Specifically, you are a long-only investor and want to hold no more than 5% of your portfolio in any single asset. You can set these bound constraints in any of these equivalent ways:

p = PortfolioCVaR('NumAssets',500,'LowerBound', 0,'UpperBound',0.05,'BoundType','简单的');

或者

p = PortfolioCVaR('NumAssets',500);p = setBounds(p,0,0.05,'BoundType','简单的');

或者

p = PortfolioCVaR; p = setBounds(p, 0, 0.05,'NumAssets',500,'BoundType','简单的');

To clear bound constraints from yourPortfolioCVaRobject, use either thePortfolioCVaRobject orsetBoundswith empty inputs for the properties to be cleared. For example, to clear the upper-bound constraint from thePortfolioCVaRobjectpin the previous example:

p = PortfolioCVaR(p,'UpperBound', []);

See Also

|||||||||

Related Examples

More About

External Websites