挫折

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

描述

实例

obj= setBounds (obj,下界)为a建立投资组合权重的界限投资组合,PortfolioCVaR,或PortfolioMAD对象有关使用这些不同对象时各自工作流的详细信息,请参见组合对象的工作流,PortfolioCVaR对象的工作流,PortfolioMAD对象的工作流

实例

obj= setBounds (___,名称、值)除了前面语法中的输入参数外,还使用一个或多个名称-值对参数指定选项,包括BoundType“简单”“有条件的”

实例

obj= setBounds (obj,下界,上界)为公文包对象设置公文包权重的边界,并为上界

考虑到约束限制下界上界“简单”BoundType也就是投资组合中的每一个权重港口城市必须满足以下条件:

LowerBound <= Port <= UpperBound

考虑到约束限制下界上界,“有条件的”BoundType也就是投资组合中的每一个权重港口城市必须满足以下条件:

端口=0或下限<=端口<=上限

实例

obj= setBounds (___,名称、值)除了前面语法中的输入参数外,还使用一个或多个名称-值对参数指定选项,包括BoundType“简单”“有条件的”

例子

全部崩溃

假设你有一个平衡的基金,其中股票占投资组合的50%到75%,债券占投资组合的25%到50%。使用挫折为平衡基金设定约束条件。注意,这设置了默认值“简单”BoundType,强制0.5<=x1<=0.75, 0.25<=x2<=0.5。

Lb = [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

假设您有三种资产组合的资产回报平均值和协方差:

资产平均值=[0.0101110;0.0043532;0.0137058];资产价值=[0.00324625 0.00022983 0.00420395;0.00022983 0.00049937 0.00019247;0.00420395 0.00019247 0.00764097];

以下用途挫折具有“有条件的”BoundType要设置的(半连续)约束西=00.02<=西<=0.5对所有=1.,...纽马塞特

p =组合(“资产平均值”AssetMean,“AssetCovar”p=setBounds(p,0.02,0.5,“BoundType”,“有条件的”,“NumAssets”3)
p =资产组合:BuyCost: [] SellCost: [] RiskFreeRate: [] AssetMean: [3x1 double] AssetCovar: [3x3 double] TrackingError: [] TrackingPort: [] Turnover: [] BuyTurnover: [] SellTurnover: [] Name: [] NumAssets: 3 AssetList: [] InitPort: [] ainequal: [] b不等式:[]AEquality: [] bEquality: [] LowerBound: [3x1 double] UpperBound:[3x1 double] LowerBudget: [] UpperBudget: [] GroupMatrix: [] LowerGroup: [] UpperGroup: [] GroupA: [] GroupB: [] LowerRatio: [] UpperRatio: [] MinNumAssets: [] MaxNumAssets: [] BoundType: [3x1 category]
disp (p.LowerBound);
0.0200 0.0200 0.0200
disp (p.UpperBound);
0.5000 0.5000 0.5000
disp (p.BoundType);
有条件的

假设您有三种资产组合的资产回报平均值和协方差:

资产平均值=[0.0101110;0.0043532;0.0137058];资产价值=[0.00324625 0.00022983 0.00420395;0.00022983 0.00049937 0.00019247;0.00420395 0.00019247 0.00764097];

以下用途挫折两者都有“简单”“有条件的”BoundType约束条件为所有=1.,...纽马塞特

p =组合(“资产平均值”AssetMean,“AssetCovar”,资产价值);p=立根(p,0.1,0.5,“BoundType”, (“简单”;“条件”;“条件”])
p =资产组合:BuyCost: [] SellCost: [] RiskFreeRate: [] AssetMean: [3x1 double] AssetCovar: [3x3 double] TrackingError: [] TrackingPort: [] Turnover: [] BuyTurnover: [] SellTurnover: [] Name: [] NumAssets: 3 AssetList: [] InitPort: [] ainequal: [] b不等式:[]AEquality: [] bEquality: [] LowerBound: [3x1 double] UpperBound:[3x1 double] LowerBudget: [] UpperBudget: [] GroupMatrix: [] LowerGroup: [] UpperGroup: [] GroupA: [] GroupB: [] LowerRatio: [] UpperRatio: [] MinNumAssets: [] MaxNumAssets: [] BoundType: [3x1 category]
disp (p.LowerBound);
0.1000 0.1000 0.1000
disp (p.UpperBound);
0.5000 0.5000 0.5000
disp (p.BoundType);
简单的条件条件

您可以使用提供的下界和上界作为向量,这将为每个资产定义不同的值。下面有-0.8 <=x1 <= 0.2;x2 = 0或0.1 <=x2 <= 0.5;x3 = 0或0.1 <=x3 < = 0.5。请注意,如“简单”BoundType,资产可以持有空头或多头头寸。然而,当使用“有条件的”BoundType,资产只能是多头头寸。

p=立根(p,[-0.8,0.1,0.1],-0.2,0.5,0.5],“BoundType”, (“简单”;“条件”;“条件”]);disp (p.LowerBound);
-0.8000 0.1000 0.1000
disp (p.UpperBound);
-0.2000 0.5000 0.5000
disp (p.BoundType);
简单的条件条件

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

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

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

以下示例规定至少应投资两项资产,且投资应大于16%。

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

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

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

假设你有一只平衡型基金,股票占你投资组合的50%到75%,债券占你投资组合的25%到50%。为平衡型基金设置界限限制。

Lb = [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%。若要为具有半连续约束的平衡基金设置约束,请使用挫折具有“有条件的”BoundType限制设置西=0.250.5<=西<=0.5或0.75对所有=1.,...纽马塞特

lb=[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%。为平衡型基金设置界限限制。

lb=[0.5;0.25];ub=[0.75;0.5];p=PortfolioMAD;p=backbounds(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%。若要为具有半连续约束的平衡基金设置约束,请使用挫折具有“有条件的”BoundType限制设置西=0.250.5<=西<=0.5或0.75对所有=1.,...纽马塞特

Lb = [0.5;0.25);Ub = [0.75;0.5);p = PortfolioMAD;p = setBounds (p,磅,乌兰巴托,“BoundType”, (“条件”;“条件”]);disp(p.NumAssets);
2.
disp (p.LowerBound);
0.5000 0.2500
disp (p.UpperBound);
0.7500 - 0.5000

输入参数

全部崩溃

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

数据类型:对象

每个资产的下界权值,指定为a的标量或向量投资组合,PortfolioCVaR,或PortfolioMAD输入对象(obj).

笔记

  • 如果任何一下界上界输入是否为空[]中相应的属性投资组合,PortfolioCVaR,或PortfolioMAD对象被清除并设置为[]

  • 如果下界上界被指定为标量和纽马塞特存在或可以计算,则它们进行标量展开。的默认值纽马塞特1.

  • 如果两者都有下界上界存在,但它们的顺序不正确挫折如有必要,函数切换边界。

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

数据类型:

(可选)每个资产的上限权重,指定为a的标量或向量投资组合,PortfolioCVaR,或PortfolioMAD输入对象(obj).

笔记

  • 如果任何一下界上界输入是否为空[]中相应的属性投资组合,PortfolioCVaR,或PortfolioMAD对象被清除并设置为[]

  • 如果下界上界被指定为标量和纽马塞特存在或可以计算,则它们进行标量展开。的默认值纽马塞特1.

  • 如果两者都有下界上界存在,但它们的顺序不正确挫折如有必要,函数切换边界。

  • 如果“有条件的”BoundType是指定的,上界不能为负值。

数据类型:

名称-值对参数

指定可选的逗号分隔的字符对名称、值参数。的名字是参数名和价值为对应值。的名字必须出现在引号内。您可以按任意顺序指定多个名称和值对参数,如下所示:Name1, Value1,…,的家

例子:obj=立根(p,0.02,'BoundType','Conditional');

每个资产权重的边界类型,指定为由…组成的逗号分隔对“BoundType”以及值为的标量字符向量或字符串“简单”“有条件的”或值为的字符向量的单元格数组“简单”“有条件的”

  • “简单”下界< = AssetWeight < =上界

  • “有条件的”下界< = AssetWeight < =上界或AssetWeight = 0。

    警告

    如果指定Bound范围包含0(使用a“简单”“条件”BoundType),当您使用setMinMaxNumAssets指定MinNumAssets约束,然后使用其中一个估计函数时,优化器定义分配资产的最小需求是不明确的。在这种情况下,优化器认为一个零权重的资产是一个有效的已分配资产,并继续进行优化,但同时警告分配的权重小于MinNumAssets必修的。有关详细信息,请参阅设置“条件”BoundType、MinNumAssets和MaxNumAssets约束的疑难解答

数据类型:字符|单间牢房|字符串

投资组合中的资产数量,用逗号分隔对指定,由“NumAssets”和一个标量数值。

笔记

纽马塞特不能用于更改a的尺寸投资组合,PortfolioCVaR,或PortfolioMAD对象。

  • 如果任何一下界上界输入是否为空[]中相应的属性投资组合,PortfolioCVaR,或PortfolioMAD对象被清除并设置为[]

  • 如果下界上界被指定为标量和纽马塞特存在或可归因,则它们进行标量展开。的默认值纽马塞特1.

  • 如果两者都有下界上界存在,但它们的顺序不正确挫折如有必要,函数切换边界。

数据类型:

输出参数

全部崩溃

更新的公文包对象,作为投资组合,PortfolioCVaR,或PortfolioMAD对象。

提示

您还可以使用点表示法设置投资组合权重的边界。

obj = obj。挫折(LowerBound, UpperBound, Name,Value);

如果任何下界,上界,或BoundType输入是否为空[],则清除portfolio对象中的相应属性并将其设置为[].如果BoundType被清除为[],绑定类型默认为“简单”

p = setBounds(p, LowerBound, [], 'BoundType',[]);

要将一个投资组合对象重置为一个连续问题,请运行以下命令:

p=setMinMaxNumAssets(p,[],[]);p=收进边界(p,p.下限,p.上限,'BoundType','Simple');

在R2011a中引入