setMinMaxNumAssets

设置投资组合对象的资产数量的基数约束

描述

例子

obj= setMinMaxNumAssets (objMinNumAssetsMaxNumAssets对象的基数约束投资组合PortfolioCVaR,或PortfolioMAD对象。

MinNumAssetsMaxNumAssets分别为投资组合中投资的最小和最大资产数。满足Bound约束条件的已分配资产总数为[MinNumAssetsMaxNumAssets].有关使用这些不同对象时各自工作流程的详细信息,请参见组合对象的工作流PortfolioCVaR对象的工作流,PortfolioMAD对象的工作流

例子

全部折叠

为三种资产组合设置最大基数约束,其中你有资产回报的均值和协方差值。

资产均值= [0.0101110;0.0043532;0.0137058);AssetCovar = [0.00324625 0.00022983 0.00420395;0.00022983 0.00049937 0.00019247;0.00420395 0.00019247 0.00764097];p =组合(“AssetMean”AssetMean,“AssetCovar”, AssetCovar);p = setDefaultConstraints (p);

当与一个投资组合对象,setMinMaxNumAssets功能可以设置投资的资产数量的限制。使用setMinMaxNumAssets将分配资产的总数限制在两个以内。

p = setMinMaxNumAssets(p, [], 2);

使用estimateFrontierByReturn以目标投资回报估计最优投资组合。

pwgt = estimateFrontierByReturn(p,[0.008, 0.01])
pwgt =3×20 0 0.6101 0.3962 0.3899 0.6038

为三种资产组合设置最小基数约束,其中你有资产回报的均值和协方差值。

资产均值= [0.0101110;0.0043532;0.0137058);AssetCovar = [0.00324625 0.00022983 0.00420395;0.00022983 0.00049937 0.00019247;0.00420395 0.00019247 0.00764097];p =组合(“AssetMean”AssetMean,“AssetCovar”, AssetCovar);p = setDefaultConstraints (p);

当与一个投资组合对象,setMinMaxNumAssets功能可以设置投资资产的数量限制。这些极限也称为基数约束。在管理投资组合时,你通常希望投资至少一定数量的资产。此外,您还应该清楚地定义每个投资资产的权重要求。你可以用setBounds与一个“条件”BoundType.如果不指定a“条件”BoundType,优化器无法理解哪些资产是投资资产,也无法制定出MinNumAssets约束。

下面的例子说明,至少应该投资两项资产,并且投资金额应该大于16%。

p = setMinMaxNumAssets(p, 2, []);p = setBounds(p, 0.16,“BoundType”“条件”);

使用estimateFrontierByReturn以目标投资回报估计最优投资组合。

pwgt = estimateFrontierByReturn(p,[0.008, 0.01])
pwgt =3×20.2861 0.3967 0.5001 0.2438 0.2138 0.3595

设置最小和最大基数约束和“条件”BoundType对于一个有三种资产的投资组合你有资产回报的均值和协方差值。

资产均值= [0.0101110;0.0043532;0.0137058);AssetCovar = [0.00324625 0.00022983 0.00420395;0.00022983 0.00049937 0.00019247;0.00420395 0.00019247 0.00764097];p =组合(“AssetMean”AssetMean,“AssetCovar”, AssetCovar);p = setDefaultConstraints (p);

当与一个投资组合对象,setMinMaxNumAssets功能可以设置投资的资产数量的限制。下面的示例指定了应该使用的两个资产setMinMaxNumAssets投资应在两种资产中平均分配setBounds

p = setMinMaxNumAssets(p, 2,2);p = setBounds(p, 0.5, 0.5,“BoundType”“条件”);

使用estimateFrontierByReturn以目标投资回报估计最优投资组合。

pwgt = estimateFrontierByReturn(p,[0.008, 0.01])
pwgt =3×20 0.5000 0.5000 0 0.5000 0.5000

假设你有一个由12只股票组成的宇宙,你想要找到具有目标回报的最优投资组合,你想为这个投资组合设置半连续和基数约束。

负载CAPMuniversep = PortfolioCVaR (“AssetList”、资产(1:12));p = simulatenormalscenario bydata (p, Data(:,1:12), 20000,“missingdata”,真正的);p = setProbabilityLevel(p, 0.80);

当与一个PortfolioCVaR对象,setMinMaxNumAssets功能可以设置投资的资产数量的限制。下面的示例指定应该使用最少5个资产和最多10个资产进行投资setMinMaxNumAssets投资应大于4%,使用不超过45%setBounds

p = setMinMaxNumAssets(p, 5, 10);p = setBounds(p, 0.04, 0.45,“BoundType”“条件”);

使用estimateFrontierByReturn以目标投资回报估计最优投资组合。

pwgt = estimateFrontierByReturn(p,[0.00026, 0.00038])
pwgt =12×20.0400 0.0400 00 00 00 0.0507 0.0786 0.0400 0.0400 0.0400 0.0400 0.0400 0.0400⋮

假设你有一个由12只股票组成的宇宙,你想要找到具有目标回报的最优投资组合,你想为这个投资组合设置半连续和基数约束。

负载CAPMuniversep = PortfolioMAD (“AssetList”、资产(1:12));p = simulatenormalscenario bydata (p, Data(:,1:12), 20000,“missingdata”,真正的);

当与一个PortfolioMAD对象,setMinMaxNumAssets功能可以设置投资的资产数量的限制。下面的示例指定应该使用最少5个资产和最多10个资产进行投资setMinMaxNumAssets投资应大于4%,使用不超过45%setBounds

p = setMinMaxNumAssets(p, 5, 10);p = setBounds(p, 0.04, 0.45,“BoundType”“条件”);

使用estimateFrontierByReturn以目标投资回报估计最优投资组合。

pwgt = estimateFrontierByReturn(p,[0.00026, 0.00038])
pwgt =12×20.0400 0.0400 00 00 00 0.0507 0.0786 0.0400 0.0400 0.0400 0.0400 0.0400 0.0400⋮

输入参数

全部折叠

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

数据类型:对象

在投资组合中分配的最小资产数量,使用标量数字指定。

数据类型:

在投资组合中分配的最大资产数量,使用标量数字指定。

数据类型:

输出参数

全部折叠

更新的组合对象,返回为投资组合PortfolioCVaR,或PortfolioMAD对象。

提示

  • 您还可以使用点表示法来设置资产的标识符列表。

    obj = obj.setMinMaxNumAssets (MinNumAssets MaxNumAssets);

  • 指定空值([[])MinNumAssetsMaxNumAsssets对象的限制约束投资组合PortfolioCVaR,或PortfolioMAD对象。

介绍了R2018b