从希思 - 贾罗 - 莫顿利率树价格互换工具
这个例子显示了如何定价的利率互换有一个固定的接收腿和浮动支付腿。付款是每年一次造的,名义本金金额为$ 100。在其余参数的值是:
优惠券率固定腿:0.06(6%)
利差浮动站:20个基点
掉期结算日:2000年1月1日
掉期到期日:2003年1月1日
根据上面的信息,设置所需的参数并构建LegRate
,LegType
和LegReset
矩阵:
定居='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
-利率结构利率树状结构,通过创建hjmtree
数据类型:结构
LegRate
-腿率腿速度,指定为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'
-每年复位频率为每个交换[1 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 = BUS / 252
欲了解更多信息,请参阅基础。
数据类型:双
'主要'
-名义本金金额或本金价值表100
(默认)|载体或细胞阵列名义本金金额或本金价值表,指定为逗号分隔的对,包括'主要'
和一个载体或细胞阵列。
主要
接受NINST
-通过-1
载体或NINST
-通过-1
单元阵列(或NINST
-通过-2
如果主要
是名义本金金额或主要价值时间表每条腿不同)。对于时间表,单元阵列的每个元素是一个NumDates
-通过-2
阵列,其中第一列是日期,第二栏是其相关联的名义本金值。日期表示最后一天的主要价值是有效的。
数据类型:细胞
|双
'LegType'
-腿型[1 0]
每台仪器(默认)|矩阵值[1 1]
(固定 - 固定),[1 0]
(固定浮动),[0 1]
(浮子固定),或[0 0]
(浮子浮)腿型,指定为逗号分隔的一对组成的'LegType'
和NINST
-通过-2
矩阵值[1 1]
(固定 - 固定),[1 0]
(固定浮动),[0 1]
(浮子固定),或[0 0]
(浮动浮动)。每一行代表一个工具。每列指示是否相应的腿被固定(1
)或浮动(0
)。这个矩阵定义了输入值的解释LegRate
。LegType
允许[1 1]
(固定 - 固定),[1 0]
(固定浮动),[0 1]
(浮子固定),或[0 0]
(浮子浮)互换
数据类型:双
“选项”
-衍生品定价选项结构定价选项结构的衍生物,指定为逗号分隔的一对组成的“选项”
并使用获得的结构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,返回为NINST
-通过-1
向量。
PriceTree
- 仪器价格的树形结构仪器的价格的树结构中,返回的含互换期权价格仪器的矢量和的观察时间为每个节点向量树MATLAB结构。内PriceTree
:
PriceTree.tObs
包含了观测时间。
PriceTree.PBush
包含干净的价格。
CFTREE
- 交换现金流交换现金流,与所述现金交换的向量返回为树形结构流在每个节点处。这种结构只包含为NaN
是因为与二项式重组树,现金流不能精确地在树的每个节点计算。
SwapRate
- 适用于固定腿部价格适用于固定腿利率,返回为NINST
-通过-1
适用于固定腿速率的载体中,使得互换的值是在时间0这个比率是在计算中使用互换零时指定用于固定腿在速率价格LegRate
是为NaN
。该SwapRate
输出用为NaN
这些文书,其中优惠券比例
未设置为为NaN
。
您单击对应于该MATLAB命令的链接:
在MATLAB命令窗口中输入它运行的命令。Web浏览器不支持MATLAB的命令。万博1manbetx
您还可以选择从下面的列表中的网站:
选择最佳的网站性能的中国网站(在中国或英文)。其他MathWorks的国家网站都没有从您的位置访问进行了优化。