主要内容

addGroups

向现有的组约束添加组合权重的组约束

描述

例子

obj= addGroups (objGroupMatrixLowerGroup将组合权重的组约束添加到的现有组约束投资组合PortfolioCVaR,或PortfolioMAD对象。有关使用这些不同对象时各自工作流的详细信息,请参见组合对象的工作流PortfolioCVaR对象的工作流,PortfolioMAD对象的工作流

鉴于GroupMatrix,要么LowerGroupUpperGroup投资组合港口必须满足以下条件:

LowerGroup <= GroupMatrix *端口<= UpperGroup

例子

obj= addGroups (objGroupMatrixLowerGroupUpperGroup将组合权重的组约束添加到现有的组约束中,并增加了选项UpperGroup

鉴于GroupMatrix,要么LowerGroupUpperGroup投资组合港口必须满足以下条件:

LowerGroup <= GroupMatrix *端口<= UpperGroup

例子

全部折叠

设置一个组约束,以确保前三个资产最多占投资组合的30%。然后添加另一个组约束,以确保奇数资产至少占投资组合的20%。

p =投资组合;G =[真真真假假];第一个组约束的%组矩阵p = setGroups(p, G, [], 0.3);G =[真假真假真];%组矩阵用于第二个组约束p = addGroups(p, G, 0.2);disp (p.NumAssets);
5
disp (p.GroupMatrix);
1 1 1 0 0 1 0 1 1 0 1
disp (p.LowerGroup);
从负0.2000
disp (p.UpperGroup);
0.3000正

设置一个组约束,以确保前三个资产最多占投资组合的30%。然后添加另一个组约束,以确保奇数资产至少占投资组合的20%。

p = PortfolioCVaR;G =[真真真假假];第一个组约束的%组矩阵p = setGroups(p, G, [], 0.3);G =[真假真假真];%组矩阵用于第二个组约束p = addGroups(p, G, 0.2);disp (p.NumAssets);
5
disp (p.GroupMatrix);
1 1 1 0 0 1 0 1 1 0 1
disp (p.LowerGroup);
从负0.2000
disp (p.UpperGroup);
0.3000正

设置一个组约束,以确保前三个资产最多占投资组合的30%。然后添加另一个组约束,以确保奇数资产至少占投资组合的20%。

p = PortfolioMAD;G =[真真真假假];第一个组约束的%组矩阵p = setGroups(p, G, [], 0.3);G =[真假真假真];%组矩阵用于第二个组约束p = addGroups(p, G, 0.2);disp (p.NumAssets);
5
disp (p.GroupMatrix);
1 1 1 0 0 1 0 1 1 0 1
disp (p.LowerGroup);
从负0.2000
disp (p.UpperGroup);
0.3000正

输入参数

全部折叠

对象,指定使用投资组合PortfolioCVaR,或PortfolioMAD对象。有关创建投资组合对象的更多信息,请参见

数据类型:对象

组约束矩阵,指定为矩阵。

请注意

一组矩阵GroupMatrixOften表示组成员,这意味着它的元素通常是01.由于这种解释,GroupMatrix可以是逻辑矩阵或数值矩阵。

数据类型:

组约束的下界,指定为向量。

请注意

如果输入是标量,LowerGroup经过标量展开符合GroupMatrix

数据类型:

组约束的上界,指定为向量。

请注意

如果输入是标量,UpperGroup经过标量展开符合GroupMatrix

数据类型:

输出参数

全部折叠

已更新的投资组合对象,作为投资组合PortfolioCVaR,或PortfolioMAD对象。有关创建投资组合对象的更多信息,请参见

提示

  • 您还可以使用点表示法为投资组合的权重添加组约束。

    obj = obj。addGroups(GroupMatrix, LowerGroup, UpperGroup)

  • 要使用点表示法从任何组合对象中删除组约束,请为相应的数组输入空数组。

版本历史

介绍了R2011a

Baidu
map