主要内容

投资组合优化示例

的特性投资组合对象在金融工具箱™。具体来说,示例使用投资组合目的是展示如何建立均值-方差投资组合优化问题,重点是双基金定理,交易成本和周转约束的影响,如何获得夏普比率最大化的投资组合,以及如何建立两种流行的对冲基金策略-美元中性和130-30投资组合。

设置数据

每个例子都可以用moments计算30只“蓝筹股”的月总回报。虽然这些数据来源于真实数据,但这些数据仅用于说明目的,并不代表特定资产或市场表现。数据包含在文件中BlueChipStockMoments.mat在变量中使用资产标识符列表AssetList,是变量中资产收益的均值和协方差AssetMean而且AssetCovar,以及变量中现金收益和市场收益的均值和方差CashMeanCashVarMarketMean,MarketVar.由于大多数分析需要使用资产收益的标准差作为风险的代理,现金和市场方差被转换为标准差。

负载BlueChipStockMomentsmret =市场均值;mrsk = sqrt(MarketVar);cret =现金均值;crsk = sqrt(CashVar);

创建一个Portfolio对象

首先创建一个“标准”投资组合对象与投资组合将资产清单、无风险利率和资产收益的时刻纳入对象。

p =投资组合(“AssetList”AssetList,“RiskFreeRate”, CashMean);p = setAssetMoments(p,AssetMean,AssetCovar);

为了提供一个比较的基础,建立一个等权重的投资组合,并使其成为初始投资组合投资组合对象。请记住,以后构建的对冲投资组合将需要不同的初始投资组合。一旦创建了初始投资组合,就可以使用estimatePortMoments函数估计了等权投资组合收益的均值和标准差。

p = setInitPort(p,1/p. numassets);[ersk,eret] = estimatePortMoments(p,p. initport);

一个专门的“助手”函数portfolioexamples_plot可以在这里绘制要开发的所有结果。第一个图表根据收益的均值和标准差显示了个人资产的分布。此外,等权重组合、市场组合和现金组合在同一图表上绘制。注意portfolioexamples_plot函数将月总收益转换为年化总收益。

clf;portfolioexamples_plot (“资产风险与回报”...“散射”, mrsk, mret, {“市场”}},...“散射”, crsk, cret, {“现金”}},...“散射”, ersk, eret, {“平等”}},...“散射”, sqrt(diag(p.AssetCovar)), p.AssetMean, p.AssetList,“r”});

图中包含一个轴。标题为\bfAsset Risks and Returns的轴包含37个散点、文本类型的对象。

设置一个投资组合优化问题

建立一个“标准”或默认的均值-方差投资组合优化问题setDefaultConstraints函数要求完全投资的多头投资组合(非负权重之和必须为1).给出这个初始问题,用函数估计有效边界estimateFrontier而且estimatePortMoments,在那里estimateFrontier估计有效的投资组合和estimatePortMoments评估投资组合的风险和收益。下一张图覆盖了前一张图上的有效边界。

p = setDefaultConstraints(p);pwgt = estimateFrontier(p,20);[prsk,pret] = estimatePortMoments(p,pwgt);绘制有效边界。clf;portfolioexamples_plot (“有效边界”...“行”, prsk, pret},...“散射”, [mrsk, crsk, ersk], [mret, cret, eret], {“市场”“现金”“平等”}},...“散射”, sqrt(diag(p.AssetCovar)), p.AssetMean, p.AssetList,“r”});

图中包含一个轴。标题为\bfEfficient Frontier的轴包含36个类型为line, scatter, text的对象。

说明有效边界的切线

托宾共同基金定理(托宾1958)认为,投资组合配置问题被视为在无风险资产和风险投资组合之间进行配置的决定。在均值-方差框架中,现金作为无风险资产的代表,有效边界上的有效投资组合作为风险投资组合,使得现金与该投资组合之间的任何配置都优于有效边界上的所有其他投资组合。这个投资组合叫做a购买切线投资组合因为它位于有效边界上从无风险资产开始的切线与有效边界相交的点上。

考虑到投资组合对象已具有无风险利率时,通过创建副本获取切线投资组合对象,其预算限制允许在0%到100%之间分配现金。自投资组合对象是值对象,通过赋值其中一个的输出可以很容易地创建一个副本投资组合或将“set”函数设置为一个新的实例投资组合对象。图中显示了有效边界与托宾分配形成了有效边界的切线。

q = setBudget(p, 0,1);qwgt = estimateFrontier(q,20);[qrsk,qret] = estimatePortMoments(q,qwgt);用切线(0到1现金)绘制有效边界。clf;portfolioexamples_plot (“带切线的有效边界”...“行”, prsk, pret},...“行”, qrsk, qret, [], [], 1},...“散射”, [mrsk, crsk, ersk], [mret, cret, eret], {“市场”“现金”“平等”}},...“散射”, sqrt(diag(p.AssetCovar)), p.AssetMean, p.AssetList,“r”});

图中包含一个轴。标题为“bfEfficient Frontier with Tangent Line”的轴包含37个类型为Line、scatter、text的对象。

注意,现金实际上有一个小的风险,所以切线没有经过现金资产。

获取风险和收益范围

为了获得具有风险或收益目标值的有效投资组合,需要在有效边界上得到所有投资组合的风险和收益范围。这是通过estimateFrontierLimits函数。

[rsk,ret] = estimatePortMoments(p,estimateFrontierLimits(p));显示器(rsk)
rsk =2×10.0348 - 0.0903
显示器(ret)
ret =2×10.0094 - 0.0179

投资组合的月回报率范围在0.9%至1.8%之间,投资组合风险范围在3.5%至9.0%之间。按年化计算,投资组合回报率范围为11.2%至21.5%,投资组合风险范围为12.1%至31.3%。

寻找一个有目标收益和目标风险的投资组合

考虑到风险和收益的范围,可以使用函数在有效边界上定位具有收益和风险目标值的特定投资组合estimateFrontierByReturn而且estimateFrontierByRisk

TargetReturn = 0.20;此处输入目标年化收益和风险。TargetRisk = 0.15;获得具有目标收益和风险的投资组合。。awgt = estimateFrontierByReturn(p,TargetReturn/12);[arsk,aret] = estimatePortMoments(p,awgt);bwgt = estimateFrontierByRisk(p,TargetRisk/sqrt(12));[brsk,bret] = estimatePortMoments(p,bwgt);用目标投资组合绘制有效边界。。clf;portfolioexamples_plot (“目标投资组合的有效边界”...“行”, prsk, pret},...“散射”, [mrsk, crsk, ersk], [mret, cret, eret], {“市场”“现金”“平等”}},...“散射”, arsk, aret, {sprintf(% % % g返回的100 * TargetReturn)}},...“散射”, brsk, bret, {sprintf(“% % % g风险”100 * TargetRisk)}},...“散射”, sqrt(diag(p.AssetCovar)), p.AssetMean, p.AssetList,“r”});

图中包含一个轴。标题为“bfEfficient Frontier with Targeted portfolio”的坐标轴包含40个类型为行、散点、文本的对象。

要查看这些目标投资组合的情况,请使用数据集对象来设置包含投资组合权重和资产名称(从投资组合对象)。

aBlotter = dataset({100*awgt(awgt > 0),“重量”},“obsnames”, p.AssetList(awgt > 0));displayPortfolio (sprintf (“目标回报率%g%%的投资组合”, 100*TargetReturn), aBlotter, false);
投资组合,20%的目标回报权重CAT 1.1445 INTC 0.17452 MO 9.6521 MSFT 0.85862 UTX 56.918 WMT 31.253
blotter =数据集({100*bwgt(bwgt > 0),“重量”},“obsnames”, p.AssetList(bwgt > 0));displayPortfolio (sprintf (“具有%g%% %目标风险的投资组合”, 100*TargetRisk), blott, false);
15%目标风险权重BA 3.1996e-22 C 1.8304e-22 DIS 1.6394e-20 GE 4.2564e-21 HD 3.9772e-21 INTC 2.2585 JNJ 9.2162 JPM 2.2817e-21 KO 1.6585e-21 MMM 16.603 MO 15.388 MSFT 4.4467 PG 4.086 UTX 10.281 WMT 25.031 XOM 12.69

交易成本

投资组合对象使得将交易成本作为优化问题的一部分考虑在内成为可能。属性的标量展开特性,尽管可以为每个资产设置单独的成本投资组合Object的功能,在所有资产上设置统一的交易成本,并将有效边界与总与净投资组合回报进行比较。

BuyCost = 0.0020;SellCost = 0.0020;q = setCosts(p,BuyCost,SellCost);qwgt = estimateFrontier(q,20);[qrsk,qret] = estimatePortMoments(q,qwgt);用总收益和净收益绘制有效边界。clf;portfolioexamples_plot (“有或没有交易成本的有效边界”...“行”, prsk, pret, {“毛”},“b”},...“行”, qrsk, qret, {“净”}},...“散射”, [mrsk, crsk, ersk], [mret, cret, eret], {“市场”“现金”“平等”}},...“散射”, sqrt(diag(p.AssetCovar)), p.AssetMean, p.AssetList,“r”});

图中包含一个轴。标题为\bfEfficient Frontier(包含或不包含交易成本)的轴包含37个类型为line、scatter、text的对象。这些对象代表Gross, Net。

营业额约束

除了交易成本之外投资组合对象可以处理周转约束。下面的例子演示了周转约束在可能限制交易的初始投资组合附近产生了一个有效边界。此外,周转限制的引入通常意味着从初始投资组合转移到不受约束的有效边界可能需要多个交易。因此,周转限制引入了一种时间多样化的形式,可以将交易分散到多个时间段。在本例中,请注意从estimateFrontier函数确认周转约束被满足。

BuyCost = 0.0020;SellCost = 0.0020;营业额= 0.2;q = setCosts(p, BuyCost,SellCost);q = setTurnover(q,Turnover);[qwgt,qbuy,qsell] = estimateFrontier(q,20);[qrsk,qret] = estimatePortMoments(q,qwgt);绘制具有周转约束的有效前沿线。clf;portfolioexamples_plot (“具有周转约束的有效边界”...“行”, prsk, pret, {无约束的},“b”},...“行”, qrsk, qret, {sprintf(% % % g营业额的100 *营业额)}},...“散射”, [mrsk, crsk, ersk], [mret, cret, eret], {“市场”“现金”“平等”}},...“散射”, sqrt(diag(p.AssetCovar)), p.AssetMean, p.AssetList,“r”});

图中包含一个轴。标题为“bfEfficient Frontier with Turnover Constraint”的轴包含37个类型为line、scatter、text的对象。这些对象代表无约束,20%的周转率。

displaySumOfTransactions(成交量,qbuy, qsell)
沿有效边界(最大。营业额20%)20.0000 20.0000 20.0000 20.0000 20.0000 20.0000 20.0000 20.0000 20.0000 20.0000 20.0000 20.0000 20.0000 20.0000 20.0000 20.0000 20.0000 20.0000 20.0000 20.0000 20.0000 20.0000 20.0000 20.0000 20.0000 20.0000沿有效边界按投资组合划分的销售总额(最大。营业额20%)20.0000 20.0000 20.0000 20.0000 20.0000 20.0000 20.0000 20.0000 20.0000 20.0000 20.0000 20.0000 20.0000 20.0000 20.0000 20.0000 20.0000 20.0000 20.0000 20.0000 20.0000 20.0000 20.0000 20.0000 20.0000 20.0000 20.0000 20.0000

跟踪误差的约束

投资组合对象可以处理跟踪错误约束,其中跟踪错误是投资组合相对于跟踪投资组合的相对风险。在这个例子中,9个资产的子集合形成了一个同等权重的跟踪投资组合。目标是找到有效的投资组合,其跟踪误差在该跟踪投资组合的5%以内。

Ii = [15, 16, 20, 21, 23, 25, 27, 29, 30];%要包含在跟踪投资组合中的资产指数。TrackingError = 0.05/√(12);TrackingPort = 0 (30,1);TrackingPort(ii) = 1;TrackingPort = (1/sum(TrackingPort))*TrackingPort;q = setTrackingError(p,TrackingError,TrackingPort);qwgt = estimateFrontier(q,20);[qrsk,qret] = estimatePortMoments(q,qwgt);[trsk,tret] = estimatePortMoments(q,TrackingPort);绘制具有跟踪误差约束的有效边界。clf;portfolioexamples_plot (“5%跟踪误差约束的有效边界”...“行”, prsk, pret, {无约束的},“b”},...“行”, qrsk, qret, {“跟踪”}},...“散射”, [mrsk, crsk], [mret, cret], {“市场”“现金”}},...“散射”, trsk, tret, {“跟踪”},“r”});

图中包含一个轴。标题为“bfEfficient Frontier with 5% Tracking-Error Constraint”的轴包含7个对象,类型为line, scatter, text。这些对象代表Unconstrained, Tracking。

结合周转和跟踪误差约束

这个例子说明了组合约束可能发生的交互。在这种情况下,必须同时满足相对于初始等权投资组合的周转约束和相对于跟踪投资组合的跟踪误差约束。周转约束最大周转率为30%,跟踪误差约束最大跟踪误差为5%。请注意,从初始投资组合到跟踪投资组合的周转率为70%,因此30%周转率的上限意味着有效边界将位于初始投资组合和跟踪投资组合之间的某个地方。

营业额= 0.3;InitPort = (1/q. numassets)*ones(q. numassets)NumAssets, 1);Ii = [15, 16, 20, 21, 23, 25, 27, 29, 30];在跟踪投资组合中包含的资产指数。TrackingError = 0.05/√(12);TrackingPort = 0 (30,1);TrackingPort(ii) = 1;TrackingPort = (1/sum(TrackingPort))*TrackingPort;q = setTurnover(q,Turnover,InitPort);qwgt = estimateFrontier(q,20);[qrsk,qret] = estimatePortMoments(q,qwgt);[trsk,tret] = estimatePortMoments(q,TrackingPort);[ersk,eret] = estimatePortMoments(q,InitPort);绘制具有周转率和跟踪误差联合约束的有效前沿线。clf;portfolioexamples_plot (具有周转率和跟踪误差约束的有效边界...“行”, prsk, pret, {无约束的},“b”},...“行”, qrsk, qret, {“人员流动和跟踪”}},...“散射”, [mrsk, crsk], [mret, cret], {“市场”“现金”}},...“散射”, trsk, tret, {“跟踪”},“r”},...“散射”, ersk, eret, {“初始”},“b”});

图中包含一个轴。标题为“bfEfficient Frontier with Turnover and Tracking-Error Constraint”的轴包含9个对象,类型为line, scatter, text。这些对象代表Unconstrained, Turnover和Tracking。

最大化夏普比率

夏普比率(1966年夏普)是衡量风险回报的指标,在投资组合分析中起着重要作用。具体来说,夏普比率最大化的投资组合也是共同基金定理中有效边界上的切线投资组合。夏普比率最大的组合位于具有该函数的有效边界上estimateMaxSharpeRatio数据集对象用于列出此组合中的资产。

p = setInitPort(p, 0);swgt = estimateMaxSharpeRatio(p);[srsk,sret] = estimatePortMoments(p,swgt);画出夏普比率最大的投资组合的有效边界。clf;portfolioexamples_plot (“最大锐率投资组合的有效边界”...“行”, prsk, pret},...“散射”, srsk, sret, {“夏普”}},...“散射”, [mrsk, crsk, ersk], [mret, cret, eret], {“市场”“现金”“平等”}},...“散射”, sqrt(diag(p.AssetCovar)), p.AssetMean, p.AssetList,“r”});

图中包含一个轴。标题为“bfEfficient Frontier with Maximum Sharpe Ratio Portfolio”的轴包含38个类型为行、散点、文本的对象。

设置一个包含最大化夏普比率的投资组合的数据集对象。Blotter =数据集({100*swgt(swgt > 0),“重量”},“obsnames”, AssetList(swgt > 0));displayPortfolio (“最大锐率投资组合”, Blotter,假);
具有最大夏普比率权重的投资组合AA 1.9766e-15 AIG 1.9146e-15 AXP 1.0611e-15 BA 5.6229e-16 C 2.01422e -15 CAT 2.9838e-15 DD 3.1459e-16 DIS 5.9404e -16 GE 5.6384e-15 GM 7.3545e-16 HD 2.0404e-11 HON 3.33545e -16 HON 2.6638 JNJ 9.0044 HPQ 2.0397e-15 IBM 8.9075e-15 INTC 2.6638 JNJ 9.0044 pm 5.4682e -16 KO 2.4684e -16 MCD 8.782e-16 MMM 15.502 MO 13.996 MRK 3.235e-16 MSFT 4.4777 PFE 7.4588 SBC 3.8468e-16 UTX 6.0056 VZ 3.9213e-16 WMT 22.051 XOM 18.841

确认“最大锐率”为“最大值”

下面的图表明,这个投资组合(位于图上的点处)确实使有效边界上所有投资组合中的夏普比率最大化。

psratio = (pret - p.RiskFreeRate) ./ prsk;ssratio = (sret - p.RiskFreeRate) / srsk;clf;次要情节(2,1,1);情节(prsk,现成的,“线宽”2);持有散射(srsk爆炸回流,‘g’“填充”);标题(“\ bfEfficient前沿”);包含(“风险投资”);ylabel (“投资回报”);持有次要情节(2,1,2);情节(prsk psratio,“线宽”2);持有散射(srsk ssratio,‘g’“填充”);标题(“\ bfSharpe比率”);包含(“风险投资”);ylabel (夏普比率的);持有

图包含2个轴。标题为\bfEfficient Frontier的坐标轴1包含2个对象,类型为line, scatter。标题为\bfSharpe Ratio的坐标轴2包含2个类型为line, scatter的对象。

说明夏普是切线投资组合

下一个图表表明,夏普比率最大化的投资组合也是切线投资组合(在这种情况下,预算约束开放到允许0%到100%的现金)。

q = setBudget(p, 0,1);qwgt = estimateFrontier(q,20);[qrsk,qret] = estimatePortMoments(q,qwgt);%图显示夏普比率投资组合是切线投资组合。clf;portfolioexamples_plot (“最大锐率投资组合的有效边界”...“行”, prsk, pret},...“行”, qrsk, qret, [], [], 1},...“散射”, srsk, sret, {“夏普”}},...“散射”, [mrsk, crsk, ersk], [mret, cret, eret], {“市场”“现金”“平等”}},...“散射”, sqrt(diag(p.AssetCovar)), p.AssetMean, p.AssetList,“r”});

图中包含一个轴。标题为“bfEfficient Frontier with Maximum Sharpe Ratio Portfolio”的轴包含39个类型为行、散点、文本的对象。

美元中性对冲基金结构

为了说明如何在对冲基金管理中使用投资组合优化工具,本文研究了美元中性和130-30投资组合的两种流行策略。美元中性策略在多头和空头头寸上的投资相等,这样投资组合的净头寸为0.这样的投资组合被称为“美元中性”。

要建立一个美元中性的投资组合,从“标准”投资组合问题开始,并在变量中设置多头和空头头寸的最大敞口曝光.单个资产权重的界限是正负曝光.由于净头寸必须是美元中性的,预算约束是中性的0初始投资组合必须是0.最后,单向周转限制提供了必要的多头和空头限制,以防止多头和空头头寸的“重复计算”。记事本显示了使夏普比率最大化的美元中性投资组合的投资组合权重。多头和空头头寸是通过相对于初始投资组合的买卖交易获得的。

曝光= 1;q = setBounds(p, -曝光,曝光);q = setBudget(q, 0,0);q = setOneWayTurnover(q, Exposure, Exposure, 0);[qwgt,qlong,qshort] = estimateFrontier(q,20);[qrsk,qret] = estimatePortMoments(q,qwgt);[qswgt, qlong,qsshort] = estimateMaxSharpeRatio(q);[qsrsk,qsret] = estimatePortMoments(q,qswgt);绘制带有切线投资组合的美元中性基金结构的有效边界。。clf;portfolioexamples_plot (“美元中性投资组合的有效边界”...“行”, prsk, pret, {“标准”},”乙:“},...“行”, qrsk, qret, {“Dollar-Neutral”},“b”},...“散射”, qsrsk, qsret, {“夏普”}},...“散射”, [mrsk, crsk, ersk], [mret, cret, eret], {“市场”“现金”“平等”}},...“散射”, sqrt(diag(p.AssetCovar)), p.AssetMean, p.AssetList,“r”});

图中包含一个轴。标题为“bfEfficient Frontier with Dollar-Neutral Portfolio”的轴包含39个类型为行、散点、文本的对象。这些对象表示标准,美元中性。

设置一个包含最大化夏普比率的投资组合的数据集对象。Blotter = dataset({100*qswgt(abs(qswgt) > 1.0e-4),“重量”},...{100* qlong (abs(qswgt) > 1.0e-4),“长”},...{100*qsshort(abs(qswgt) > 1.0e-4),“短”},...“obsnames”, AssetList(abs(qswgt) > 1.0e-4));displayPortfolio (“最大夏普比率的美元中性投资组合”,布洛特,真的,“Dollar-Neutral”);
Dollar-Neutral组合以最大的夏普比率体重长短AA AIG 3.0394 - 3.0394 0.5088 - 0.5088 0 0 AXP 0.92797 - 0.92797 0英航-3.4952 0 3.4952 C 14.003 - 14.003 0猫3.7261 - 3.7261 0 DD -18.063 0 18.063说-4.8236 0 4.8236通用电气-3.6178 0 3.6178通用-3.7211 0 3.7211高清1.101 - 1.101 0鸿-1.4349 0 1.4349 hp IBM -8.0585 0 8.0585 intel 1.7693 1.7693 0.09909 - 0.09909 0 0 JNJ 1.3696 - 1.3696 0摩根大通-2.5271 14.205 2.5271 KO -14.205 0 MCD 3.91 - 3.91 0嗯7.5995 - 7.5995 0莫4.0856 - 4.0856 0 merck 3.7473.747 0 MSFT 4.0769 4.0769 0 PFE -9.096 0 9.096 PG 1.6493 1.6493 0 SBC -5.2547 0 5.2547 UTX 5.7454 5.7454 0 VZ -2.438 0 2.438 WMT 0.84844 0.84844 0 XOM 18.529 18.529 0确认美元中性投资组合(净,多,空)0.0000 76.7350 76.7350

130/30基金结构

最后,使用周转限制来建立130-30的投资组合结构,这种结构具有净多头头寸,但允许多头和空头头寸的杠杆作用达到最大杠杆量。在130-30的投资组合中,杠杆是30%。

要建立一个130-30的投资组合,从“标准”投资组合问题开始,并在变量中设置杠杆的最大值利用.单个资产权重的范围在利用而且1 +杠杆.由于净头寸必须是多头,预算约束是1同样,初始投资组合是0.最后,单向周转限制提供了必要的多头和空头限制,以防止多头和空头头寸的“重复计算”。记事本显示了夏普比率最大化的130-30组合的投资组合权重。多头和空头头寸是通过相对于初始投资组合的买卖交易获得的。

杠杆= 0.3;q = setBounds(p, -杠杆,1 +杠杆);q = setBudget(q, 1,1);q = setOneWayTurnover(q, 1 +杠杆,杠杆);[qwgt,qbuy,qsell] = estimateFrontier(q,20);[qrsk,qret] = estimatePortMoments(q,qwgt);[qswgt, qlong,qsshort] = estimateMaxSharpeRatio(q);[qsrsk,qsret] = estimatePortMoments(q,qswgt);绘制带有切线投资组合的130-30基金结构的有效边界。。clf;portfolioexamples_plot (sprintf (“%g-%g组合的有效边界”...100*(1 +杠杆)100*杠杆),...“行”, prsk, pret, {“标准”},”乙:“},...“行”, qrsk, qret, {“130 - 30”},“b”},...“散射”, qsrsk, qsret, {“夏普”}},...“散射”, [mrsk, crsk, ersk], [mret, cret, eret], {“市场”“现金”“平等”}},...“散射”, sqrt(diag(p.AssetCovar)), p.AssetMean, p.AssetList,“r”});

图中包含一个轴。标题为“bfEfficient Frontier with 130-30 Portfolio”的轴包含39个类型为行、散点、文本的对象。这些对象代表标准,130-30。

设置一个包含最大化夏普比率的投资组合的数据集对象。Blotter = dataset({100*qswgt(abs(qswgt) > 1.0e-4),“重量”},...{100* qlong (abs(qswgt) > 1.0e-4),“长”},...{100*qsshort(abs(qswgt) > 1.0e-4),“短”},...“obsnames”, AssetList(abs(qswgt) > 1.0e-4));displayPortfolio (sprintf ('%g-%g最大锐率投资组合', 100*(1 +杠杆),100*杠杆),Blotter, true, sprintf(“% g - % g”, 100*(1 +杠杆),100*杠杆));
130-30投资组合,最大sharratio权重多空DD -9.5565 0 9.5565 HON -6.0244 0 6.0244 INTC 4.0335 4.0335 0 JNJ 7.1234 7.1234 0 JPM -0.44583 0 0.44583 KO -13.646 0 13.646 MMM 20.908 20.908 0 MO 14.433 14.433 0 MSFT 4.5592 4.5592 0 PG 17.243 17.243 0 SBC -0.32712 0 0.32712 UTX 5.3584 5.3584 0 WMT 21.018 21.018 0 XOM 35.323 35.323 0确认130-30投资组合(净,多头,空头)100.0000 130.0000 30.0000

参考文献

  1. r。c。格林诺德和r。n。卡恩。主动投资组合管理。第二版,2000年。

  2. h·m·马科维茨。“投资组合选择”。金融杂志。第1卷第1号,第77-91页,1952年。

  3. j·林特纳。股票投资组合与资本预算中的风险资产估值与风险投资选择经济学与统计学评论。第47卷第1期,第13-37页,1965年。

  4. h·m·马科维茨。投资组合选择:投资的有效多样化。约翰·威利父子公司,1959年。

  5. w·f·夏普。"共同基金表现"《商业杂志》。第39卷第1号,第2部分,第119-138页,1966年。

  6. j·托宾。流动性偏好是对风险的行为经济研究评论。第25卷第1期,第65-86页,1958年。

  7. j·l·特雷纳和f·布莱克。《如何使用证券分析来改进投资组合选择》《商业杂志》。第46卷第1期,第68-86页,1973年。

本地函数

函数displaySumOfTransactions(成交量,qbuy, qsell)投资组合沿有效边界(Max。营业额% g % %) \ n '...100 *营业额);流(' %。4 f ', 100*sum(qbuy)), sprintf(“\ n \ n”);流(' \ n ')流(沿着有效边界的投资组合的销售总额(最大。营业额% g % %) \ n '...100 *营业额);流(' %。4 f ', 100 *总和(qsell));结束函数displayPortfolio(Description, Blotter, LongShortFlag, portfolioType)“% s \ n”、描述);disp(流水帐);如果(LongShortFlag)流('确认%s组合\n', portfolioType);流((净,长,短)\n');流(' %。4 f ', [sum(Blotter.Weight), sum(Blotter.Long), sum(Blotter.Short)]);结束结束

另请参阅

|||||||||

相关的例子

更多关于

外部网站