的setBounds

为投资组合对象设置投资组合权重的界限

描述

OBJ=挫折(OBJ下界为一个投资组合马齿苋,或PortfolioMAD宾语。有关使用这些不同的对象时,相应的工作流程的详细信息,请参阅投资组合对象的工作流程PortfolioCVaR对象工作流程,和PortfolioMAD对象工作流

OBJ=挫折(___名称,值使用一个或除了输入参数在先前语法的详细名称 - 值对的参数,其中包括指定的选项BoundType'简单'“条件”

OBJ=挫折(OBJ下界UPPERBOUND设置范围为投资对象的投资组合权重需额外选项UPPERBOUND

给定约束下界UPPERBOUND'简单'BoundType,every weight in a portfolio港口必须满足以下要求:

下界<=端口<= UPPERBOUND

给定约束下界UPPERBOUND,和“条件”BoundType,every weight in a portfolio港口必须满足以下要求:

端口= 0或下界<=端口<= UPPERBOUND

OBJ=挫折(___名称,值使用一个或除了输入参数在先前语法的详细名称 - 值对的参数,其中包括指定的选项BoundType'简单'“条件”

例子

全部收缩

假设你有一个股票平衡型基金的范围可以从50%到你的投资组合和债券的75%的范围可以从25%到你的投资组合的50%。采用的setBounds设置绑定约束的平衡型基金。请注意,此设置默认'简单'BoundType,这强制0.5 <= X1 <= 0.75,0.25 <= X2 <= 0.5。

磅= [0.5;0.25];UB = [0.75;0.5];P =组合;P =的setBounds(P,LB,UB);DISP(p.NumAssets);
2
disp(p.LowerBound);
0.5000 0.2500
DISP(p.UpperBound);
0.7500 0.5000

假设你有资产回报为三个资产组合的均值和方差:

AssetMean = [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];

以下用途的setBounds“条件”BoundType(半)约束集=00.02<=<=0.5分为所有人一世=1,...NumAssets

P =组合('AssetMean',AssetMean,'资产价值',AssetCovar);P =的setBounds(P,0.02%,0.5%'BoundType'“条件”'裸体',3个)
P =组合与属性:BuyCost:[] SellCost:[] RiskFreeRate:[] AssetMean:[3X1双] AssetCovar:[3×3双] TrackingError:[] TrackingPort:[]营业额:[] BuyTurnover:[] SellTurnover:[]名称:[] NumAssets:3资源列表:[] InitPort:[] AInequality:[] bInequality:[] AEquality:[] bEquality:[]下界:[3X1双] UPPERBOUND:[3X1双] LowerBudget:[] UpperBudget:] GroupMatrix:[] LowerGroup:[] UpperGroup:[] A组:[]组B:[] LowerRatio:[] UpperRatio:[] MinNumAssets:[] MaxNumAssets:[] BoundType:[3X1分类]
disp(p.LowerBound);
0.0200 0.0200 0.0200
DISP(p.UpperBound);
0.5000 0.5000 0.5000
DISP(p.BoundType);
有条件有条件有条件

假设你有资产回报为三个资产组合的均值和方差:

AssetMean = [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];

以下用途的setBounds'简单'“条件”BoundType对所有人的约束一世=1,...NumAssets

P =组合('AssetMean',AssetMean,'资产价值',AssetCovar);P =的setBounds(P,0.1,0.5,'BoundType',["simple";“有条件的”;“有条件的”])
P =组合与属性:BuyCost:[] SellCost:[] RiskFreeRate:[] AssetMean:[3X1双] AssetCovar:[3×3双] TrackingError:[] TrackingPort:[]营业额:[] BuyTurnover:[] SellTurnover:[]名称:[] NumAssets:3资源列表:[] InitPort:[] AInequality:[] bInequality:[] AEquality:[] bEquality:[]下界:[3X1双] UPPERBOUND:[3X1双] LowerBudget:[] UpperBudget:] GroupMatrix:[] LowerGroup:[] UpperGroup:[] A组:[]组B:[] LowerRatio:[] UpperRatio:[] MinNumAssets:[] MaxNumAssets:[] BoundType:[3X1分类]
disp(p.LowerBound);
0.1000 0.1000 0.1000
DISP(p.UpperBound);
0.5000 0.5000 0.5000
DISP(p.BoundType);
简单的条件条件

您可以使用supply lower和upper bounds作为向量,为每个资源定义不同的值。下面有-0.8<=X1 <= 0.2;X2 = 0或0.1 <=X2 <= 0.5;X3=0或0.1<=X3 <= 0.5。请注意,如'简单'BoundType,这些资产可以作为空头头寸或多头头寸持有。但是,当使用“条件”BoundType,资产只能是多头头寸。

P =的setBounds(ρ,-0.8,0.1,0.1],[-0.2,0.5,0.5]'BoundType',["simple";“有条件的”;“有条件的”]);disp(p.LowerBound);
-0.8000 0.1000 0.1000
DISP(p.UpperBound);
-0.2000 0.5000 0.5000
DISP(p.BoundType);
简单的条件条件

为三资产组合设置最小基数约束which you have the mean and covariance values of the asset returns.

AssetMean = [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);P = setDefaultConstraints(P);

当工作投资组合对象集minmaxnumassets功能,可以设置限制对投资资产的数量。这些限制也被称为基数约束。在管理投资组合,这是常见的,你想投资至少一定数量的资产。此外,你也应该清楚地定义了每个投资资产的重量要求。你可以用做的setBounds用一个“条件”BoundType. 如果未指定“条件”BoundType,优化器无法了解哪些资产是投资资产,并且无法制定MinNumAssets约束。

下面的示例指定至少两个资产应该投资和投资应大于16%以上。

P = setMinMaxNumAssets(P,2,[]);P =的setBounds(P,0.16,'BoundType''有条件');

采用estimateFrontierByReturn估计有针对性的投资组合的回报最优投资组合。

pwgt=估计FrontierByReturn(p,[0.008,0.01])
普华永道=3×2个0.2861 0.3967 0.5001 0.2438 0.2138 0.3595

假设你有一个股票平衡型基金的范围可以从50%到你的投资组合和债券的75%的范围可以从25%到你的投资组合的50%。要为平衡型基金设定的边界限制。

磅= [0.5;0.25];UB = [0.75;0.5];P = PortfolioCVaR;P =的setBounds(P,LB,UB);DISP(p.NumAssets);
2
disp(p.LowerBound);
0.5000 0.2500
DISP(p.UpperBound);
0.7500 0.5000

假设你有一只平衡型基金,股票占你投资组合的50%-75%,债券占你投资组合的25%-50%。若要为具有半连续约束的平衡基金设置限制条件,请使用的setBounds“条件”BoundType要设置的约束=0.250.5分<=<=0.5或0.75为所有人一世=1,...NumAssets

磅= [0.5;0.25];UB = [0.75;0.5];P = PortfolioCVaR;P =的setBounds(P,LB,UB,'BoundType',[“有条件的”;“有条件的”]);DISP(p.NumAssets);
2
disp(p.LowerBound);
0.5000 0.2500
DISP(p.UpperBound);
0.7500 0.5000

假设你有一个股票平衡型基金的范围可以从50%到你的投资组合和债券的75%的范围可以从25%到你的投资组合的50%。要为平衡型基金设定的边界限制。

磅= [0.5;0.25];UB = [0.75;0.5];P = PortfolioMAD;P =的setBounds(P,LB,UB);DISP(p.NumAssets);
2
disp(p.LowerBound);
0.5000 0.2500
DISP(p.UpperBound);
0.7500 0.5000

假设你有一只平衡型基金,股票占你投资组合的50%-75%,债券占你投资组合的25%-50%。若要为具有半连续约束的平衡基金设置限制条件,请使用的setBounds“条件”BoundType要设置的约束=0.250.5分<=<=0.5或0.75为所有人一世=1,...NumAssets

磅= [0.5;0.25];UB = [0.75;0.5];P = PortfolioMAD;P =的setBounds(P,LB,UB,'BoundType',[“有条件的”;“有条件的”]);DISP(p.NumAssets);
2
disp(p.LowerBound);
0.5000 0.2500
DISP(p.UpperBound);
0.7500 0.5000

输入参数

全部收缩

对象组合,指定使用投资组合马齿苋,或PortfolioMAD宾语。有关创建组合对象的更多信息,请参阅

数据类型:宾语

每个资源的下限权重,指定为投资组合马齿苋,或PortfolioMAD输入对象(OBJ)。

注意

  • 如果任下界UPPERBOUND被输入作为与排空[],在相应的属性投资组合马齿苋,或PortfolioMAD对象被清除,并设置为[]

  • 如果下界UPPERBOUND一个re specified as scalars andNumAssets存在或可以计算,然后进行标量展开。的默认值NumAssets1

  • 如果两个下界UPPERBOUND不仅存在,而且不正确,有序的setBounds如果必要的功能切换界限。

  • 如果“条件”BoundType被指定,下界不能是负值。

数据类型:double

(可选)每个资源的上限权重,指定为投资组合马齿苋,或PortfolioMAD输入对象(OBJ)。

注意

  • 如果任下界UPPERBOUND被输入作为与排空[],在相应的属性投资组合马齿苋,或PortfolioMAD对象被清除,并设置为[]

  • 如果下界UPPERBOUND一个re specified as scalars andNumAssets存在或可以计算,然后进行标量展开。的默认值NumAssets1

  • 如果两个下界UPPERBOUND不仅存在,而且不正确,有序的setBounds如果必要的功能切换界限。

  • 如果“条件”BoundType被指定,UPPERBOUND不能是负值。

数据类型:double

名称 - 值对参数

指定可选的用逗号分隔的对名称,值参数。姓名是参数的名称和价值是相应的值。姓名必须出现引号内。您可以按照任何顺序指定多个名称和值对参数名1,值1,...,NameN,值N

例:OBJ =的setBounds(P,0.02%, 'BoundType', '条件');

每个资产权重的界限类型,指定为逗号分隔对,由'BoundType'以及值为的标量字符向量或字符串'简单'“条件”或字符的单元阵列具有的值矢量'简单'“条件”

  • '简单'下界<=AssetWeight <=UPPERBOUND

  • “条件”下界<=AssetWeight <=UPPERBOUND或资产净值=0。

    警告

    如果将绑定范围指定为包含零(使用'简单''有条件'BoundType),当您使用集minmaxnumassets指定MinNumAssets约束,然后使用估计函数,优化器定义分配资产的最低需求是不明确的。在这种情况下,优化器认为一个权重为零的资产是一个有效的已分配资产,并且优化继续进行,但是警告是该分配小于MinNumAssets需要。欲了解更多信息,请参阅疑难解答设置“条件” BoundType,MinNumAssets和MaxNumAssets约束

数据类型:烧焦|细胞|一串

资产组合中的资产数,指定为逗号分隔的对,由'裸体'和标数值。

注意

NumAssets不能用来改变的尺寸投资组合马齿苋,或PortfolioMAD宾语。

  • 如果任下界UPPERBOUND被输入作为与排空[],在相应的属性投资组合马齿苋,或PortfolioMAD对象被清除,并设置为[]

  • 如果下界UPPERBOUND一个re specified as scalars andNumAssets存在或可以被插补,然后它们进行标量展开。的默认值NumAssets1

  • 如果两个下界UPPERBOUND不仅存在,而且不正确,有序的setBounds如果必要的功能切换界限。

数据类型:double

输出参数

全部收缩

更新组合对象,返回为投资组合马齿苋,或PortfolioMAD宾语。

提示

您还可以使用点符号来设置界投资组合权重。

目标=目标挫折(下边、上边、名称、值);

如果一个ny of下界UPPERBOUND,或BoundType被输入作为与排空[ ],公文包对象中的相应属性将被清除并设置为[ ]. 如果BoundType被清除[ ],绑定类型默认为'简单'

p=收进(p,下边,[],'边界类型',[]);

要将项目组合对象重置为连续问题,请运行以下命令:

P = setMinMaxNumAssets(ρ,],[]);P =的setBounds(P,p.LowerBound,p.UpperBound, 'BoundType', '简单');

介绍了在R2011a