主要内容

获取有效边界的端点

在使用 Portfolio 对象时,您通常可能对有效边界的端点投资组合感兴趣。假设您想要确定从最低到最高的收益范围,以细化搜索,找到具有特定目标收益的投资组合。请使用 estimateFrontierLimits 函数来获取端点投资组合。

m = [ 0.05; 0.1; 0.12; 0.18 ];
C = [ 0.0064 0.00408 0.00192 0; 
      0.00408 0.0289 0.0204 0.0119;
      0.00192 0.0204 0.0576 0.0336;
      0 0.0119 0.0336 0.1225 ];
 
p = Portfolio;
p = setAssetMoments(p, m, C);
p = setDefaultConstraints(p);
pwgt = estimateFrontierLimits(p);

disp(pwgt)
    0.8891         0
    0.0369         0
    0.0404         0
    0.0336    1.0000

estimatePortMoments 函数显示了有效投资组合的风险和收益范围:

[prsk, pret] = estimatePortMoments(p, pwgt);
disp([prsk, pret])
    0.0769    0.0590
    0.3500    0.1800

从初始投资组合开始,estimateFrontierLimits 还会返回从初始投资组合到有效边界上的端点投资组合的买入交易和卖出交易。例如,给定 pwgt0 中的初始投资组合,您可以得到以下买入交易和卖出交易:

m = [ 0.05; 0.1; 0.12; 0.18 ];
C = [ 0.0064 0.00408 0.00192 0; 
      0.00408 0.0289 0.0204 0.0119;
      0.00192 0.0204 0.0576 0.0336;
      0 0.0119 0.0336 0.1225 ];
 
p = Portfolio;
p = setAssetMoments(p, m, C);
p = setDefaultConstraints(p);

pwgt0 = [ 0.3; 0.3; 0.2; 0.1 ];
p = setInitPort(p, pwgt0);
[pwgt, pbuy, psell] = estimateFrontierLimits(p);
	
display(pwgt)
pwgt = 4×2

    0.8891         0
    0.0369         0
    0.0404         0
    0.0336    1.0000

display(pbuy)
pbuy = 4×2

    0.5891         0
         0         0
         0         0
         0    0.9000

display(psell)
psell = 4×2

         0    0.3000
    0.2631    0.3000
    0.1596    0.2000
    0.0664         0

如果您没有指定初始投资组合,则买入和卖出权重假设您的初始投资组合为 0

另请参阅

| | | | | | | | | |

主题

外部网站