主要内容

estimatePortRisk

根据与对应对象相关联的风险代理估计投资组合风险

描述

例子

prsk= estimatePortRisk (objpwgt根据与相应对象相关联的风险代理来估计投资组合风险(obj)投资组合PortfolioCVaR,或PortfolioMAD对象。有关使用这些不同对象时各自工作流的详细信息,请参见组合对象的工作流PortfolioCVaR对象的工作流,PortfolioMAD对象的工作流

例子

全部折叠

考虑到投资组合p,可以使用estimatePortRisk中每个投资组合收益的标准差函数pwgt

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 =投资组合;p = setAssetMoments(p, m, C); p = setDefaultConstraints(p); pwgt = estimateFrontierLimits(p); prsk = estimatePortRisk(p, pwgt); disp(prsk)
0.0769 - 0.3500

创建一个投资组合对象用于三个资产。

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”, AssetCovar);p = setDefaultConstraints (p);

使用setBounds有半连续的约束条件西00.02< =西< =0.5对所有1,...NumAssets。

p = setBounds(p, 0.02, 0.5,“BoundType”“条件”“NumAssets”3);

当与投资组合对象,setMinMaxNumAssets函数使您能够为只做多头的投资组合设置基数约束。对象的基数约束投资组合对象,其中满足非零半连续约束的已分配资产的总数介于MinNumAssets而且MaxNumAssets.通过设置MinNumAssetsMaxNumAssets=2时,三种资产中只有两种被投资到投资组合中。

p = setMinMaxNumAssets(p, 2,2);

使用estimatePortRisk根据与a相关的风险代理来估计投资组合的风险投资组合对象。

pwgt = estimateFrontierLimits (p);prsk = estimatePortRisk(p, pwgt)
prsk =2×10.0324 - 0.0695

estimatePortRisk函数使用MINLP求解器来解决这个问题。使用setSolverMINLP命令,配置SolverType和选项。

p.solverOptionsMINLP
ans =结构体字段:maxiteration: 1000 AbsoluteGapTolerance: 1.0000e-07 RelativeGapTolerance: 1.0000e-05 NonlinearScalingFactor: 1000 ObjectiveScalingFactor: 1000 Display: 'off' CutGeneration: 'basic' maxiterationsinactivcut: 30 activecutttolerance: 1.0000e-07 IntMasterSolverOptions: [1x1 optim.options.]Intlinprog] NumIterationsEarlyIntegerConvergence: 30

给定一个投资组合pwgt,可以使用estimatePortRisk函数表示每个投资组合收益的条件风险价值(CVaR)。

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];m = m / 12;C = C / 12; rng(11); AssetScenarios = mvnrnd(m, C, 20000); p = PortfolioCVaR; p = setScenarios(p, AssetScenarios); p = setDefaultConstraints(p); p = setProbabilityLevel(p, 0.95); pwgt = estimateFrontierLimits(p); prsk = estimatePortRisk(p, pwgt); disp(prsk)
0.0407 - 0.1911

这个函数rng 年代 e e d )重置随机数生成器以产生记录的结果。不需要重置随机数生成器来模拟场景。

给定一个投资组合pwgt,可以使用estimatePortRisk函数表示每个投资组合收益的平均-绝对偏差。

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];m = m / 12;C = C / 12; rng(11); AssetScenarios = mvnrnd(m, C, 20000); p = PortfolioMAD; p = setScenarios(p, AssetScenarios); p = setDefaultConstraints(p); pwgt = estimateFrontierLimits(p); prsk = estimatePortRisk(p, pwgt); disp(prsk)
0.0177 - 0.0809

这个函数rng 年代 e e d )重置随机数生成器以产生记录的结果。不需要重置随机数生成器来模拟场景。

输入参数

全部折叠

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

数据类型:对象

组合的集合,指定为NumAssets——- - - - - -NumPorts矩阵,NumAssets宇宙中资产的数量是多少NumPorts是组合集合中的组合数。

数据类型:

输出参数

全部折叠

根据与相应对象相关联的风险代理对投资组合风险的估计(obj)的每个作品集pwgt,作为NumPorts向量。

prsk返回为投资组合PortfolioCVaR,或PortfolioMAD输入对象(obj).

提示

您也可以使用点表示法,根据与相应对象相关联的风险代理来估计投资组合的风险(obj).

prsk = obj.estimatePortRisk (pwgt);

版本历史

介绍了R2011a

Baidu
map