estimatePortMoments
估算portfolio对象的投资组合收益矩
描述
例子
为投资组合对象识别有效投资组合的风险和收益范围
考虑到投资组合p
,使用estimatePortMoments
函数显示有效投资组合的风险和收益范围。
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, pret] = estimatePortMoments(p, pwgt); disp([prsk, pret]);
0.0769 0.0590 0.3500 0.1800
确定有效投资组合的风险和收益范围投资组合
具有完整性约束的对象
创建一个投资组合
对象用于三个资产。
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
有半连续的约束条件西=0
或0.02
< =西
< =0.5
对所有我=1
,……NumAssets。
p = setBounds(p, 0.02, 0.5,“BoundType”,“条件”,“NumAssets”3);
当与投资组合
对象,setMinMaxNumAssets
函数使您能够为只做多头的投资组合设置基数约束。对象的基数约束投资组合
对象,其中满足非零半连续约束的已分配资产的总数介于MinNumAssets
而且MaxNumAssets
.通过设置MinNumAssets
=MaxNumAssets
=2时,三种资产中只有两种被投资到投资组合中。
p = setMinMaxNumAssets(p, 2,2);
使用estimatePortMoments
估计投资组合收益的时刻投资组合
对象。
pwgt = estimateFrontierLimits(p);[prsk, pret] = estimatePortMoments(p, pwgt)
prsk =2×10.0324 - 0.0695
成衣的=2×10.0072 - 0.0119
的estimatePortMoments
函数使用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
为目标风险水平计算投资组合权重
的投资组合
对象能够找到一个相对于指定目标风险的有效投资组合。
荷载组合
加载30只股票的预期收益向量和协方差矩阵。
负载StockStats
创建投资组合
带有默认约束的对象
的默认约束投资组合
对象是它是一个只做多的投资组合,并且100%投资。还有许多其他的约束类型。
P =投资组合(“的意思是”遇到,“柯伐合金”, expCov);P = setDefaultConstraints(P);
规划高效边界
使用plotFrontier
函数投资组合
对象来可视化整个边界。还有一些功能允许您沿着边界探索特定的投资组合。
P.plotFrontier
捕捉投资组合风险和收益的上下限
知道沿有效边界的组合矩的上下限是很有用的。这些信息使您可以确定什么是可行的目标。使用estimateFrontierLimits
函数投资组合
对象来识别这些极端情况下的权值。然后你可以使用estimatePortMoments
函数投资组合
对象求极限矩。
P_Weights1 = P.estimateFrontierLimits;[P_risklimits, P_returnlimits] = P.estimatePortMoments(P_Weights1)
P_risklimits =2×10.0786 - 0.2868
P_returnlimits =2×10.0954 - 0.2370
评估具有目标收益的有效投资组合
在可行区域内为投资组合选择一个目标收益。你可以用estimateFrontierByRisk
然后确认它的朋友圈使用estimatePortMoments
.
targetReturn = 0.15;P_Weights2 = P.estimateFrontierByReturn(targetReturn);[p_risk, P_return2] = P.estimatePortMoments(P_Weights2)
P_risk2 = 0.1068
P_return2 = 0.1500
返回匹配targetReturn
价值与风险符合有效边界图。
评估具有目标风险的有效投资组合
的投资组合
对象能够找到具有指定目标风险的有效投资组合。
targetRisk = 0.2;P_Weights3 = p.p estimatefrontierbyrisk (targetRisk);[P_risk3, P_return3] = P.estimatePortMoments(P_Weights3)
P_risk3 = 0.2000
P_return3 = 0.2182
的另一个有用的特性estimateFrontierByReturn
而且estimateFrontierByRisk
函数是当你指定一个不可行(过高或过低)的目标时所发生的事情。在本例中,这些函数提供一条警告消息,以建议最佳解决方案。
输入参数
输出参数
提示
你也可以用点表示法来估计投资组合收益的时刻。
[prsk, pret] = obj.estimatePortMoments(pwgt);
版本历史
Matlab명령
다음matlab명령에해당하는링크를클릭했습니다。
명령을실행하려면matlab명령창에입력하십시오。웹브라우저는matlab명령을지원하지않습니다。
您也可以从以下列表中选择网站:
如何获得最佳的网站性能
选择中国网站(中文或英文)以获得最佳的网站表现。其他MathWorks国家网站没有针对从您的位置访问进行优化。