swapbyhjm

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

描述

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

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

例子

全部收缩

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

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

  • 利差浮动站:20个基点

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

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

根据上面的信息,设置所需的参数并构建LegRateLegTypeLegReset矩阵:

定居='01 -Jan-2000';成熟度='01 -Jan-2003';基础= 0;主要= 100;LegRate = [0.06 20];%[CouponRate传播]LegType = [1 0];%[固定浮点]LegReset = [1 1];%支付每年一次

使用价格交换HJMTree包括在MAT文件deriv.mat。该HJMTree结构包含定价仪器所需的时间和远期利率信息。

加载deriv.mat;

swapbyhjm计算互换价格。

[价格,PriceTree,CFTREE] = swapbyhjm(HJMTree,LegRate,...结算,到期,LegReset,基础,本金,腿型)
价格= 3.6923 PriceTree = FinObj: 'HJMPriceTree' TOBS:[0 1 2 3 4] PBush:{1×5细胞} CFTREE = FinObj: 'HJMCFTree' TOBS:[0 1 2 3 4] CFBush:{[0] [1x1x2双] [1x2x2双] ... [双的1x8]}

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

TreeViewer中(CFTREE)

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

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

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

LegRate = [NaN的20];[价格,PriceTree,CFTREE,SwapRate] = swapbyhjm(HJMTree,...LegRate,定居,成熟,LegReset,基础,主体,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-JAN-2011';StartDates = ValuationDate;EndDates =“1月,2017年”;配混= 1;RateSpec = intenvset('ValuationDate',ValuationDate,'StartDates',StartDates,...'EndDates',EndDates,“价格”,价格,“复利”复合)
RateSpec =同场的结构:FinObj: 'RateSpec' 混配:1光盘:0.8135价格:0.0350 EndTimes:6个StartTimes:0 EndDates:736696个StartDates:734504 ValuationDate:734504个基础:0 EndMonthRule:1

使用下面的数据创建的交换设备:

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

定义交换摊销时间表。

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

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

MatDates = {'1-JAN-2012';'1-JAN-2013';“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('成比例的',波动性,CurveTerm,1E6);HJMT = hjmtree(HJMVolSpec,RateSpec,HJMTimeSpec);

计算摊销掉期的价格。

价格= swapbyhjm(HJMT,LegRate,定居,成熟,'主要',负责人)
价格= 1.4574

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

创建RateSpec

率= 0.0374;ValuationDate ='1-JAN-2012';StartDates = ValuationDate;EndDates ='1-JAN-2018';配混= 1;RateSpec = intenvset('ValuationDate',ValuationDate,'StartDates',StartDates,...'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-JAN-2013';“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('成比例的',波动性,CurveTerm,1E6);HJMT = hjmtree(HJMVolSpec,RateSpec,HJMTimeSpec);

计算远期掉期,在一年的开始(2013年1月1日),并在四年内日趋成熟4.25%正向掉率的价格。

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

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

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

输入参数

全部收缩

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

数据类型:结构

腿速度,指定为NINST-通过-2矩阵,定义为以下中的一个的每一行:

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

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

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

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

优惠券比例是十进制年率。传播为参考利率上的基点数目。第一列表示接收端,第二列表示支付端。

数据类型:

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

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

数据类型:烧焦|

到期日,指定为NINST-通过-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 = BUS / 252

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

数据类型:

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

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

数据类型:细胞|

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

数据类型:

定价选项结构的衍生物,指定为逗号分隔的一对组成的“选项”并使用获得的结构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,返回为NINST-通过-1向量。

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

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

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

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

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

更多关于

全部收缩

摊销掉期

在一个摊销交换,因为它是依赖于一个潜在的金融工具与下降(摊销)主要平衡,如抵押的名义本金周期性减小。

远期互换

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

R2006a前推出