estismsFrontierByRisk.

估计有针对性产品组合风险的最佳投资组合

描述

例子

[PWGT.pbuypsell] = estmateFrontierByRisk(obj.TargetRisk估计具有目标投资组合风险的最优投资组合文件夹portfoliocvar., 或者Portfoliomad.对象。有关使用这些不同对象时相应工作流的详细信息,请参阅组合对象的工作流PortfolioCVaR对象的工作流,portfoliomad对象工作流程

例子

[PWGT.pbuypsell] = estmateFrontierByRisk(___名称,价值为的添加名称-可选名称-值对参数文件夹Portfoliomad.对象。

例子

全部收缩

获取有针对性投资组合风险的有效投资组合,estismsFrontierByRisk.函数接受一个或多个目标投资组合风险,并获得具有特定风险的有效投资组合。假设您有四个资产的宇宙,您希望获得有效的投资组合,目标组合风险为12%,14%和16%。此示例使用默认值“直接”具有目标投资组合风险的最优投资组合估计方法。

m = [0.05;0.1;0.12;0.18);C = [0.0064 0.00408 0.00192 0;0.0040 0.0289 0.0204 0.0119;0.00192 0.0204 0.0576 0.0336;0 0.0119 0.0336 0.1225];p =投资组合;p = setAssetMoments(p, m, C); p = setDefaultConstraints(p); pwgt = estimateFrontierByRisk(p, [0.12, 0.14, 0.16]); display(pwgt);
pwgt =4×30.3984 0.2659 0.1416 0.3064 0.3791 0.4474 0.0882 0.1010 0.1131 0.2071 0.2540 0.2979

当任何一个或来自'的约束的任何组合条件'边界minnumassets.,maxnumassets.将投资组合问题转化为混合整数规划问题,并使用MINLP求解器求解。

创建一个文件夹对象的三个资产。

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 = portfolio('assetmean',assetmean,'Assetcovar',Assetcovar);p = setDefaultConstraints(p);

使用setBound.与半连续约束设置xi.=0.0.02<=xi.<=0.5对所有人一世=1,......numassets.

p = setBounds(p,0.02,0.7,'Fundype''条件''numasset',3);

在使用a时文件夹对象,呢setMinMaxNumAssets功能使您可以设置投资的资产数量的限制(如基数)约束。这集设置了满足之间的绑定约束的分配资产总数minnumassets.maxnumassets.。通过设置minnumassets.=maxnumassets.= 2,三项资产中只有两个资产投资于投资组合。

p = setminmaxnumasset(p,2,2);

使用estismsFrontierByRisk.估算有针对性产品组合风险的最佳投资组合。

[PWGT,PBUY,PSELL] = estmityFrontierByRisk(P,[0.0324241,0.0694534])
pwgt =3×20.0000 0.5000 0.6907 0 0.3093 0.5000
pbuy =3×20.0000 0.5000 0.6907 0 0.3093 0.5000
psell =3×20 0 0 0 0 0

estismsFrontierByRisk.功能使用MINLP求解器来解决此问题。使用setsolverminlp.配置配置索尔弗蒂和选择。

p.solvertypeminlp.
ans = ' OuterApproximation '
p.solveroptionsminlp.
ans =.结构与字段:MaxIltations:1000 Absolutegapolerance:1.0000E-07非线性导致物质:1.0000E-05 NonlinearScalingFactor:1000 objectiveScalingFactor:1000显示:'Off'Cutgeneration:'Basic'MaxIrlationSinaCtiveCut:30 ActiveCuttolerance:1.0000E-07 Intmastersolveroptions:[1x1 Optim.Options.Intlinprog]NumiterationseArlyinteConvergence:30

获取有针对性投资组合风险的有效投资组合,estismsFrontierByRisk.函数接受一个或多个目标投资组合风险,并获得具有特定风险的有效投资组合。假设您有四个资产的宇宙,您希望获得有效的投资组合,目标组合风险为12%,14%和16%。此示例使用默认值“直接”具有目标投资组合风险的最优投资组合估计方法。这“直接”方法使用粉刺要解决最大化产品组合返回的优化问题,但符合目标风险作为二次非线性约束。setSolver指定S.olvertype.leveroptions.为了粉刺

m = [0.05;0.1;0.12;0.18);C = [0.0064 0.00408 0.00192 0;0.0040 0.0289 0.0204 0.0119;0.00192 0.0204 0.0576 0.0336;0 0.0119 0.0336 0.1225];p =投资组合;p = setAssetMoments(p, m, C); p = setDefaultConstraints(p); p = setSolver(p,“fmincon”“显示”'离开''算法''SQP'......'specifyobjectivegrient',真的,“SpecifyConstraintGradient”,真的,......'约束专利',1.0e-8,'OptimalalcaltalTolerance',1.0e-8,'steptolerance'1.0 e-8);pwgt = estimateFrontierByRisk(p, [0.12, 0.14, 0.16]);显示(PWGT);
pwgt =4×30.3984 0.2659 0.1416 0.3064 0.3791 0.4474 0.0882 0.1010 0.1131 0.2071 0.2540 0.2979

获取有针对性投资组合风险的有效投资组合,estismsFrontierByRisk.函数接受一个或多个目标投资组合风险,并获得具有特定风险的有效投资组合。假设你有四种资产,你希望获得有效的投资组合,目标投资组合风险分别为12%、20%和30%。

m = [0.05;0.1;0.12;0.18);C = [0.0064 0.00408 0.00192 0;0.0040 0.0289 0.0204 0.0119;0.00192 0.0204 0.0576 0.0336;0 0.0119 0.0336 0.1225];rng (11);p = PortfolioCVaR; p = simulateNormalScenariosByMoments(p, m, C, 2000); p = setDefaultConstraints(p); p = setProbabilityLevel(p, 0.95); pwgt = estimateFrontierByRisk(p, [0.12, 0.20, 0.30]); display(pwgt);
pwgt =4×30.5363 0.1387 0 0.2655 0.4991 0.3830 0.0570 0.1239 0.1461 0.1412 0.2382 0.4709

这个函数rng S. E. E. D. )重置随机数生成器以产生记录的结果。没有必要重置随机数生成器以模拟场景。

获取有针对性投资组合风险的有效投资组合,estismsFrontierByRisk.函数接受一个或多个目标投资组合风险,并获得具有特定风险的有效投资组合。假设您拥有四个资产的宇宙,您希望获得具有12%,20%和25%的目标产品组合风险的高效投资组合。此示例使用默认值“直接”具有目标投资组合风险的最优投资组合估计方法。

m = [0.05;0.1;0.12;0.18);C = [0.0064 0.00408 0.00192 0;0.0040 0.0289 0.0204 0.0119;0.00192 0.0204 0.0576 0.0336;0 0.0119 0.0336 0.1225];rng (11);p = portfoliomad; p = simulateNormalScenariosByMoments(p, m, C, 2000); p = setDefaultConstraints(p); pwgt = estimateFrontierByRisk(p, [0.12, 0.20, 0.25]); display(pwgt);
pwgt =4×30.1610 0 0 0.4784 0.2137 0.2137 0.0047 0.1116 0.1384 0.1200 0.2490 0.6480 0.8753

这个函数rng S. E. E. D. )重置随机数生成器以产生记录的结果。没有必要重置随机数生成器以模拟场景。

获取有针对性投资组合风险的有效投资组合,estismsFrontierByRisk.函数接受一个或多个目标投资组合风险,并获得具有特定风险的有效投资组合。假设您拥有四个资产的宇宙,您希望获得具有12%,20%和25%的目标产品组合风险的高效投资组合。此示例使用默认值“直接”具有目标投资组合风险的最优投资组合估计方法。这“直接”方法使用粉刺要解决最大化产品组合返回的优化问题,但符合目标风险作为二次非线性约束。setSolver指定S.olvertype.leveroptions.为了粉刺

m = [0.05;0.1;0.12;0.18);C = [0.0064 0.00408 0.00192 0;0.0040 0.0289 0.0204 0.0119;0.00192 0.0204 0.0576 0.0336;0 0.0119 0.0336 0.1225];rng (11);p = portfoliomad; p = simulateNormalScenariosByMoments(p, m, C, 2000); p = setDefaultConstraints(p); p = setSolver(p,“fmincon”“显示”'离开''算法''SQP'......'specifyobjectivegrient',真的,“SpecifyConstraintGradient”,真的,......'约束专利',1.0e-8,'OptimalalcaltalTolerance',1.0e-8,'steptolerance'1.0 e-8);plotFrontier (p);

PWGT = estmateFrontierByRyrisk(P,[0.12 0.20,0.25]);显示(PWGT);
pwgt =4×30.1613 0 0.0000 0.4777 0.2139 0.2139 0.0037 0.1118 0.1381 0.1214 0.2492 0.6480 0.8749

输入参数

全部收缩

对对象的投资组合,指定使用文件夹portfoliocvar., 或者Portfoliomad.对象。有关创建投资组合对象的更多信息,请参见

笔记

如果未指定初始投资组合obj.initport.,假设是0.以便pbuy = max(0,pwgt)psell = max(0,-pwgt)。有关设置初始投资组合的详细信息,请参阅setInitport.

数据类型:目的

投资组合风险的目标值,指定为a号码向量。

笔记

如果有的话TargetRisk值超出了有效投资组合的风险范围,取代了目标风险的最小或最高的投资组合风险,具体取决于目标风险是否低于或高于有效的投资组合风险范围。

数据类型:双倍的

名称值对参数

指定可选的逗号分离对名称,价值论点。姓名是参数名称和价值是对应的值。姓名必须出现在引号内。您可以以任何顺序指定多个名称和值对参数Name1, Value1,…,的家

例子:[pwgt, pbuy psell] = estimateFrontierByRisk (p,“方法”,“直接”)

用风险估计边界的方法文件夹Portfoliomad.指定为逗号分隔对的对象组成'方法'和一个字符向量,其中一个值之一:

数据类型:char

输出参数

全部收缩

具有指定目标返回的高效边界的最佳投资组合TargetRisk,回归numassets.-经过-号码矩阵。PWGT.返回一个文件夹portfoliocvar., 或者Portfoliomad.输入对象(obj.)。

购买相对于初始投资组合以获得高效前沿的最佳投资组合,返回numassets.-经过-号码矩阵。

笔记

如果未指定初始投资组合obj.initport.,假设价值是0.这样pbuy = max(0,pwgt)psell = max(0,-pwgt)

pbuy返回一个文件夹portfoliocvar., 或者Portfoliomad.输入对象(obj.)。

销售相对于初始投资组合,以获得高效前沿的最佳投资组合,返回ASnumassets.-经过-号码矩阵。

笔记

如果未指定初始投资组合obj.initport.,假设价值是0.这样pbuy = max(0,pwgt)psell = max(0,-pwgt)

psell被退回文件夹portfoliocvar., 或者Portfoliomad.输入对象(obj.)。

尖端

您还可以使用DOT表示法估计具有目标产品组合风险的最佳组合。

[PWGT,PBUY,PSELL] = obj.ESTITATEFRNTIERBYRISK(TargetRISK);

[PWGT,PBUY,PSELL] = obj.ESTITIATIONFRNONTBYRISK(TargetRisk,Name,Value);

在R2011A介绍