文档帮助中心文档
为目标成本或敏感性分配最优对冲
[PortSens, PortCost PortHolds] = hedgeopt(敏感性、价格、CurrentHolds)
[PortSens, PortCost PortHolds] = hedgeopt (___, NumCosts FixedInd TargetCost TargetSensConSet)
例子
[PortSens,PortCost,PortHolds) = hedgeopt (敏感性,价格,CurrentHolds)通过以下两个标准之一分配最优对冲:
[PortSens,PortCost,PortHolds) = hedgeopt (敏感性,价格,CurrentHolds)
PortSens
PortCost
PortHolds
敏感性
价格
CurrentHolds
对于给定的一组目标成本,最小化投资组合的敏感性(风险敞口)。
在给定一组目标敏感性的情况下,使套期保值成本最小化。
对冲涉及到投资组合保险和保险覆盖成本之间的基本权衡。这一功能使投资者可以修改投资组合在各种工具之间的配置,以达到这两种标准中的任何一种。所选的条件是从输入参数列表推断出来的。该问题是一个约束线性最小二乘问题。
[PortSens,PortCost,PortHolds) = hedgeopt (___,FixedInd,NumCosts,TargetCost,TargetSensConSet)添加额外的可选参数。
[PortSens,PortCost,PortHolds) = hedgeopt (___,FixedInd,NumCosts,TargetCost,TargetSensConSet)
FixedInd
NumCosts
TargetCost
TargetSens
ConSet
全部折叠
为了说明对冲工具,请考虑投资组合HJMInstSet从示例文件中获取deriv.mat.该投资组合包括八种工具:两种债券、一种债券期权、一种固定利率票据、一种浮动利率票据、一种上限、一种下限和一种掉期。
HJMInstSet
deriv.mat
在本例中,在优化过程中,将投资组合目标敏感性视为等式约束。您可以使用hedgeopt来指定你想要的敏感度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
投资组合的组成和敏感性没有变化,什么都不做的成本为零。成本定义为投资组合价值的变化。这个数字不能小于零,因为再平衡成本被定义为一个非负数。
如果Value0和Value1分别表示再平衡前后的投资组合价值,零成本也可以通过比较投资组合价值来验证。
Value0
Value1
Value0 =持股量*价格
Value0 = 2.3675 e + 04
Value1 =数量*价格
Value1 = 2.3675 e + 04
部分对冲投资组合
以这个例子为基础,假设您想知道实现总体投资组合的美元敏感性的成本(-23000 -3300 3000),但只允许金融工具交易2,3.,6(保持仪器的位置1,4,5,7,8固定)。要找出成本,首先要设定目标投资组合的美元敏感性。
(-23000 -3300 3000)
2
3.
6
1
4
5
7
8
TargetSens = [-23000 -3300 3000];
指定要固定的仪器。
FixedInd = [1 4 5 7 8];
使用hedgeopt:
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 = 4.5006 e + 03
正如预期的那样,成本是19174.02美元Value0和Value1, $23674.62 - $4500.60。只是仪器的位置2,3.,6都发生了变化。
完全对冲投资组合
这个例子说明了部分对冲,但也许最有趣的例子涉及与完全对冲投资组合相关的成本(同时)δ,γ,维加中立)。在本例中,将目标灵敏度设置为行向量0年代和调用hedgeopt一次。
0
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 = 618.7168
每个仪器的灵敏度,指定为若干个仪器(NINST),以敏感性数目(NSENS)美元敏感性矩阵。每一行代表一个不同的工具。每一列代表不同的灵敏度。
NINST
NSENS
数据类型:双
双
仪器价格,指定为NINST——- - - - - -1向量。
分配给每个票据的合同,指定为NINST——- - - - - -1向量。
[ ]
(可选)固定仪器数量,指定为NFIXED——- - - - - -1仪器的指数矢量保持不变。例如,保持10种工具组合中的第一和第三种工具不变,设置FixedInd = [1 3].默认=[],没有固定的仪器。
NFIXED
FixedInd = [1 3]
[]
10
(可选)当目标成本向量(TargetCost)未定义,指定为整数。默认值是最小成本点和最小曝光点之间的10个等距点。当指定TargetCost,输入NumCosts作为一个空矩阵[].
(可选)沿成本边界的目标成本值,指定为向量。如果TargetCost为空,或未输入,hedgeopt评估NumCosts目标成本在最小成本和最小曝光之间等距分布。当指定时,TargetCost应该是正数,表示所有者愿意花费的最大金额,以重新平衡投资组合。
(可选)组合的目标灵敏度值,指定为a1——- - - - - -NSENS向量包含投资组合的目标灵敏度值。当指定TargetSens,输入NumCosts和TargetCost为空矩阵[].
(可选)投资组合重新分配的附加条件,指定为若干约束条件(NCONS),以文书数目(NINST)投资组合再分配附加条件矩阵。一个合格的NINST——- - - - - -1合同持股矢量,PortWts,满足所有不等式A * PortWts < =,在那里= ConSet (: 1: end-1)和b = ConSet(:,结束).
NCONS
PortWts
A * PortWts < =
= ConSet (: 1: end-1)
b = ConSet(:,结束)
请注意
中的用户指定的约束ConSet可创建的功能pcalims或portcons.然而,portcons默认的PortHolds正约束通常不适用于对冲问题,因为通常需要卖空。
pcalims
portcons
NPOINTS,行数PortSens和PortHolds长度PortCost,是从输入推断出来的。当目标敏感时,TargetSens输入,NPOINTS = 1;否则NPOINTS = NumCosts,或等于TargetCost向量。
NPOINTS
NPOINTS = 1
NPOINTS = NumCosts
并非所有问题都是可解的(例如,解空间可能是不可行的或无界的,或者解可能无法收敛)。当未找到有效解时,则PortSens,PortHolds的元素PortCost垫着南作为占位符。
南
投资组合美元敏感性,以若干点数返回(NPOINTS——- - - - - -NSENS)矩阵。当存在完美对冲时,PortSens是0。否则,就选择可能的最佳对冲。
并非所有问题都是可解的(例如,解空间可能是不可解的、无界的、或约束不足的),或者解可能无法收敛。当未找到有效解时,则PortSens和PortHolds和元素的PortCost垫着南的占位符。此外,解决方案可能不是唯一的。
总投资组合成本,返回为1——- - - - - -NPOINTS向量。
分配给每种工具的合同,作为NPOINTS——- - - - - -NINST矩阵。这些是重新配置的投资组合。
hedgeslf|lsqlin|pcalims|portcons|portopt
hedgeslf
lsqlin
portopt
您有这个示例的修改版本。您想打开这个示例与您的编辑吗?
你点击一个链接对应于这个MATLAB命令:
通过在MATLAB命令窗口中输入命令来运行命令。Web浏览器不支持MATLAB命令。金宝app
选择一个网站,在那里获得翻译的内容,并看到当地的活动和优惠。根据您的位置,我们建议您选择:.
你也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。
与当地办事处联系