文档帮助中心文档
投资组合
BoundType
MinNumAsset
MaxNumAsset
估计有效边界端点的最优投资组合
[pwgt, pbuy psell] = estimateFrontierLimits (obj)
[pwgt, pbuy psell] = estimateFrontierLimits (obj,选择)
例子
[pwgt,pbuy,psell) = estimateFrontierLimits (obj)的有效边界端点估计最优投资组合投资组合,PortfolioCVaR,或PortfolioMAD对象。有关使用这些不同对象时各自工作流程的详细信息,请参见组合对象的工作流,PortfolioCVaR对象的工作流,PortfolioMAD对象的工作流.
[pwgt,pbuy,psell) = estimateFrontierLimits (obj)
pwgt
pbuy
psell
obj
PortfolioCVaR
PortfolioMAD
[pwgt,pbuy,psell) = estimateFrontierLimits (obj,选择)在有效边界的端点估计最优投资组合,并为选择论点。
[pwgt,pbuy,psell) = estimateFrontierLimits (obj,选择)
选择
全部折叠
考虑到投资组合p,estimateFrontierLimits函数获取端点组合。
p
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 =投资组合;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
当任何一个,或约束的任何组合有条件的BoundType,MinNumAssets,MaxNumAssets时,将投资组合问题表述为混合整数规划问题,并使用MINLP求解器。
有条件的
MinNumAssets
MaxNumAssets
创建一个投资组合对象的三个资产。
资产均值= [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.
setBounds
0
0.02
西
0.5
1
NumAssets
p = setBounds(p, 0.02, 0.7,“BoundType”,“条件”,“NumAssets”3);
当与一个投资组合对象,setMinMaxNumAssets函数使您能够设置投资的资产数量(称为基数)约束的限制。这设置了满足Bound约束的已分配资产的总数MinNumAssets和MaxNumAssets.通过设置MinNumAssets=MaxNumAssets= 2,三种资产中只有两种被投资在投资组合中。
setMinMaxNumAssets
p = setMinMaxNumAssets(p, 2,2);
使用estimateFrontierLimits估计有效边界端点处的最优投资组合。
[pwgt, pbuy, psell] = estimateFrontierLimits(p,“两个”)
pwgt =3×20.3000 0.3000 0.7000 00 0.7000
pbuy =3×20.3000 0.3000 0.7000 00 0.7000
psell =3×20 0 0 0 0
的estimateFrontierLimits函数使用MINLP求解器来解决这个问题。使用setSolverMINLP命令功能SolverType和选项。
setSolverMINLP
SolverType
p.solverTypeMINLP
ans = ' OuterApproximation '
p.solverOptionsMINLP
ans =结构体字段:MaxIterations: 1000 AbsoluteGapTolerance: 1.0000e-07 RelativeGapTolerance: 1.0000e-05 NonlinearScalingFactor: 1000 ObjectiveScalingFactor: 1000 Display: 'off' CutGeneration: 'basic' MaxIterationsInactiveCut: 30 activecutttolerance: 1.0000e-07 IntMasterSolverOptions: [1x1优化。选项。Intlinprog] NumIterationsEarlyIntegerConvergence: 30
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); disp(pwgt);
0.8451 0 0.0613 0 0.0451 0 0.0485 1.0000
这个函数rng( 年代 e e d )重置随机数生成器以产生记录的结果。没有必要重新设置随机数生成器来模拟场景。
rng
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); disp(pwgt);
0.8817 0 0.0431 0 0.0387 0 0.0366 1.0000
对象的组合,指定使用投资组合,PortfolioCVaR,或PortfolioMAD对象。有关创建组合对象的更多信息,请参见
数据类型:对象
对象
[]
“两个”
“最小值”
“马克斯”
(可选)在有效边界的极端处获得的投资组合指标,指定为具有值的字符向量“两个”或“两个”,“最小值”或“最小值”,或“马克斯”或“马克斯”.a的选项选择行动:
[]-计算最小风险和最大回报的投资组合。
“两个”或“两个”-计算最小风险和最大回报的投资组合。
“最小值”或“最小值”-只计算最小风险投资组合。
“马克斯”或“马克斯”-只计算最大回报投资组合。
数据类型:字符|字符串
字符
字符串
有效边界端点处的最优投资组合TargetReturn,返回为NumAssets——- - - - - -NumPorts矩阵。pwgt返回一个投资组合,PortfolioCVaR,或PortfolioMAD输入对象(obj).
TargetReturn
NumPorts
在有效边界端点的最优投资组合相对于初始投资组合的购买,返回为NumAssets——- - - - - -NumPorts矩阵。
请注意
如果没有指定初始投资组合obj。InitPort,该值被假定为0这样Pbuy = max(0, pwgt)和Psell = max(0, -pwgt).
obj。InitPort
Pbuy = max(0, pwgt)
Psell = max(0, -pwgt)
pbuy返回一个投资组合,PortfolioCVaR,或PortfolioMAD输入对象(obj).
在有效边界上的最优投资组合相对于初始投资组合的销售额,回报为aNumAssets——- - - - - -NumPorts矩阵。
psell返回的投资组合,PortfolioCVaR,或PortfolioMAD输入对象(obj).
你也可以用点符号来估计有效边界端点的最优投资组合。
[pwgt, pbuy, psell] = obj.estimateFrontierLimits(Choice);
estimateFrontier|estimateFrontierByReturn|estimateFrontierByRisk|rng|setBounds|setMinMaxNumAssets
estimateFrontier
estimateFrontierByReturn
estimateFrontierByRisk
您有这个示例的修改版本。您想打开这个示例与您的编辑吗?
你点击一个链接对应于这个MATLAB命令:
通过在MATLAB命令窗口中输入命令来运行命令。Web浏览器不支持MATLAB命令。万博1manbetx
选择一个网站,在那里获得翻译的内容,并看到当地的活动和优惠。根据您的位置,我们建议您选择:.
你也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。
与当地办事处联系