portopt移民投资组合对象

迁移portopt如果没有输出参数

这个例子说明了如何将portopt无输出参数传递给组合物。

基础的portopt功能被表示为:

ExpReturn = [0.0054;0.0531;0.0779;0.0934;0.0130];ExpCovariance = [0.0569,0.0092,0.0039,0.0070,0.0022;0.0092,0.0380,0.0035,0.0197,0.0028;0.0039,0.0035,0.0997,0.0100,0.0070;0.0070,0.0197,0.0100,0.0461,0.0050;0.0022,0.0028,0.0070,0.0050,0.0573]; NumPorts = 10; portopt(ExpReturn, ExpCovariance, NumPorts);

要迁移portopt没有Portfolio对象输出参数的语法:

ExpReturn = [0.0054;0.0531;0.0779;0.0934;0.0130];ExpCovariance = [0.0569,0.0092,0.0039,0.0070,0.0022;0.0092,0.0380,0.0035,0.0197,0.0028;0.0039,0.0035,0.0997,0.0100,0.0070;0.0070,0.0197,0.0100,0.0461,0.0050;0.0022,0.0028,0.0070,0.0050,0.0573]; NumPorts = 10; p = Portfolio; p = setAssetMoments(p, ExpReturn, ExpCovariance); p = setDefaultConstraints(p); plotFrontier(p, NumPorts);

如果没有输出参数,portopt绘出了有效边界。该组合物也有类似的行为,虽然组合对象写入到目前的数字窗口,而不是创建一个新的窗口中生成一个情节各一次。

迁移portopt与输出参数

这个例子说明了如何将portopt与输出参数传递给组合物。

对于输出参数,的基本功能portopt返回投资组合矩和权重。一旦投资组合对象被建立起来,矩和权重就被分步骤获得。

0.0050,0.0573];NumPorts=10;[PortRisk,PortReturn,PortWts]=portopt(ExpReturn,ExpCovariance,NumPorts);显示(PortWts);
PortWts = 0.2103 0.2746 0.1157 0.1594 0.2400 0.1744 0.2657 0.1296 0.2193 0.2110 0.1386 0.2567 0.1436 0.2791 0.1821 0.1027 0.2477 0.1575 0.3390 0.1532 0.0668 0.2387 0.1714 0.3988 0.1242 0.0309 0.2298 0.1854 0.4587 0.0953 0 0.2168 0.1993 0.5209 0.0629 0 0.1791 0.2133 0.5985 0.0091 0 0.0557 0.2183 0.7260 0 0 0 01.0000 0

要迁移portopt带输出参数的语法:

0.0050,0.0573];NumPorts=10;p=Portfolio;p=setAssetMoments(p,ExpReturn,ExpCovariance);p=setDefaultConstraints(p);PortWts=estimateFrontier(p,NumPorts);[PortRisk,PortReturn]=estimatePortMoments(p,PortWts);display(PortWts);
PortWts = 0.2103 0.1744 0.1386 0.1027 0.0668 0.0309 0 0 0 0 0.2746 0.2657 0.2567 0.2477 0.2387 0.2298 0.2168 0.1791 0.0557 0 0.1157 0.1296 0.1436 0.1575 0.1714 0.1854 0.1993 0.2133 0.2183 0 0.1594 0.2193 0.2791 0.3390 0.3988 0.4587 0.5209 0.5985 0.7260 1.0000 0.2400 0.2110 0.1821 0.1532 0.1242 0.0953 0.0629 0.00910 0

Portfolio对象返回PortWts投资组合向下列,而不是跨行。投资组合风险和回报仍然是列格式的。

迁移portopt对于目标返回在有效的投资组合回报率的范围

这个例子说明了如何将portopt目标范围内的有效的组合返回到一个投资组合对象的范围的回报。

portopt能获得与回报的具体目标水平的投资组合,但需要的是有针对性的回报率下降高效回报的范围内。该组合物通过在有效边界的端部选择组合处理此。

ExpReturn = [0.0054;0.0531;0.0779;0.0934;0.0130];ExpCovariance = [0.0569,0.0092,0.0039,0.0070,0.0022;0.0092,0.0380,0.0035,0.0197,0.0028;0.0039,0.0035,0.0997,0.0100,0.0070;0.0070,0.0197,0.0100,0.0461,0.0050;0.0022,0.0028,0.0070,0.0050,0.0573]; NumPorts = 10; TargetReturn = [ 0.05; 0.06; 0.07; 0.08; 0.09 ]; [PortRisk, PortReturn, PortWts] = portopt(ExpReturn, ExpCovariance, [], TargetReturn); disp(“高效的目标”);DISP([PortReturn,TargetReturn]);
高效目标0.0500 0.0500 0.0600 0.0600 0.0700 0.0700 0.0800 0.0800 0.0900 0.0900

要迁移portopt有效投资组合返回范围内的目标返回到投资组合对象的语法:

ExpReturn = [0.0054;0.0531;0.0779;0.0934;0.0130];ExpCovariance = [0.0569,0.0092,0.0039,0.0070,0.0022;0.0092,0.0380,0.0035,0.0197,0.0028;0.0039,0.0035,0.0997,0.0100,0.0070;0.0070,0.0197,0.0100,0.0461,0.0050;0.0022,0.0028,0.0070,0.0050,0.0573]; NumPorts = 10; TargetReturn = [ 0.05; 0.06; 0.07; 0.08; 0.09 ]; p = Portfolio; p = setAssetMoments(p, ExpReturn, ExpCovariance); p = setDefaultConstraints(p); PortWts = estimateFrontierByReturn(p, TargetReturn); [PortRisk, PortReturn] = estimatePortMoments(p, PortWts); disp(“高效的目标”);DISP([PortReturn,TargetReturn]);
高效目标0.0500 0.0500 0.0600 0.0600 0.0700 0.0700 0.0800 0.0800 0.0900 0.0900

迁移portopt对于目标返回外高效投资组合回报率的范围

这个例子说明了如何将portopt的有效组合返回到组合物的范围之外的目标收益。

当目标收益超出有效投资组合收益的范围时,portopt生成错误。Portfolio对象通过在有效边界的末端选择投资组合来有效地处理这个问题。

ExpReturn = [0.0054;0.0531;0.0779;0.0934;0.0130];ExpCovariance = [0.0569,0.0092,0.0039,0.0070,0.0022;0.0092,0.0380,0.0035,0.0197,0.0028;0.0039,0.0035,0.0997,0.0100,0.0070;0.0070,0.0197,0.0100,0.0461,0.0050;0.0022,0.0028,0.0070,0.0050,0.0573]; NumPorts = 10; TargetReturn = [ 0.05; 0.06; 0.07; 0.08; 0.09; 0.10 ]; [PortRisk, PortReturn, PortWts] = portopt(ExpReturn, ExpCovariance, [], TargetReturn); disp(“高效的目标”);DISP([PortReturn,TargetReturn]);
>在在85错误portopt使用portopt(线297)的一个或多个请求的收益比0.093400最大可实现更大的回报。

要迁移portopt语法有效的组合返回到组合物的范围之外的目标收益:

ExpReturn = [0.0054;0.0531;0.0779;0.0934;0.0130];ExpCovariance = [0.0569,0.0092,0.0039,0.0070,0.0022;0.0092,0.0380,0.0035,0.0197,0.0028;0.0039,0.0035,0.0997,0.0100,0.0070;0.0070,0.0197,0.0100,0.0461,0.0050;0.0022,0.0028,0.0070,0.0050,0.0573]; NumPorts = 10; TargetReturn = [ 0.05; 0.06; 0.07; 0.08; 0.09; 0.10 ]; p = Portfolio; p = setAssetMoments(p, ExpReturn, ExpCovariance); p = setDefaultConstraints(p); PortWts = estimateFrontierByReturn(p, TargetReturn); [PortRisk, PortReturn] = estimatePortMoments(p, PortWts); disp(“高效的目标”);DISP([PortReturn,TargetReturn]);
警告:一个或多个目标的返回值是可行的范围[0.0427391,0.0934]外面。将返回这些值的范围的端点相关的投资组合。>在组合/ estimateFrontierByReturn有效目标0.0500 0.0500 0.0600 0.0600 0.0700 0.0700 0.0800 0.0800 0.0900 0.0900 0.0934 0.1000(线106)

迁移portopt运用portcons输出ConSet

这个例子说明了如何将portopt当。。。的时候ConSet从输出portcons使用与portopt

portopt接受为输入从输出portconspcalimspcglimspcgcomp。这个例子的重点portconsportcons建立用于线性约束portopt形式A*端口<=b。在矩阵ConSet = [A,B]并打入分开一个b使用数组A = ConSet(:,1:端-1);B = ConSet(:,端);. 另外,为了说明附加组约束的默认问题,考虑三个组。资产2、3和4可构成投资组合的80%,资产1和2可构成投资组合的70%,资产3、4和5可构成投资组合的90%。

0.0050,0.0573];NumPorts=10;组=[0 1 1 0;1 1 0 0 0;0 0 1 1 1 1];组边界=[0,0.8;0,0.7;0,0.9];LowerGroup=GroupBounds(:,1);UpperGroup=GroupBounds(:,2);ConSet=portcons('默认'5,'grouplims',Groups,LowerGroup,UpperGroup);[PortRisk,PortReturn,PortWts]=portopt(ExpReturn,ExpCovariance,NumPorts,[],ConSet);disp([PortRisk,PortReturn]);
在当前和将来的版本中使用portopt(第83行)时出错,portopt将不再接受ConSet或varargin参数它只会解决长期完全投资的投资组合问题。要解决更一般的问题,请使用Portfolio对象。有关详细信息,请参见发行说明,包括进行转换的示例。

迁移portopt到一个投资组合物当ConSet从输出portcons使用与portopt

0.0050,0.0573];NumPorts=10;组=[0 1 1 0;1 1 0 0 0;0 0 1 1 1 1];组边界=[0,0.8;0,0.7;0,0.9];LowerGroup=GroupBounds(:,1);UpperGroup=GroupBounds(:,2);ConSet=portcons('默认'5,'grouplims'的,团体,LowerGroup,UpperGroup);A = ConSet(:,1:端-1);B = ConSet(:,端);P =组合;P = setAssetMoments(P,ExpReturn,ExpCovariance);P = setInequality(P,A,B);%执行这里组的限制PortWts = estimateFrontier(P,NumPorts);[PortRisk,PortReturn] = estimatePortMoments(P,PortWts);DISP([PortRisk,PortReturn]);
0.1288 0.0427 0.1292 0.0465 0.1306 0.0503 0.1328 0.0540 0.1358 0.0578 0.1395 0.0615 0.1440 0.0653 0.1504 0.0690 0.1590 0.0728 0.1806 0.0766

约束被直接输入到与所述组合物集合不等式附加质量功能。

集成输出portconspcalimspcglimspcgcomp带有公文包对象

这个例子显示了如何输出整合pcalimspcalimspcglims, 要么pcgcomp与投资组合对象实现。

portconspcalimspcglimspcgcomp用于设置线性约束portopt形式A*端口<=b。虽然某些功能允许两个输出,假设输出是单个矩阵ConSet。闯入独立一个b阵列,:

  • A = ConSet(:,1:端-1);

  • B = ConSet(:,端);

此外,要说明具有附加组约束的默认问题,请考虑三个组:

  • 资产2,3和4可构成高达组合的80%。

  • 资产1和2可以构成最多投资组合的70%。

  • 资产3、4和5可以构成投资组合的90%。

基= [0 1 1 1 0;1 1 0 0 0;0 0 1 1 1];GroupBounds = [0,0.8;0,0.7;0,0.9]。

整合ConSet输出portcons与投资组合对象实现:

0.0050,0.0573];NumPorts=10;组=[0 1 1 0;1 1 0 0 0;0 0 1 1 1 1];组边界=[0,0.8;0,0.7;0,0.9];LowerGroup=GroupBounds(:,1);UpperGroup=GroupBounds(:,2);ConSet=portcons('默认'5,'grouplims'的,团体,LowerGroup,UpperGroup);A = ConSet(:,1:端-1);B = ConSet(:,端);P =组合;P = setAssetMoments(P,ExpReturn,ExpCovariance);P = setDefaultConstraints(P);%在此处实现默认约束P = setInequality(P,A,B);%执行这里组的限制PortWts = estimateFrontier(P,NumPorts);[PortRisk,PortReturn] = estimatePortMoments(P,PortWts);DISP([PortRisk,PortReturn]);
0.1288 0.0427 0.1292 0.0465 0.1306 0.0503 0.1328 0.0540 0.1358 0.0578 0.1395 0.0615 0.1440 0.0653 0.1504 0.0690 0.1590 0.0728 0.1806 0.0766

要整合的输出pcalimspcglims与投资组合对象实现:

0.0050,0.0573];NumPorts=10;组=[0 1 1 0;1 1 0 0 0;0 0 1 1 1 1];组边界约束条件(p);%首先实现默认约束p=附加质量(p,Aa,ba);%执行这里势必制约P = addInequality(P,银,BG);%执行这里组的限制PortWts = estimateFrontier(P,NumPorts);[PortRisk,PortReturn] = estimatePortMoments(P,PortWts);DISP([PortRisk,PortReturn]);
0.1288 0.0427 0.1292 0.0465 0.1306 0.0503 0.1328 0.0540 0.1358 0.0578 0.1395 0.0615 0.1440 0.0653 0.1504 0.0690 0.1590 0.0728 0.1806 0.0766

也可以看看

||||||||||||

相关的例子

更多关于