swapbyhjm

从希思 - 贾罗 - 莫顿利率树价格互换工具

描述

[价格PriceTreeCFTREESwapRate] = swapbyhjm(HJMTreeLegRate解决到期价格从希思 - 贾罗 - 莫顿利率树的交换工具。swapbyhjm计算普通掉期、摊销掉期和远期掉期的价格。

[价格PriceTreeCFTREESwapRate] = swapbyhjm(___名称,值增加了额外的名称 - 值对的参数。

例子

全部收缩

这个例子显示了如何定价的利率互换有一个固定的接收腿和浮动支付腿。付款是每年一次造的,名义本金金额为$ 100。在其余参数的值是:

  • 优惠券率固定腿:0.06(6%)

  • 利差浮动站:20个基点

  • 掉期结算日期:2000年1月1日

  • 掉期到期日:2003年1月1日

基于上述信息,根据需要设置的参数并建立LegRateLegType,LegReset矩阵:

定居=' 01 - 1月- 2000;成熟='01 -Jan-2003';基础= 0;校长= 100;le箅子= [0.06 20];%[CouponRate传播]LegType = [1 0];%(固定浮动)LegReset = [1 1];%支付每年一次

对掉期进行定价HJMTree包括在MAT文件deriv.mat。该HJMTree结构包含定价仪器所需的时间和远期利率信息。

加载deriv.mat;

采用swapbyhjm计算互换价格。

[Price, PriceTree, CFTree] = swapbyhjm(HJMTree, le,...定居,成熟,LegReset,基础,主体,LegType)
[0 1 23 4] PBush: {1x5 cell} CFTree = FinObj: 'HJMCFTree' tObs: [0 1 23 4] CFBush: [0 1 23 4][1×8双]}

采用树状视图检查CFTREE图形看现金沿向上和向下两个分支交换流动。正的现金流表示的流入(收入 - 支付> 0),而负的现金流表示的流出(收入 - 支付<0)。

treeview (CFTree)

在这个例子中,你已售出的交换(接收固定利率和浮动报酬率)。在时间T = 3,如果利率下降,你的现金流是正的($ 2.63),这意味着您将收到这笔款项。但是,如果利率上升,你的现金流为负( - $ 1.58),这意味着你欠这个数额。

树状视图价格树形图遵循价格上涨出现在树的上部分支,因此,价格下降出现在低分支的惯例。相反,对于利率显示,减少利率出现上叉(价格上涨)和增加利率较低的分支(价格下降)。

使用先前的数据,计算出交换率,这是用于固定腿优惠券率,使得所述交换价格在时间= 0为零。

LegRate = [NaN的20];[价格,PriceTree,CFTREE,SwapRate] = swapbyhjm(HJMTree,...legrad集团,Settle, Maturity, LegReset, Basis, Principal, LegType
价格= 0 PriceTree = FinObj: 'HJMPriceTree' TOBS:[0 1 2 3 4] PBush:{[0] [1x1x2双] [1x2x2双] ... [1×8双]} CFTREE = FinObj: 'HJMCFTree' TOBS:[0 1 2 3 4] CFBush:{[0] [1x1x2双] [1x2x2双] ... [1×8双]} SwapRate = 0.0466

使用价格的分期偿还掉期主要输入参数定义摊销时间表。

创建RateSpec

率= 0.035;ValuationDate =“1 - 1月- 2011”;startdate可以= ValuationDate;EndDates =“1月,2017年”;复合= 1;RateSpec = intenvset ('ValuationDate'ValuationDate,'StartDates'startdate可以,...“EndDates”,EndDates,“利率”率,“复利”,复利)
RateSpec =同场的结构:FinObj: 'RateSpec' 混配:1光盘:0.8135价格:0.0350 EndTimes:6个StartTimes:0 EndDates:736696个StartDates:734504 ValuationDate:734504个基础:0 EndMonthRule:1

使用以下数据创建交换工具:

定居=“1 - 1月- 2011”;成熟=“1月,2017年”;周期= 1;LegRate = [0.04 10];

定义交换摊销时间表。

主要= {{“1 - 1月- 2013”100;“1 - 1月- 2014”80;“1月,2015年”60;'1月-2016'40;“1月,2017年”20}};

使用下面的数据构建HJM树:

MatDates = {“1 - 1月- 2012”;“1 - 1月- 2013”;“1 - 1月- 2014”;“1月,2015年”;'1月-2016';“1月,2017年”};HJMTimeSpec = hjmtimespec(RateSpec.ValuationDate,MatDates);波幅= [0.10;0.08;0.06;0.04];CurveTerm = [1;2;3;4]; HJMVolSpec = hjmvolspec(“比例”,波动率,曲线项,1e6);HJMT = hjmtree (HJMVolSpec RateSpec HJMTimeSpec);

计算摊销掉期的价格。

价格= swapbyhjm(HJMT, legrgrt, Settle, Maturity,'主要',负责人)
价格= 1.4574

价格采用​​一个远期掉期开始日期输入参数来定义交换的未来开始日期。

创建RateSpec

率= 0.0374;ValuationDate =“1 - 1月- 2012”;startdate可以= ValuationDate;EndDates ='1-JAN-2018';复合= 1;RateSpec = intenvset ('ValuationDate'ValuationDate,'StartDates'startdate可以,...“EndDates”,EndDates,“利率”率,“复利”,复利)
RateSpec =同场的结构:FinObj: 'RateSpec' 混配:1光盘:0.8023价格:0.0374 EndTimes:6个StartTimes:0 EndDates:737061个StartDates:734869 ValuationDate:734869个基础:0 EndMonthRule:1

构建一个HJM树。

MatDates = {“1 - 1月- 2013”;“1 - 1月- 2014”;“1月,2015年”;'1月-2016';“1月,2017年”;'1-JAN-2018'};HJMTimeSpec = hjmtimespec(RateSpec.ValuationDate,MatDates);波幅= [0.10;0.08;0.06;0.04];CurveTerm = [1;2;3;4]; HJMVolSpec = hjmvolspec(“比例”,波动率,曲线项,1e6);HJMT = hjmtree (HJMVolSpec RateSpec HJMTimeSpec);

计算一年(2013年1月1日)开始、四年(远期掉期利率为4.25%)到期的远期掉期的价格。

定居=“1 - 1月- 2012”;成熟=“1月,2017年”;起始日期=“1 - 1月- 2013”;莱格特= [0.0425 10];价格= swapbyhjm(HJMT, legrgrt, Settle, Maturity,'开始日期', 开始日期)
价格= 1.4434

使用先前的数据,计算出前向掉率,优惠券率为固定腿,使得前掉换价在时间= 0为零。

LegRate = [NaN的10];[价格,〜,〜,SwapRate] = swapbyhjm(HJMT,LegRate,沉降,成熟度,'开始日期', 开始日期)
价格= 0
SwapRate = 0.0384

输入参数

全部收缩

利率树状结构,通过创建hjmtree

数据类型:结构

步长速率,指定为aNINST-通过-2矩阵,每一行定义如下:

  • [CouponRate传播](固定浮动)

  • [传播CouponRate](float-fixed)

  • [CouponRate CouponRate](固定 - 固定)

  • [扩的扩展](浮子浮)

优惠券比例是十进制年率。传播是基点超过参考速率的数量。第一列表示接收支路,而第二列表示支付腿。

数据类型:

结算日期,指定了作为一个标量或NINST-通过-1序列日期数字或日期字符向量的向量。

解决日期为每个交换设置为ValuationDate的HJM树。交换参数解决将被忽略。

数据类型:烧焦|

到期日,指定为aNINST-通过-1表示用于每个交换到期日序列日期数字或日期字符向量的向量。

数据类型:烧焦|

名称 - 值对参数

指定可选的用逗号分隔的对名称,值参数。的名字是参数的名称和价值是对应的值。的名字必须出现引号内。您可以按照任何顺序指定多个名称和值对参数名1,值1,...,NameN,值N

例:[价格,PriceTree,CFTREE,SwapRate] = swapbyhjm(HJMTree,LegRate,沉降,成熟度,LegReset,基础,负责人,LegType)

重置频率每年为每个交换,指定为逗号分隔的对组成“LegReset”和一个NINST-通过-2向量。

数据类型:

表示用于每个支腿的基础天数的基础上,指定为逗号分隔的一对组成的'基础'和一个NINST-通过-1阵列(或NINST-通过-2如果基础每条腿都不一样)。

  • 0 =实际/实际

  • 1 = 30/360(SIA)

  • 2 =实际/ 360

  • 3 =实际/ 365

  • 4 = 30/360(PSA)

  • 5 = 30/360(ISDA)

  • 6 = 30/360(欧洲的)

  • 7 =实际/ 365(日本)

  • 8 =实际/实际(ICMA)

  • 9 =实际/ 360(ICMA)

  • 10 =实际/ 365(ICMA)

  • 11 = 30/360E (ICMA)

  • 12 =实际/365 (ISDA)

  • 13 =总线/ 252

欲了解更多信息,请参阅基础

数据类型:

名义本金金额或主值时间表,指定为逗号分隔的一对组成的'主要'和一个载体或细胞阵列。

主要接受NINST-通过-1载体或NINST-通过-1单元阵列(或NINST-通过-2如果主要是名义本金金额或主要价值时间表每条腿不同)。对于时间表,单元阵列的每个元素是一个NumDates-通过-2数组,其中第一列是日期,第二列是相关的名义主值。日期表示主体值有效的最后一天。

数据类型:细胞|

分支类型,指定为逗号分隔的对,由'LegType'和一个NINST-通过-2矩阵的值[1](固定 - 固定),[1 0](fixed-float),[0 1](float-fixed),或[0 0](浮动浮动)。每一行代表一个工具。每列指示是否相应的腿被固定(1)或浮动(0)。这个矩阵定义了输入值的解释LegRateLegType允许[1](固定 - 固定),[1 0](fixed-float),[0 1](float-fixed),或[0 0](float-float)互换

数据类型:

定价选项结构的衍生物,指定为逗号分隔的一对组成的“选项”以及从使用中获得的结构derivset

数据类型:结构

结束一个月的发生日期时,规则标志到期由具有30个或更少天结束每月日期了一个月,指定为逗号分隔的一对组成的“EndMonthRule”和一个非负整数[01] 用一个NINST-通过-1(要么NINST-通过-2如果EndMonthRule每条腿都不一样)。

  • 0=忽略的规则,这意味着支付日期始终是该月的数字相同的日子。

  • 1=上设置的规则,这意味着支付日期始终是当月的最后一天实际。

数据类型:合乎逻辑

标记根据实际期间日计数调整现金流,指定由逗号分隔的对组成'AdjustCashFlowsBasis'和一个NINST-通过-1(要么NINST-通过-2如果AdjustCashFlowsBasis是不同的每一腿)的逻辑与价值观0(假)或1(真正)。

数据类型:合乎逻辑

业务日约定,指定为逗号分隔的对,由'BusinessDayConvention'和字符向量或ñ-通过-1(要么NINST-通过-2如果BusinessDayConvention每个分支是不同的)业务日约定字符向量的单元数组。选择营业日约定将决定如何处理非营业日。非营业日是指周末加上任何其他非营业日(例如法定假日)。值:

  • 实际-非工作时间实际上被忽略。在非营业日下降的现金流量被认为是在实际日期分配的。

  • 跟随-假设非营业日的现金流量在下一个营业日分配。

  • modifiedfollow-假设非营业日的现金流量在下一个营业日分配。但是,如果下一个工作日是不同的一个月,前一营业日改为采用。

  • 以前-假设在非营业日的现金流量是在上一个营业日分配的。

  • modifiedprevious-假设在非营业日的现金流量是在上一个营业日分配的。但是,如果一个营业日是在不同的月份,下一个工作日改为采用。

数据类型:烧焦|细胞

在计算工作日内使用节假日,指定为逗号分隔的一对组成的“假日”并使用MATLAB日期数字NHolidays-通过-1向量。

数据类型:

日期交换实际开始,指定为逗号分隔的一对组成的'开始日期'和一个NINST-通过-1使用串行日期数字或字符向量日期矢量。

使用此参数价格向前掉期,也就是掉期,在未来的日期开始

数据类型:烧焦|

输出参数

全部收缩

预期掉期价格在时间0时,作为a返回NINST-通过-1向量。

仪器的价格的树结构中,返回的含互换期权价格仪器的矢量和的观察时间为每个节点向量树MATLAB结构。中PriceTree

  • PriceTree.tObs包含了观测时间。

  • PriceTree.PBush包含干净的价格。

交换现金流,与所述现金交换的向量返回为树形结构流在每个节点处。这种结构只包含为NaN因为二项树的重新组合不能在树的每个节点上精确地计算现金流。

适用于固定腿利率,返回为NINST-通过-1适用于固定腿速率的载体中,使得互换的值是在时间0这个比率是在计算中使用互换零时指定用于固定腿在速率价格LegRate为NaN。该SwapRate输出则以用为NaN对于那些优惠券比例未设置为为NaN

更多关于

全部收缩

摊还期

在摊销掉期中,名义本金会周期性地减少,因为它与一种基础金融工具挂钩,而该金融工具的摊销本金余额不断减少,比如抵押贷款。

远期掉期

协议进入一个利率互换协议,在未来的一个固定的日期。

之前介绍过的R2006a