主动返回和跟踪误差有效边界
假设您想确定一组有效的投资组合,在给定预期超额收益的前提下,使相对于给定目标投资组合的收益差方差最小化。这种超额收益的平均值和标准差通常分别称为主动收益和主动风险。主动风险有时被称为跟踪误差。由于目标是尽可能密切地跟踪给定的目标投资组合,因此投资组合的结果集有时被称为跟踪误差有效边界。
具体地说,假设目标投资组合表示为一个指数权重向量,这样指数回报系列就可以表示为可用资产的线性组合。这个例子说明了如何构建一个边界,以达到给定的回报水平,最小化主动风险(跟踪误差)。即计算跟踪误差有效边界。
构建跟踪误差有效边界的一种方法是显式形成目标收益序列,并从单个资产的收益序列中减去目标收益序列。通过这种方式,您可以指定活动收益的预期平均值和协方差,并计算受通常投资组合约束的有效边界。
这个例子直接处理绝对(未经调整的)收益的均值和协方差,但将约束从通常的绝对权重格式转换为主动权重格式。
考虑一个由五种资产组成的投资组合,其预期收益、标准差和基于绝对周资产收益的相关矩阵如下所示。
NumAssets = 5;ExpReturn = [0.2074 0.1971 0.2669 0.1323 0.2535]/100;Sigmas = [2.6570 3.6297 3.9916 2.7145 2.6133]/100;相关性= [1.0000 0.6092 0.6321 0.5833 0.7304 0.6092 1.0000 0.8504 0.8038 0.7176 0.6321 0.8504 1.0000 0.7723 0.7236 0.5833 0.8038 0.7723 1.0000 0.7225 0.7304 0.7176 0.7236 0.7225 1.0000];
将相关性和标准差转换为协方差矩阵corr2cov
.
expco方差= corr2cov(西格玛斯,相关性);
接下来,假设目标指数投资组合是由五种资产组成的同等权重的投资组合。指标权重之和为1,满足标准全投资预算等式约束。
Index = ones(NumAssets, 1)/NumAssets;
使用生成资产约束矩阵portcons
.约束矩阵AbsConSet
以绝对格式表示(未对索引进行调整),格式为[b]
,对应于形式的约束A*w <= b
.每一行AbsConSet
对应于一个约束,每一列对应于一个资产。不允许卖空和完全投资每项资产(每项资产的下限和上限分别为0和1)。特别要注意的是,前两行对应于预算平等约束;其余行对应于上/下投资边界。
abconset = portcons(“PortValue”, 1, NumAssets,...“AssetLims”, 0 (NumAssets,1), 1 (NumAssets,1));
现在把绝对约束转化为主动约束abs2active
.
ActiveConSet = abs2active(AbsConSet, Index);
对绝对约束矩阵和活动约束矩阵的检查表明,它们只在最后一列(对应于的列)有所不同b
在A*w <= b
).
[AbsConSet(:,结束)ActiveConSet(:,结束)
Ans = 1.0000 -1.0000 1.000 0.8000 1.000 0.8000 1.000 0.8000 1.000 0.8000 1.000 0.8000 1.000 0.8000 0 0.2000 0 0.2000 0 0.2000 0 0.2000 0 0.2000 0 0.2000 0 0.2000
特别要注意的是,和对一的绝对预算约束变成了和对零的活动预算约束。一般变换如下:
现在构造投资组合
对象并绘制21个组合的跟踪误差有效边界。
p =投资组合(“AssetMean”ExpReturn,“AssetCovar”, ExpCovariance);p = p. set不等式(ActiveConSet(:,1:end-1), ActiveConSet(:,end));[ActiveRisk, ActiveReturn] = p.plotFrontier(21);情节(ActiveRisk * 100, ActiveReturn * 100,“蓝”)网格(“上”)包含(“主动风险(百分比标准差)”) ylabel (“活跃回报率(百分比)”)标题(“跟踪误差有效边界”)
特别值得注意的是左下方沿边界的投资组合。这种零风险/零回报的投资组合具有现实的经济意义。它代表对指数投资组合本身的全部投资。每个跟踪错误有效的投资组合(数组中的每一行ActiveWeights
)满足主动预算约束,因此表示相对于指数投资组合的组合投资配置。要将这些配置转换为绝对投资配置,请将指数添加到每个有效投资组合中。
ActiveWeights = . estimatefrontier (21);AbsoluteWeights = ActiveWeights + repmat(Index, 1,21);
另请参阅
portalloc
|前沿
|投资组合
|portcons
|portvrisk
|pcalims
|pcgcomp
|pcglims
|pcpval
|abs2active
|active2abs
|plotFrontier
|setInequality
|estimateFrontier