主要内容

hedgeopt

为目标成本或敏感性分配最优对冲

描述

例子

PortSensPortCostPortHolds) = hedgeopt (敏感性价格CurrentHolds通过以下两个标准之一分配最优对冲:

  • 对于给定的一组目标成本,最小化投资组合的敏感性(风险敞口)。

  • 在给定一组目标敏感性的情况下,使套期保值成本最小化。

对冲涉及到投资组合保险和保险覆盖成本之间的基本权衡。这一功能使投资者可以修改投资组合在各种工具之间的配置,以达到这两种标准中的任何一种。所选的条件是从输入参数列表推断出来的。该问题是一个约束线性最小二乘问题。

例子

PortSensPortCostPortHolds) = hedgeopt (___FixedIndNumCostsTargetCostTargetSensConSet添加额外的可选参数。

例子

全部折叠

为了说明对冲工具,请考虑投资组合HJMInstSet从示例文件中获取deriv.mat.该投资组合包括八种工具:两种债券、一种债券期权、一种固定利率票据、一种浮动利率票据、一种上限、一种下限和一种掉期。

在本例中,在优化过程中,将投资组合目标敏感性视为等式约束。您可以使用hedgeopt来指定你想要的敏感度hedgeopt计算得到这些灵敏度的成本。

负载deriv.mat

计算价格和敏感性

警告(“关闭”) [Delta, Gamma, Vega, Price] = hjmsens(HJMTree, HJMInstSet)
δ=8×1-272.6462 -347.4315 -8.0781 -272.6462 -1.0445
γ=8×1103.× 1.0299 1.6227 0.6434 1.0299 0.0033 6.8526 8.4600 1.0597
织女星=8×10.0000 -0.0397 34.0746 0.0000 0 93.6946 93.6946 0.0000
价格=8×198.7159 975280 0.0486 98.7159 100.5529 6.2831 0.0486 3.6923

提取当前的投资组合。

警告(“上”= instget(HJMInstSet,的字段名“数量”
资产=8×1100 50 -50 80 8 30 40 10

为了方便放置δγ,维加敏感度测量成敏感度矩阵。

灵敏度= [Delta Gamma Vega];

每一行敏感性矩阵与投资组合中的不同工具相关联,每一列都有不同的灵敏度度量。

总结投资组合信息。

disp([价格持有敏感性])
0.0341 0.0987 0.0800 0.02726 1.0299 0.1006 0.0080 -0.0010 0.0033 0 0.0063 0.0300 0.2950 6.8526 0.0937 0.0000 0.0400 -0.0472 8.4600 0.0937 0.0037 0.0100 -0.2820 1.0597 0.0000

上面第一列是每种工具的美元单价,第二列是每种工具的持有量(持有数量或合同数量),第三、第四和第五列是美元δγ,维加分别敏感性。

当前投资组合的敏感性是投资组合中各种工具的加权平均值。

TargetSens =持股' *敏感性
TargetSens =1×3105× -0.6191 7.8895 0.0485

维护现有的分配

为了说明使用hedgeopt,假设您想要维护您现有的投资组合。hedgeopt在给定一组目标敏感性的情况下,使对冲投资组合的成本最小化。如果你想维持你现有的投资组合和风险敞口,你应该可以不花一分钱。为了验证这一点,将目标灵敏度设置为当前灵敏度。

FixedInd = [1 2 3 4 5 6 7 8];[Sens, Cost, Quantity] = hedgeopt(sensitivity, Price,Holdings, FixedInd, [], [], TargetSens)(敏感性,价格,持股,FixedInd, [], [], TargetSens)
Sens =1×3105× -0.6191 7.8895 0.0485
成本= 0
数量=1×8100 50 -50 80 8 30 40 10

投资组合的组成和敏感性没有变化,什么都不做的成本为零。成本定义为投资组合价值的变化。这个数字不能小于零,因为再平衡成本被定义为一个非负数。

如果Value0Value1分别表示再平衡前后的投资组合价值,零成本也可以通过比较投资组合价值来验证。

Value0 =持股量*价格
Value0 = 2.3675 e + 04
Value1 =数量*价格
Value1 = 2.3675 e + 04

部分对冲投资组合

以这个例子为基础,假设您想知道实现总体投资组合的美元敏感性的成本(-23000 -3300 3000),但只允许金融工具交易23.,6(保持仪器的位置1457,8固定)。要找出成本,首先要设定目标投资组合的美元敏感性。

TargetSens = [-23000 -3300 3000];

指定要固定的仪器。

FixedInd = [1 4 5 7 8];

使用hedgeopt:

[Sens, Cost, Quantity] = hedgeopt(sensitivity, Price,Holdings, FixedInd, [], [], TargetSens)(敏感性,价格,持股,FixedInd, [], [], TargetSens)
Sens =1×3104× -2.3000 -0.3300 0.3000
成本= 1.9174 e + 04
数量=1×8100.0000 -141.0267 137.2638 80.0000 8.0000 -57.9606 40.000 10.0000

再计算Value1,即再平衡后的投资组合价值。

Value1 =数量*价格
Value1 = 4.5006 e + 03

正如预期的那样,成本是19174.02美元Value0Value1, $23674.62 - $4500.60。只是仪器的位置23.,6都发生了变化。

完全对冲投资组合

这个例子说明了部分对冲,但也许最有趣的例子涉及与完全对冲投资组合相关的成本(同时)δγ,维加中立)。在本例中,将目标灵敏度设置为行向量0年代和调用hedgeopt一次。

TargetSens = [0 0 0];[Sens, Cost, Quantity] = hedgeopt(sensitivity, Price, Holdings, FixedInd, [], [], TargetSens)(敏感性,价格,持股,FixedInd, [], [], TargetSens)
Sens =1×310-10年× 0.1091 0.5821 0.0045
成本= 2.3056 e + 04
数量=1×8100.0000 -182.3615 -19.5501 80.0000 8.0000 -32.9674 40.000 10.0000

检查产出表明,你已经获得了一个完全对冲的投资组合,但花费了超过20,000美元数量定义实现完全对冲投资组合所需的头寸。

由此产生的新投资组合价值是

Value1 =数量*价格
Value1 = 618.7168

输入参数

全部折叠

每个仪器的灵敏度,指定为若干个仪器(NINST),以敏感性数目(NSENS)美元敏感性矩阵。每一行代表一个不同的工具。每一列代表不同的灵敏度。

数据类型:

仪器价格,指定为NINST——- - - - - -1向量。

数据类型:

分配给每个票据的合同,指定为NINST——- - - - - -1向量。

数据类型:

(可选)固定仪器数量,指定为NFIXED——- - - - - -1仪器的指数矢量保持不变。例如,保持10种工具组合中的第一和第三种工具不变,设置FixedInd = [1 3].默认=[],没有固定的仪器。

数据类型:

(可选)当目标成本向量(TargetCost)未定义,指定为整数。默认值是最小成本点和最小曝光点之间的10个等距点。当指定TargetCost,输入NumCosts作为一个空矩阵[]

数据类型:

(可选)沿成本边界的目标成本值,指定为向量。如果TargetCost为空,或未输入,hedgeopt评估NumCosts目标成本在最小成本和最小曝光之间等距分布。当指定时,TargetCost应该是正数,表示所有者愿意花费的最大金额,以重新平衡投资组合。

数据类型:

(可选)组合的目标灵敏度值,指定为a1——- - - - - -NSENS向量包含投资组合的目标灵敏度值。当指定TargetSens,输入NumCostsTargetCost为空矩阵[]

数据类型:

(可选)投资组合重新分配的附加条件,指定为若干约束条件(NCONS),以文书数目(NINST)投资组合再分配附加条件矩阵。一个合格的NINST——- - - - - -1合同持股矢量,PortWts,满足所有不等式A * PortWts < =,在那里= ConSet (: 1: end-1)b = ConSet(:,结束)

请注意

中的用户指定的约束ConSet可创建的功能pcalimsportcons.然而,portcons默认的PortHolds正约束通常不适用于对冲问题,因为通常需要卖空。

NPOINTS,行数PortSensPortHolds长度PortCost,是从输入推断出来的。当目标敏感时,TargetSens输入,NPOINTS = 1;否则NPOINTS = NumCosts,或等于TargetCost向量。

并非所有问题都是可解的(例如,解空间可能是不可行的或无界的,或者解可能无法收敛)。当未找到有效解时,则PortSensPortHolds的元素PortCost垫着作为占位符。

数据类型:

输出参数

全部折叠

投资组合美元敏感性,以若干点数返回(NPOINTS——- - - - - -NSENS)矩阵。当存在完美对冲时,PortSens是0。否则,就选择可能的最佳对冲。

请注意

并非所有问题都是可解的(例如,解空间可能是不可解的、无界的、或约束不足的),或者解可能无法收敛。当未找到有效解时,则PortSensPortHolds和元素的PortCost垫着的占位符。此外,解决方案可能不是唯一的。

总投资组合成本,返回为1——- - - - - -NPOINTS向量。

分配给每种工具的合同,作为NPOINTS——- - - - - -NINST矩阵。这些是重新配置的投资组合。

之前介绍过的R2006a