解决产品组合优化时portfoliocvar.
对象,您正在解决具有非线性目标或非线性约束的非线性优化问题。你可以用'信任区域cp'
(默认),'ExtendedCP'
, 或者'切割平面'
实现Kelley的割平面方法的解算器(参见Kelley[45]第投资组合优化)。或者,您可以使用粉刺
所有的变化粉刺
从优化工具箱™ 支持。使用时金宝app粉刺
作为解算器类型
那“sqp”
是的默认算法粉刺
。
'信任区域cp'
那'ExtendedCP'
,和'切割平面'
levertypes.这'信任区域cp'
那'ExtendedCP'
,和'切割平面'
求解器具有控制数字迭代和停止公差的选项。而且,这些溶剂使用线性规划问题
作为主求解器,所有线性规划问题
使用选项金宝app优化选择
结构。所有这些选项都使用设置溶剂
。
例如,您可以使用设置溶剂
增加迭代次数'信任区域cp'
:
p=组合变量;p=设置溶剂(p,'信任区域cp'那'maxtations',2000);显示(p.solvertype)显示(p.solveroptions)
TRUSTREGIONCP MAXITERATIONS:2000 Absolutegapolerance:1.0000E-07相对凝视:1.0000E-05非线性部件:1000 orderSolveroftor:1000 MasterSolverOptions:[1×1 Optim.Options.linprog]显示:'关闭'Cutgeneration:'Basic'MaxIrtationSinActiveCeCut:1.0000 ActiveCuttolerance:1.0000E-07 Shrinkratio:0.7500史史术(TrustrigonStartInteration:2 Deltalimit:1
更改主求解器算法'内部点'
,没有显示,使用设置溶剂
修改'主解决方案'
:
p = portfoliocvar;选项= Optimoptions('linprog'那'算法'那'内部点'那'显示'那'关闭'); p=设置溶剂(p,'信任区域cp'那'主解决方案',选项);显示(p.solverType)显示(p.solverOptions)显示(p.solverOptions.MasterSolverOptions.Algorithm)显示(p.solverOptions.MasterSolverOptions.display)
trustregioncp MaxIterations:1000绝对公差:1.0000e-07相对公差:1.0000e-05非线性比例因子:1000目标比例因子:1000主解决方案选项:[1×1 optim.options.Linprog]显示:“关闭”剪切生成:“基本”MaxIterationInactiveCut:30活动剪切公差:1.0000e-07收缩率:0.7500TrustRegionStartIteration:2 DeltLimit:关闭1个内部点
'fmincon'公司
解算器类型不像优化工具箱使用内部点
算法作为的默认算法粉刺
一类投资组合优化问题portfoliocvar.
对象使用sqp公司
算法。有关的详细信息粉刺
以及约束非线性优化算法和选项,请参见约束非线性优化算法。
修改粉刺
CVaR投资组合优化选项,使用设置溶剂
设置隐藏属性解算器类型
和leveroptions.
指定和控制解算器(请注意,您可以通过创建虚拟对象来查看默认选项portfoliocvar.
对象,使用p = portfoliocvar.
然后键入P.Solveroptions.
。)由于隐藏了这些求解器属性,因此您无法使用该求解器portfoliocvar.
对象。的默认值粉刺
求解器是使用sqp公司
算法目标函数,梯度打开,没有显示输出,所以您不需要使用设置溶剂
指定sqp公司
算法。
p=组合变量;p=设置溶剂(p,'fmincon'公司);显示(P.SolverOptions)
fmincon options:当前算法('sqp')使用的选项:(其他可用算法:'active set'、'interior point'、'sqp legacy',“trust region reflective”)设置属性:算法:“sqp”约束公差:1.0000e-08显示:“off”优化公差:1.0000e-08指定约束公差:1指定目标公差:1步长公差:1.0000e-08默认属性:CheckGradients:0 FiniteDifferenceStepSize:“sqrt(eps)”FiniteDifferenceType:“forward”MaxFunctionEvaluations:'100*numberOfVariables'最大迭代次数:400 ObjectiveLimit:-1.0000e+20 OutputFcn:[]PlotFcn:[]ScaleProblem:0 TypicalX:'ones(numberOfVariables,1)'UseParallel:0
如果要指定与之关联的其他选项粉刺
求解器,设置溶剂
接受这些选项作为名称 - 值对参数。例如,如果要使用粉刺
与'活动集'
在没有显示输出的情况下,使用设置溶剂
和:
p=组合变量;p=设置溶剂(p,'fmincon'公司那'算法'那'活动集'那'显示'那'关闭'); 显示(p.solverOptions.Algorithm)显示(p.solverOptions.display)
主动抵销
或者,设置溶剂
接受A.优化选择
Optimization工具箱中的对象作为第二个参数。例如,您可以将算法更改为'信任区域'
没有显示的输出,如下所示:
p = portfoliocvar;选项= Optimoptions('fmincon'公司那'算法'那'信任区域'那'显示'那'关闭'); p=设置溶剂(p,'fmincon'公司,选项);显示(p.solverOptions.Algorithm)显示(p.solverOptions.display)
信任区域 - 反思
混合整数非线性规划(MINLP)求解器,使用setsolverminlp.
,使您可以指定用于组合优化的关联求解器选项portfoliocvar.
对象。MINLP解算器用于'条件'
边界类型
那minnumassets.
, 或者maxnumassets.
约束是活动的。在这种情况下,通过添加制定组合问题numassets.
二进制变量,在哪里0.
表明未投入,而且1
投资。有关使用的详细信息'条件'
边界类型
, 看setBound.
. 有关指定的详细信息minnumassets.
和maxnumassets.
, 看setMinMaxNumAssets集
。
使用时估计
具有portfoliocvar.
对象在哪里'条件'
边界类型
那minnumassets.
, 或者maxnumassets.
当约束被激活时,自动使用混合整数非线性规划(MINLP)求解器。
下表提供了使用指南设置溶剂
和setsolverminlp.
。
portfoliocvar问题 | portfoliocvar功能 | 优化问题的类型 | 主求解器 | 帮手求解器 |
---|---|---|---|---|
没有活跃的portfoliocvar'条件' 边界类型 那minnumassets. ,和maxnumassets. |
估计前沿风险 |
优化某些风险级别的投资组合引入了非线性约束。因此,该问题具有线性物镜,具有线性和非线性约束。 | '信任区域cp' 那'ExtendedCP' 那'fmincon'公司 , 或者'切割平面' 使用设置溶剂 |
|
没有活跃的portfoliocvar'条件' 边界类型 那minnumassets. ,和maxnumassets. |
estismsfrontierbyreturn. |
具有线性约束的非线性目标 | '信任区域cp' 那'ExtendedCP' 那'fmincon'公司 , 或者'切割平面' 使用设置溶剂 |
|
没有活跃的portfoliocvar'条件' 边界类型 那minnumassets. ,和maxnumassets. |
估计前沿限制 |
具有线性约束的非线性或线性目标 |
为了 为了 |
不适用 |
portfoliocvar与活跃'条件' 边界类型 那minnumassets. ,和maxnumassets. |
估计前沿风险 |
问题是通过介绍制定的numassets. 二进制变量,用于指示相应的资产是否被投资。因此,它需要一个混合整数非线性规划求解器。提供了三种类型的MINLP解算器,请参见setsolverminlp. 。 |
混合整数非线性编程求解器(MINLP)使用setsolverminlp. |
'fmincon'公司 使用时使用估计 函数将问题简化为NLP。此解算器通过设置溶剂 。 |
portfoliocvar与活跃'条件' 边界类型 那minnumassets. ,和maxnumassets. |
estismsfrontierbyreturn. |
问题是通过介绍制定的numassets. 二进制变量,用于指示相应的资产是否被投资。因此,它需要一个混合整数非线性规划求解器。提供了三种类型的MINLP解算器,请参见setsolverminlp. 。 |
混合整数非线性编程求解器(MINLP)使用setsolverminlp. |
'fmincon'公司 使用时使用估计 函数将问题简化为NLP。此解算器通过设置溶剂 |
portfoliocvar与活跃'条件' 边界类型 那minnumassets. ,和maxnumassets. |
估计前沿限制 |
问题是通过介绍制定的numassets. 二进制变量,用于指示相应的资产是否被投资。因此,它需要一个混合整数非线性规划求解器。提供了三种类型的MINLP解算器,请参见setsolverminlp. 。 |
混合整数非线性编程求解器(MINLP)使用setsolverminlp. |
'fmincon'公司 使用时使用估计 函数将问题简化为NLP。此解算器通过设置溶剂 |
estismsfrontier.
|estismsfrontierbyreturn.
|估计前沿风险
|估计前沿风险
|估计前沿限制
|预计回报
|estibalportrisk.
|portfoliocvar.
|设置溶剂
|setsolverminlp.