主要内容

处理“简单”使用PortfolioMAD对象绑定约束

“简单”绑定约束是可选的线性约束,用于维护投资组合权重的上界和下界(参见“简单”约束).尽管每个投资组合集都必须是有界的,但是没有必要用显式的有界约束来指定投资组合集。例如,您可以创建具有隐式上限约束的投资组合集,或者具有平均周转率约束的投资组合集。绑定的约束具有属性下界对于下界约束和UpperBound对于上限约束。属性为这些约束设置默认值setDefaultConstraints函数(见使用组合对象设置组合权重的默认约束).

设置“简单”使用PortfolioMAD函数

方法设置绑定约束的属性PortfolioMAD对象。假设你有一个平衡的基金,其中股票占投资组合的50%至75%,债券占投资组合的25%至50%。平衡基金的约束条件为:

Lb = [0.5;0.25);Ub = [0.75;0.5);p = portfolio omad (下界的磅,“UpperBound”乌兰巴托,“BoundType”“简单”);disp(p.NumAssets) disp(p.LowerBound) disp(p.UpperBound)
2 0.5000 0.2500 0.7500 0.5000

为了继续这个示例,您必须设置一个预算约束。详细信息请参见使用投资组合对象处理预算约束

设置“简单”使用setBounds函数

您还可以使用setBounds.假设你有一个平衡的基金,其中股票占投资组合的50%至75%,债券占投资组合的25%至50%。给定一个PortfolioMAD对象p,使用setBounds设置绑定约束。

Lb = [0.5;0.25);Ub = [0.75;0.5);p = PortfolioMAD;p = setBounds(p, lb, ub,“BoundType”“简单”);disp(p.NumAssets) disp(p.LowerBound) disp(p.UpperBound)
2 0.5000 0.2500 0.7500 0.5000

设置“简单”使用PortfolioMAD函数或setBounds函数

这两个PortfolioMAD对象和setBounds对象上的标量展开下界UpperBound属性。如果NumAssets属性中已设置PortfolioMAD对象时,任一属性的标量参数在所有维度上展开为具有相同的值。此外,setBounds让你指定NumAssets作为可选参数。假设您有一个包含500个资产的宇宙,并且您希望对宇宙中的所有资产设置公共边界约束。具体来说,你是一个只做多的投资者,在任何单一资产上的投资不超过投资组合的5%。你可以用下面这些等价的方法设置这些约束:

p = portfolio omad (“NumAssets”, 500,下界的0,“UpperBound”, 0.05,“BoundType”“简单”);

p = portfolio omad (“NumAssets”, 500);p = setBounds(p, 0, 0.05,“BoundType”“简单”);

p = PortfolioMAD;p = setBounds(p, 0, 0.05,“NumAssets”, 500,“BoundType”“简单”);

清除绑定约束PortfolioMAD对象时,可以使用PortfolioMAD对象或setBounds使用要清除的属性的空输入。属性中的上限约束PortfolioMAD对象p在前面的例子中:

p = PortfolioMAD(p,“UpperBound”[]);

另请参阅

|||||||||

相关的例子

更多关于