主要内容

estimatePortRisk

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

描述

例子

prsk= estimatePortRisk (obj,pwgt)估计投资组合风险根据风险代理与相应的对象(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功能使您能够设置基数约束的多头组合。这集的基数约束投资组合对象,分配资产总数满足之间的非零半连续约束MinNumAssetsMaxNumAssets。通过设置MinNumAssets=MaxNumAssets= 2,只有两三个资产投资组合。

p = setMinMaxNumAssets (p, 2 2);

使用estimatePortRisk估计投资组合风险根据风险代理联系在一起投资组合对象。

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

estimatePortRisk函数使用的适应解决来解决这个问题。使用setSolverMINLP功能配置SolverType和选项。

p.solverOptionsMINLP
ans =结构体字段:MaxIterations: 1000 AbsoluteGapTolerance: 1.0000 e-07 RelativeGapTolerance: 1.0000 e-05 NonlinearScalingFactor: 1000 ObjectiveScalingFactor: 1000显示:“关闭”CutGeneration:“基本”MaxIterationsInactiveCut: 30 ActiveCutTolerance: 1.0000 e-07 IntMainSolverOptions: [1 x1 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