从希思 - 贾罗 - 莫顿利率树价格互换工具
这个例子显示了如何定价的利率互换有一个固定的接收腿和浮动支付腿。付款是每年一次造的,名义本金金额为$ 100。在其余参数的值是:
优惠券率固定腿:0.06(6%)
利差浮动站:20个基点
掉期结算日期:2000年1月1日
掉期到期日:2003年1月1日
基于上述信息,根据需要设置的参数并建立LegRate
,LegType
,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
-利率结构利率树状结构,通过创建hjmtree
数据类型:结构
LegRate
-腿率步长速率,指定为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”
-每年为每个交换重置一次频率[1]
(默认)|向量重置频率每年为每个交换,指定为逗号分隔的对组成“LegReset”
和一个NINST
-通过-2
向量。
数据类型:双
'基础'
-日计数基表示每条腿的基0
(实际/实际)(默认)|从整0
来13
表示用于每个支腿的基础天数的基础上,指定为逗号分隔的一对组成的'基础'
和一个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
欲了解更多信息,请参阅基础。
数据类型:双
'主要'
-名义本金金额或主值时间表One hundred.
(默认)|载体或细胞阵列名义本金金额或主值时间表,指定为逗号分隔的一对组成的'主要'
和一个载体或细胞阵列。
主要
接受NINST
-通过-1
载体或NINST
-通过-1
单元阵列(或NINST
-通过-2
如果主要
是名义本金金额或主要价值时间表每条腿不同)。对于时间表,单元阵列的每个元素是一个NumDates
-通过-2
数组,其中第一列是日期,第二列是相关的名义主值。日期表示主体值有效的最后一天。
数据类型:细胞
|双
'LegType'
-腿型[1 0]
为每一个仪器(默认)|矩阵的值[1]
(固定 - 固定),[1 0]
(fixed-float),[0 1]
(float-fixed),或[0 0]
(浮子浮)分支类型,指定为逗号分隔的对,由'LegType'
和一个NINST
-通过-2
矩阵的值[1]
(固定 - 固定),[1 0]
(fixed-float),[0 1]
(float-fixed),或[0 0]
(浮动浮动)。每一行代表一个工具。每列指示是否相应的腿被固定(1
)或浮动(0
)。这个矩阵定义了输入值的解释LegRate
。LegType
允许[1]
(固定 - 固定),[1 0]
(fixed-float),[0 1]
(float-fixed),或[0 0]
(float-float)互换
数据类型:双
“选项”
-衍生品定价选项结构定价选项结构的衍生物,指定为逗号分隔的一对组成的“选项”
以及从使用中获得的结构derivset
。
数据类型:结构
“EndMonthRule”
-结束一个月的发生日期时,规则标志到期
月底的日期是30天还是更少天1
(有效)(默认)|非负整数[0,1]
结束一个月的发生日期时,规则标志到期
由具有30个或更少天结束每月日期了一个月,指定为逗号分隔的一对组成的“EndMonthRule”
和一个非负整数[0
,1
] 用一个NINST
-通过-1
(要么NINST
-通过-2
如果EndMonthRule
每条腿都不一样)。
0
=忽略的规则,这意味着支付日期始终是该月的数字相同的日子。
1
=上设置的规则,这意味着支付日期始终是当月的最后一天实际。
数据类型:合乎逻辑
'AdjustCashFlowsBasis'
-根据实际期间日计数调整现金流量假
(默认)|的价值0
(假)或1
(真正)标记根据实际期间日计数调整现金流,指定由逗号分隔的对组成'AdjustCashFlowsBasis'
和一个NINST
-通过-1
(要么NINST
-通过-2
如果AdjustCashFlowsBasis
是不同的每一腿)的逻辑与价值观0
(假)或1
(真正)。
数据类型:合乎逻辑
'BusinessDayConvention'
-营业日惯例实际
(默认)|特征向量|字符向量的单元阵列业务日约定,指定为逗号分隔的对,由'BusinessDayConvention'
和字符向量或ñ
-通过-1
(要么NINST
-通过-2
如果BusinessDayConvention
每个分支是不同的)业务日约定字符向量的单元数组。选择营业日约定将决定如何处理非营业日。非营业日是指周末加上任何其他非营业日(例如法定假日)。值:
实际
-非工作时间实际上被忽略。在非营业日下降的现金流量被认为是在实际日期分配的。
跟随
-假设非营业日的现金流量在下一个营业日分配。
modifiedfollow
-假设非营业日的现金流量在下一个营业日分配。但是,如果下一个工作日是不同的一个月,前一营业日改为采用。
以前
-假设在非营业日的现金流量是在上一个营业日分配的。
modifiedprevious
-假设在非营业日的现金流量是在上一个营业日分配的。但是,如果一个营业日是在不同的月份,下一个工作日改为采用。
数据类型:烧焦
|细胞
“假日”
-用于计算业务的假期holidays.m
(默认)|MATLAB®日期数字在计算工作日内使用节假日,指定为逗号分隔的一对组成的“假日”
并使用MATLAB日期数字NHolidays
-通过-1
向量。
数据类型:双
'开始日期'
-交换日期正式开始解决
日期(默认)|序列日期数|特征向量日期交换实际开始,指定为逗号分隔的一对组成的'开始日期'
和一个NINST
-通过-1
使用串行日期数字或字符向量日期矢量。
使用此参数价格向前掉期,也就是掉期,在未来的日期开始
数据类型:烧焦
|双
价格
- 预计掉期价格在时间0预期掉期价格在时间0时,作为a返回NINST
-通过-1
向量。
PriceTree
-文书价格的树状结构仪器的价格的树结构中,返回的含互换期权价格仪器的矢量和的观察时间为每个节点向量树MATLAB结构。中PriceTree
:
PriceTree.tObs
包含了观测时间。
PriceTree.PBush
包含干净的价格。
CFTREE
-掉期现金流量交换现金流,与所述现金交换的向量返回为树形结构流在每个节点处。这种结构只包含为NaN
因为二项树的重新组合不能在树的每个节点上精确地计算现金流。
SwapRate
-适用于固定腿的费率适用于固定腿利率,返回为NINST
-通过-1
适用于固定腿速率的载体中,使得互换的值是在时间0这个比率是在计算中使用互换零时指定用于固定腿在速率价格LegRate
是为NaN
。该SwapRate
输出则以用为NaN
对于那些优惠券比例
未设置为为NaN
。
您单击对应于该MATLAB命令的链接:
在MATLAB命令窗口中输入它运行的命令。Web浏览器不支持MATLAB的命令。金宝app
你也可以从以下列表中选择一个网站:
选择最佳的网站性能的中国网站(在中国或英文)。其他MathWorks的国家网站都没有从您的位置访问进行了优化。