估计估计

评估有效的投资组合以最大化投资组合对象的夏普比率

描述

例子

pwgtpbuypsell) = estimateMaxSharpeRatio (obj估计有效的组合,以最大化锐利比率文件夹目的。有关工作流程的详细信息,请参阅投资组合对象工作流程

例子

pwgtpbuypsell) = estimateMaxSharpeRatio (___名称,值添加可选的名称值对参数。

例子

全部折叠

估计最大化锐利比率的有效投资组合。的估计估计函数使有效边界上的投资组合夏普比率最大化。本例使用默认值“直接”估计最大夏普比率的方法。有关的更多信息直接'方法,见算法

p =组合(“AssetMean”,[0.3,0.1,0.5],'Assetcovar'......[0.01,-0.010,0.004;-0.010,0.040,-0.002;0.004,-0.002,0.023]);p = setDefaultConstraints (p);PlotFrontier(第20页);权重=估计素描(P);[风险,RET] = estIbalPortmoments(P,重量);抓住情节(风险,RET,'* r');

估计最大化锐利比率的有效投资组合。的估计估计函数使有效边界上的投资组合夏普比率最大化。此示例使用“直接”方法一文件夹目的 (p)不指定跟踪错误,并且仅使用线性约束。的塞洛弗函数用于控制索尔弗蒂SolverOptions.在这种情况下,索尔弗蒂Quadprog..有关的更多信息“直接”方法,参见算法

p =组合(“AssetMean”,[0.3,0.1,0.5],'Assetcovar'......[0.01,-0.010,0.004;-0.010,0.040,-0.002;0.004,-0.002,0.023]);p = setDefaultConstraints (p);PlotFrontier(第20页);p = seterolver(p,“quadprog”'展示''离开'“ConstraintTolerance”,1.0e-8,“OptimalityTolerance”,1.0e-8,'steptolerance',1.0e-8,“MaxIterations”,10000);权重=估计素描(P);[风险,RET] = estIbalPortmoments(P,重量);抓住情节(风险,RET,'* r');

估计最大化锐利比率的有效投资组合。的估计估计函数使有效边界上的投资组合夏普比率最大化。此示例使用“直接”方法一文件夹目的 (p),指定跟踪误差使用非线性约束。的塞洛弗函数用于控制索尔弗蒂SolverOptions.在这种情况下粉刺是个索尔弗蒂

p =组合(“AssetMean”,[0.3,0.1,0.5],'Assetcovar'......[0.01,-0.010,0.004;-0.010,0.040,-0.002;0.004,-0.002,0.023],'磅',0,'预算',1);PlotFrontier(第20页);p = seterolver(p,'粉丝''展示''离开''算法''SQP'......'specifyobjectivegrient', 真的,'specifyconstraintgradient', 真的,......“ConstraintTolerance”1.0 e-8“OptimalityTolerance”1.0 e-8'steptolerance',1.0e-8);权重=估计素描(P);te = 0.08;p = setTrackingError(p,te,weighs);[风险,RET] = estIbalPortmoments(P,重量);抓住情节(风险,RET,'* r');

估计估计函数使有效边界上的投资组合夏普比率最大化。在无风险资产组合的情况下,存在多个有效的投资组合,使资本资产线上的夏普比率最大化。因为“直接”'迭代'方法,组合权重(PWGTS.)来自这些方法中的每种方法的输出可能不同,但锐利比率是相同的。此示例演示了该方案的位置PWGTS.是不同的,锐利比率是相同的。

负载BlueChipStockMoments状态= MarketMean;mrsk =√MarketVar);cret = CashMean;crsk =√CashVar);p =组合('assetlist'AssetList,'风险愉快',羊食物品;p = setAssetMoments(P,Assetmean,Assetcovar);p = setinitport(p,1 / p.numassets);[ERER,ERET] = estIbalPortmoments(P,P.Initport);p = setDefaultConstraints (p);PWGT = estmateFrontier(P,20);[PrSK,Pret] = estIbalPortmoments(P,PWGT);pwgtshpr_full = viethatemaxsharperatio(p,'方法'“直接”);[aroundshpr_flice,retshpr_fuld] = estibalportmoments(p,pwgtshpr_flice);q = setBudget(p,0,1);qwgt = estmatefrontier(q,20);[QRSK,QRET] = estIbalportmoments(Q,QWGT);

用切线线绘制有效的边界(01现金)。

pwgtshpr_direct = estimateMaxSharpeRatio (q,'方法'“直接”);pwgtshpr_iter = rightatemaxsharperatio(q,'方法''迭代');[RiskShpr_direet,retshpr_direet] = estIbalportmoments(q,pwgtshpr_direct);[RiskShpr_iter,retshpr_iter] = estIbalportmoments(q,pwgtshpr_iter);CLF;portfolooxamples_plot(“高效的边疆与资本分配线”......'线'如:{'ef'},“- r”,2},......'线',qrsk,qret,{“EF和riskfree”},'-b',1},......'分散',[MRSK,CRSK,ERSK,RiskShpr_fuld,RiskShpr_Diret,Riskshpr_iter],......[MRET,CRET,ERET,RETSHPR_LUPY,RETSHPR_DIRET,RETSHPR_ITER],{'市场'“现金”“平等”“夏普完全投资”“夏普diret”'sharpe iter'}},......'分散', sqrt(diag(p.AssetCovar)), p.AssetMean, p.AssetList,“r”});

当投资组合或换句话说,完全投资的无风险资产时,高效的前沿是弯曲的,对应于上述图中的红线。因此,存在一个唯一的(风险,返回)点,最大化锐利比率,即'迭代'“直接”方法都会找到。如果允许投资组合投资无风险资产,则部分红色高效边线被资本分配行取代,导致具有无风险投资(蓝线)的投资组合的有效前沿。直蓝线上的所有(风险,返回)点共享相同的锐利比率。此外,很可能是'迭代'“直接”方法最终有不同的点,因此有不同的产品组合分配。

创建一个文件夹对象为三个资产。

AssetMean = [0.0101110;0.0043532;0.0137058);资产价值= [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与半连续约束集xi.0或者0.02<=xi.<=0.5对所有人1,......NumAssets

p = setBounds(p,0.02,0.5,'Fundype'“条件”'numasset'3);

当与一个文件夹对象,呢setminmaxnumassets.功能使您可以为长期组合设置基数限制。这集合了基数限制文件夹对象,其中满足非零半连续约束的分配资产总数介于MinNumAssetsmaxnumassets..通过设置MinNumAssetsmaxnumassets.= 2时,三种资产中只有两种被投资到组合中。

p = setMinMaxNumAssets(p, 2, 2);

使用估计估计估算有效的投资组合,以最大化锐利比率。

权重=估计(p,'方法''迭代'
重量=3×10.0000 0.5000 0.5000

估计估计功能使用MINLP求解器来解决此问题。使用setsolverminlp.配置配置索尔弗蒂和选项。

p.solverOptionsMINLP
ans =结构体字段:MaxIltations:1000 Absolutegapolerance:1.0000E-07非线性导致物质:1.0000E-05 NonlinearScalingFactor:1000 objectiveScalingFactor:1000显示:'Off'Cutgeneration:'Basic'MaxIrlationSinaCtiveCut:30 ActiveCuttolerance:1.0000E-07 Intmastersolveroptions:[1x1 Optim.Options.Intlinprog]NumiterationseArlyinteConvergence:30

输入参数

全部折叠

对象,使用文件夹目的。

请注意

无风险率是从物业获得的风险在投资组合对象中。如果你离开了风险未命中,假设是0.如果投资组合的最大返回小于风险,解决方案被设置为pwgt在最大返回时,结果的锐利比率将为负。

有关创建投资组合对象的详细信息,请参阅

数据类型:对象

名称-值对的观点

指定可选的逗号分隔对名称,值论点。名称参数名和价值是相应的价值。名称必须出现在引号内。您可以按如下顺序指定几个名称和值对参数name1,value1,...,namen,valuen

例子:[PWGT,PBUY,PSELL] =估计夏季(P,'方法','迭代')

估计锐利比率的方法,指定为逗号分隔的配对'方法'和一个字符向量,其中一个值之一:

请注意

如果你正在使用估计估计与A.文件夹对象,具有半连续和基数约束setBoundssetminmaxnumassets.,你只能使用'迭代'方法。

数据类型:char

输出参数

全部折叠

高效前沿的投资组合,最大锐利比率,作为一个NumAssets向量。

在最高夏普比的高效前沿上的投资组合的初始投资组合购买,返回为一个NumAssets向量。

pbuy回来了文件夹输入对象(obj).

销售相对于具有最大夏普比率的高效前沿的投资组合的初始投资组合,返回为aNumAssets向量。

psell回来了文件夹输入对象(obj).

更多关于

全部折叠

锐利比例

锐利比率是投资组合返回的平均值与无风险速率之间的差异与投资组合返回的标准偏差。

estimateMaxSharpeRation函数使有效边界上的投资组合夏普比率最大化。

尖端

您还可以使用DOT表示法来估计最大化夏普比的有效产品组合。

[PWGT,PBUY,PSELL] = obj.estimatemaxsharperatio;

算法

夏普比的最大化通过使用来实现“直接”或者'迭代'方法。为了“直接”方法,请考虑以下场景。最大化夏普比率的方法是:

一个 x z e μ. T x - r f x T C x 年代 t σ. x 1 0 ≤. x ≤. 1

在哪里μ.C是均值和协方差矩阵,以及rf是无风险率。

如果μ.Tx-rf所有≤0x最大化锐利比率的投资组合是最大返回的比例。

如果μ.Tx-rf> 0,让 t 1 μ. T x - r f

ytx(Cornuejols[1]节8.2)。然后经过一些替换,我们可以把原来的问题变成如下形式,

n z e y T C y 年代 t σ. y t t > 0 0 ≤. y ≤. T, μ. T y - r f t 1。

只需要解决一个优化,因此名称“直接”。可以恢复产品组合权重xy/t

为了'迭代'方法,该想法是迭代地探索有效前沿的不同返回电平的投资组合,并定位具有最大锐利比的返回量。因此,在过程中解决了多种优化问题,而不是仅在其中一个“直接”方法。因此,'迭代'方法缓慢相比“直接”方法。

参考

[1] Cornuejols, G.和Reha Tütüncü。金融优化方法。剑桥大学出版社,2007年。

介绍了R2011b