swapbyzero

从零曲线集和跨货币价格互换中提取的价格互换工具

描述

例子

[价格斯瓦普拉特AI.RecCF记录日期PayCF付款日期]=swapbyzero(等级规范勒格拉特解决成熟为掉期工具定价。你可以用swapbyzero计算普通掉期、分期偿还掉期和远期掉期的价格。所有输入都是标量或标量奈斯特-借-1向量,除非另有规定。任何日期都可以是序列日期号或日期字符向量。可选参数可以作为空矩阵传递[]

例子

[价格斯瓦普拉特AI.RecCF记录日期PayCF付款日期]=swapbyzero(等级规范勒格拉特解决成熟名称,价值为具有一个或多个指定的附加选项的掉期工具定价名称,价值对参数。您可以使用swapbyzero计算普通掉期、摊销掉期、远期掉期和交叉货币掉期的价格。有关普通掉期、摊销掉期和远期掉期的名称-价值对的更多信息,请参阅香草互换,摊销互换,远期掉期

具体来说,您可以使用名称-值对汇率交换初始原则ExchangeMaturityPrincipal计算跨货币掉期的价格。有关跨货币掉期的名称-值对的更多信息,请参见跨货币互换

例子

全部崩溃

定价具有固定接收段和浮动支付段的利率掉期。每年支付一次,名义本金金额为100美元。其余参数的值为:

  • 固定支腿的票面利率:0.06(6%)

  • 浮动支腿的价差:20个基点

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

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

根据上面的信息,设置所需的参数并构建勒格拉特LegType腿复位矩阵:

解决=' 01 - 1月- 2000;成熟=‘01-Jan-2003’;基准=0;本金=100;利率=0.0620];% (CouponRate传播)LegType=[10];%[固定浮动]LegReset = [1 1];%每年支付一次

加载文件deriv.mat,提供零速率规范,为债券定价所需的利率期限结构。

负载deriv.mat;

使用swapbyzero计算掉期的价格。

价格=swapbyzero(零利率规范、法定利率、结算、到期、,...LegReset,基础,主体,LegType)
价格=3.6923

使用之前的数据,计算掉期利率,即固定分支的息票率,以便在时间=0时的掉期价格为零。

LegRate=[NaN 20];[Price,SwapRate]=swapbyzero(ZeroRateSpec,LegRate,结算,...到期日、法律重置、基础、本金、法律类型)
价格= 0
斯瓦普拉特=0.0466

swapbyzero如果解决不是在一个重置日期(和'开始日期'未指定),则假定生效日期为之前的重置日期解决为了计算应计利息和脏价。在本例中,生效日期为(‘2009年9月15日’),这是前的先前复位日期(“08 - 2010年6月- - - - - -”解决日期

使用swapbyzero具有的名称-值对参数勒格拉特LegTypeLatestFloatingRate调整现金流基础BusinessDayConvention计算价格斯瓦普拉特AI.RecCF记录日期PayCF付款日期

定居= datenum(“08 - 2010年6月- - - - - -”); RateSpec=intenvset(“费率”,(。0.0.5 .0075 .01 .014 .02 .025 .03]',...startdate可以的解决'EndDates',{‘2010年12月8日’“08 - 2011年6月- - - - - -”...“08 - 2012年6月- - - - - -”“08 - 2013年6月- - - - - -”“2015年6月8日”“08 - 2017年6月- - - - - -”‘08-Jun-2020’} ');到期日=datenum('15 -sep-2020');LegRate=[0.025 50];LegType=[1 0];%固定/浮动LatestFloatingRate = 0.005;[价格,SwapRate,AI,RecCF,RecCFDates,PayCF,PayCFDates] =...swapbyzero(RateSpec,LegRate,定居,成熟,“腿型”,LegType,...“最近的忘恩负义者”,最新的忘恩负义者,“调整现金流基础”符合事实的...'BusinessDayConvention'“修改如下”
价格=-6.7259
斯瓦普拉特=南
AI=1.4575
RecCF=1×12-1.8219 2.5000 2.5000 2.5137 2.4932 2.4932 2.5000 2.5000 2.5000 2.5137 2.4932 102.4932
RecCFDates =1×12734297 734396 734761 735129 735493 735857 736222 736588 736953 737320 737684 738049
PayCF =1×12-0.3644 0.5000 1.4048 1.9961 2.8379 3.2760 3.8218 4.1733 4.5164 4.4920 4.7950 104.6608
PayCFDates =1×12734297 734396 734761 735129 735493 735857 736222 736588 736953 737320 737684 738049

价格采用​​两种利率曲线3个互换。首先,定义利率期限结构的数据:

起始日期=“2012年5月1日”;结束日期={“2013年5月1日”;“2014年5月1日”;“2015年5月1日”;“2016年5月1日”}; 利率=[[0.0356;0.041185;0.04489;0.047741],[0.0366;0.04218;0.04589;0.04974];

创建等级规范使用意图集

RateSpec=intenvset(“费率”,差饷,startdate可以的,StartDates,...'EndDates'EndDates,“复利”, 1)
等级规范=结构与字段:FinObj:'RateSpec'复利:1盘:[4x2双精度]费率:[4x2双精度]结束时间:[4x1双精度]开始时间:[4x1双精度]结束日期:[4x1双精度]开始日期:734990估价日期:734990基准:0结束月规则:1

看这张照片费率对于两条利率曲线。

费率规范费率
ANS =4×20.0356 0.0366 0.0412 0.0422 0.0449 0.0459 0.0477 0.0497

定义交换工具。

解决=“2012年5月1日”;成熟=“2015年5月1日”LegRate=[0.0610];Principal=[100;50;100];%三个名义金额

使用两条曲线为三种掉期定价。

价格=swapbyzero(利率规范、法定利率、结算、到期、,“校长”校长)
价格=3×23.9688 3.6869 1.9844 1.8434 3.9688 3.6869

使用两条利率曲线为掉期定价。首先,定义两种利率期限结构的数据:

起始日期=“2012年5月1日”;结束日期={“2013年5月1日”;“2014年5月1日”;“2015年5月1日”;“2016年5月1日”};Rates1 = (0.0356; 0.041185; 0.04489; 0.047741);Rates2 = (0.0366; 0.04218; 0.04589; 0.04974);

创建等级规范使用意图集

RateSpecReceiving = intenvset(“费率”,Rates1,startdate可以的,StartDates,...'EndDates'EndDates,“复利”,1);RateSpecPaying = intenvset(“费率”,Rates2,startdate可以的,StartDates,...'EndDates'EndDates,“复利”, 1); RateSpec=[RateSpecReceiving RateSpecPaying]
等级规范=2×11结构FinObj复利盘利率结束时间开始时间结束日期开始日期估值日期基准月底规则

定义交换工具。

解决=“2012年5月1日”;成熟=“2015年5月1日”LegRate=[0.0610];Principal=[100;50;100];

使用两条曲线为三种掉期定价。

价格=swapbyzero(利率规范、法定利率、结算、到期、,“校长”校长)
价格=3×13.9693 1.9846 3.9693

若要计算远期汇率掉期率,请设置StartDate可以参数设置为未来日期,并在勒格拉特输入

定义零个曲线数据,并且使用建立一个零曲线爱迪达曲线

ZeroRates = [2.09 2.47 2.71 3.12 3.43 3.85 4.57]'/ 100;定居= datenum(“2012年1月1日”);EndDates = datemnth(set,12*[1 2 3 5 7 10 20]'); / /结束日期复合= 1;ZeroCurve = IRDataCurve ('零',定居,EndDates,ZeroRates,“复利”,复利)
ZeroCurve=类型:零结算:734869(2012年1月1日)复利:1基础:0(实际/实际)方法:线性日期:[7x1双精度]数据:[7x1双精度]

创建一个等级规范使用toRateSpec方法

RateSpec=ZeroCurve.toRateSpec(结束日期)
等级规范=结构与字段:FinObj: 'RateSpec' compound: 1 Disc: [7x1 double] Rates: [7x1 double] EndTimes: [7x1 double] StartTimes: [7x1 double] EndDates: [7x1 double] StartDates: 734869 ValuationDate: 734869 Basis: 0 EndMonthRule: 1

计算远期掉期利率(固定分支的票面利率),以便=0.为零。远期掉期从一个月(2012年2月1日)开始,到10年(2022年2月1日)到期。

StartDate=datenum('1-FEB-2012'); 到期日=datenum(“2022年2月1日”);LegRate = [NaN的0];[价格,SwapRate] = swapbyzero(RateSpec,LegRate,沉降,成熟度,...'开始日期', 开始日期)
价格= 0
SwapRate = 0.0378

swapbyzero函数生成基于的现金流日期解决成熟日期,而使用成熟日期作为“锚定”日期,从该日期开始定期向后计数。默认情况下,swapbyzero不区分非营业日和营业日。使swapbyzero将非工作日移动到以下工作日,可以设置可选的名称值输入参数BusinessDayConvention价值跟随

定义零个曲线数据,并且使用建立一个零曲线爱迪达曲线

ZeroRates = [2.09 2.47 2.71 3.12 3.43 3.85 4.57]'/ 100;定居= datenum(的5 - 1月- 2012);EndDates = datemnth(set,12*[1 2 3 5 7 10 20]'); / /结束日期复合= 1;ZeroCurve = IRDataCurve ('零',定居,EndDates,ZeroRates,“复利”,复合);RateSpec=zeroccurve.toRateSpec(EndDates);StartDate=datenum(“5月 -  2012”); 到期日=datenum(“5 - 2月- 2022 ');LegRate = [NaN的0];

演示可选输入BusinessDayConventionswapbyzero首先使用不再与可选的名称 - 值输入参数BusinessDayConvention.请注意,当使用BusinessDayConvention,所有日期均为工作日。

[价格1,SwapRate1,〜,〜,RecCFDates1,〜,PayCFDates1] = swapbyzero(RateSpec,LegRate,沉降,成熟度,...'开始日期',开始日期);datestr(RecCFDates1)
ANS =11×11个字符数组'05 -Jan-2012' '05 -Feb-2013' '05 -Feb-2014' '05 -Feb-2015' '05 -Feb-2016' '05 -Feb-2017' '05 -Feb-2018' '05  -  2月 -  2019' '05 -Feb-2020' '05 -Feb-2021' '05 -Feb-2022'
isbusday(RecCFDates1)
ANS =11x1逻辑阵列1 1 1 1 1 0 1 1 1 1 ⋮
[Price2,SwapRate2,~,~,RecCFDates2,~,PayCFDates2]=swapbyzero(费率规范,LegRate,结算,到期,...'开始日期',起始日期,'BusinessDayConvention'“跟随”);datestr(RecCFDates2)
ANS =12x11 char数组“2012年1月5日”“2012年2月6日”“2013年2月5日”“2014年2月5日”“2015年2月5日”“2016年2月5日”“2017年2月6日”“2018年2月5日”“2019年2月5日”“2020年2月5日”“2021年2月7日”
isbusday(RecCFDates2)
ANS =12x1逻辑阵列1 1 1 1 1 1 1 1 1⋮

使用最重要的输入参数以定义摊销计划。

创建等级规范

费率=0.035;估价日期=“2011年1月1日”;开始日期=估价日期;结束日期=“2017年1月1日”; 复合=1;RateSpec=intenvset('ValuationDate',估价日期,startdate可以的,开始日期,...'EndDates'EndDates,“费率”,差饷,“复利”,复合);

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

解决=“2011年1月1日”;成熟=“2017年1月1日”;LegRate = [0.04 10];

定义掉期摊销计划。

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

计算摊销掉期的价格。

价格=swapbyzero(利率规范、法定利率、结算、到期、,“校长”校长)
价格=1.4574

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

创建等级规范

率= 0.0325;ValuationDate =“2012年1月1日”;开始日期=估价日期;结束日期=“2018年1月1日”; 复合=1;RateSpec=intenvset('ValuationDate',估价日期,startdate可以的,开始日期,...'EndDates'EndDates,“费率”,差饷,“复利”,复配)
等级规范=结构与字段:FinObj:“费率规格”组合:1盘:0.8254费率:0.0325结束时间:6开始时间:0结束日期:737061开始日期:734869估价日期:734869基准:0结束月规则:1

计算一年期(2013年1月1日)、三年到期的远期掉期价格,远期掉期利率为4.27%。

解决=“2012年1月1日”; 起始日期=“2013年1月1日”;成熟=“2016年1月1日”;LegRate=[0.0427 10];Price=swapbyzero(利率规范、LegRate、结算、到期、,'开始日期', 开始日期)
价格=2.5083

使用之前的数据,计算远期掉期利率,即固定分支的息票率,使得时间=0时的远期掉期价格为零。

LegRate=[NaN 10];[Price,SwapRate]=swapbyzero(利率规范,LegRate,结算,到期,...'开始日期', 开始日期)
价格= 0
SwapRate = 0.0335

如果解决不在浮动利率票据的重置日期,swapbyzero尝试在之前获取最新的浮动汇率解决从…起等级规范或者LatestFloatingRate参数当此速率的重置日期超出范围时等级规范(和LatestFloatingRate未指定),swapbyzero未能获得该日期的速率,并产生一个错误。这个例子说明了如何使用LatestFloatingRate输入参数以避免错误。

创建错误条件时,交换仪器StartDate可以不能由之而定等级规范

解决=' 01 - 1月- 2000;成熟='01  - 癸2003';基准=0;本金=100;利率=0.0620];% (CouponRate传播)LegType=[10];%[固定浮动]LegReset = [1 1];%每年支付一次负载deriv.mat;价格= swapbyzero (ZeroRateSpec LegRate定居,成熟,...“LegReset”LegReset,“基础”原因“校长”最重要的...“腿型”,LegType)
使用floatbyzero(第256行)时出错无法从RateSpec获取仪器开始日期的速率。其重置日期(1999年12月1日)在RateSpec的日期范围内。这个比率需要计算在工具开始日期的现金流量。考虑用“LestestPrimalGrutter”输入参数指定这个比率。SvaBy0中的错误(第289行)[浮动价格,FloatPrice,FloatCF,FulasCFords] =浮游生物(浮游生物),价差,结算,…

此处为利率的重置日期解决1999年12月1日,比估价日期早零速率规范01-JAN-2000).可以通过在掉期工具的开始日期指定汇率来避免这个错误LatestFloatingRate输入参数。

定义LatestFloatingRate并计算浮动汇率价格。

价格= swapbyzero (ZeroRateSpec LegRate定居,成熟,...“LegReset”LegReset,“基础”原因“校长”最重要的...“腿型”,LegType,“最近的忘恩负义者”,0.03)
价格=4.7594

定义OIS与伦敦银行同业拆借利率。

定居= datenum(“2013年3月15日”);CurveDates = daysadd(沉降,360 * [1/12 2/12 3/12 6/12 1 2 3 4 5 7 10],1);OISRates = [0.0018 0.0019 0.0021 0.0023 0.0031 0.006 0.011 0.017 0.021 0.026 0.03]';LiborRates = [0.0045 0.0047 0.005 0.0055 0.0075 0.011 0.016 0.022 0.026 0.030 0.0348]';

绘制双曲线。

人物,情节(CurveDates,OISRates,'R');持有在…上LiborRates;情节(CurveDates,“b”)datetick图例({“OIS曲线”“伦敦银行同业拆借利率曲线”})

创建关联的等级规范为OIS和Libor的曲线。

OISCrove=intenvset(“费率”OISRates,'开始日期'解决'EndDates', CurveDates);LiborCurve = intenvset (“费率”,诽谤,'开始日期'解决'EndDates', CurveDates);

定义交换。

到期日=datenum(“2018年3月15日”);%五年期互换FloatSpread = 0;FixedRate = .025;LegRate = [FixedRate FloatSpread];

计算掉期工具的价格。这LiborCurve期限结构将用于产生浮动分支的现金流OISCurve期限结构将用于现金流的折现。

价格= swapbyzero(OISCurve,LegRate,定居,...成熟'ProjectionCurve'LiborCurve)
价格= -0.3697

比较期限结构时的结果OISCurve用于贴现和产生浮动支腿的现金流。

PriceSwap = swapbyzero(OISCurve,LegRate,沉降,成熟度)
PriceSwap = 2.0517

价,其接收JPY的固定速率和以每年频率支付USD的固定速率的现有的交叉货币互换。

定居= datenum(“2015年8月15日”); 到期日=datenum(“2018年8月15日”);重置= 1;LegType = [1 1];%惯性美元=0.09;日元=0.04;固定利率=0.08;固定利率=0.05;本金=10000000;本金=1200000000;S=1/110;利率规范=intenvset('开始日期'解决“结束日期”成熟“费率”,卢比/美元,“复利”,-1);RateSpec_JPY = intenvset('开始日期'解决“结束日期”成熟“费率”,r_JPY,“复利”,-1);价格=swapbyzero([RateSpec_JPY RateSpec_USD],[FixedRate_JPY FixedRate_USD],...定居,成熟,“校长”,[本金日元本金美元],“FXRate”,[S 1],“腿型”,LegType)
价格=1.5430e+06

为一个新的掉期定价,你支付一个欧元浮动,收到一个美元浮动。

定居= datenum(“2015年12月22日”); 到期日=datenum(“2018年8月15日”); LegRate=[0-50/10000];LegType=[0];%浮子LegReset = [4 4];FXRate = 1.1;Notional = [10000000 8000000];USD_Dates = datemnth(set,[1 3 6 12*[1 2 3 5 7 10 20 30] '); / /日期usd_0 = [0.03 0.06 0.08 0.13 0.36 0.76 1.63 2.29 2.88 3.64 3.89]'/100;Curve_USD = intenvset ('开始日期'解决'EndDates',美元/日,“费率”, USD_Zero);EUR_Dates = datemnth(setta,[3 6 12*[1 2 3 5 7 10 20 30] '); / /设置日期EUR_Zero = [0.017 0.033 0.088 .27 .512 1.056 1.573 2.183 2.898 2.797]'/100;Curve_EUR = intenvset ('开始日期'解决'EndDates'EUR_Dates,“费率”, EUR_Zero);价格= swapbyzero([Curve_USD Curve_EUR],...登记、结算、到期,“腿型”,LegType,“LegReset”LegReset,“校长”理论上的...“FXRate”[1 FXRate],“交换初始原则”,错)
价格=1.2002e+06

输入参数

全部崩溃

利率结构,使用意图集创建等级规范

等级规范也可以是一个1-借-2输入变量的等级规范S和第二个等级规范含有用于支付腿的一个或多个折曲线结构。如果只有一个等级规范结构是指定的,那么等级规范用于打折双腿。

数据类型:塑造

腿速度,指定为奈斯特-借-2矩阵,每行定义为以下其中一行:

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

  • [Spread CouponRate](浮动固定)

  • [耦合速率耦合速率](惯性)

  • [价差](浮动)

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

数据类型:双重的

结算日期,指定为标量或奈斯特-借-1串行日期数字或表示每个交换结算日期相同的值的日期字符向量的向量。解决必须比早成熟

数据类型:烧焦|细胞|双重的

到期日,指定为奈斯特-借-1表示每次掉期到期日的序列日期号向量或日期字符向量。

数据类型:烧焦|细胞|双重的

名称值对参数

指定可选的逗号分离对名称,价值参数。的名字是参数名和价值是对应的值。的名字必须出现在引号内。您可以按任意顺序指定多个名称和值对参数,如下所示:名称1,值1,…,名称,值

例子:[价格、SwapRate、AI、RecCF、RecCFDates、PayCF、PayCFDates]=swapbyzero(费率规范、费率、结算、,
到期日,'LegType',LegType,'LatestFloatingRate',LatestFloatingRate,'AdjustCashFlowsBasis',true,
“BusinessDayConvention”和“modifiedfollow”)

香草互换,摊销互换,远期掉期

全部崩溃

每年复位频率为每个交换,指定为逗号分隔的一对组成的“LegReset”奈斯特-借-2矢量。

数据类型:双重的

日计数基础,表示每个航段的基础,指定为逗号分隔的对,包括“基础”奈斯特-借-1数组(或奈斯特-借-2如果原因不同的腿是不同的)。

  • 0 =实际/实际

  • 1=30/360(新航)

  • 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

有关详细信息,请参阅原因

数据类型:双重的

名义本金金额或本金价值表,指定为逗号分隔对,包括“校长”和一个载体或细胞阵列。

最重要的接受奈斯特-借-1向量或奈斯特-借-1单元阵列(或奈斯特-借-2如果最重要的对于名义本金金额或本金价值表的每一部分,则不同。对于明细表,单元格数组的每个元素都是一个努米德-借-2数组,其中第一列为日期,第二列为其关联的名义主值。日期表示主体值有效的最后一天。

数据类型:细胞|双重的

分支类型,指定为逗号分隔的对,由“腿型”奈斯特-借-2带值矩阵[1 1](惯性),[1 0](固定浮动),[0 1](float-fixed),或[0 0](浮动)。每一行代表一种仪器。每一列表示相应的支腿是否固定(1)或浮动(0.).这个矩阵定义了输入值的解释勒格拉特LegType允许[1 1](惯性),[1 0](固定浮动),[0 1](float-fixed),或[0 0](浮动)掉期

数据类型:双重的

月末规则标志,用于生成日期成熟是一个月的月末日期,该月的天数不超过30天,指定为逗号分隔的一对,由“EndMonthRule”和一个非负整数[0.1)使用奈斯特-借-1(或奈斯特-借-2如果末梢不同的腿是不同的)。

  • 0.=忽略规则,这意味着付款日期始终是当月的同一数字日。

  • 1=启用规则,这意味着付款日期始终是当月的最后一个实际日期。

数据类型:逻辑

根据实际期间天数调整现金流的标志,指定为逗号分隔对,由“调整现金流基础”奈斯特-借-1(或奈斯特-借-2如果调整现金流基础值为的逻辑的每个分支不同)0.(虚假)或1(真的)。

数据类型:逻辑

工作日约定,指定为逗号分隔的对,由'BusinessDayConvention'和一个字符向量或N-借-1(或奈斯特-借-2如果BusinessDayConvention对于工作日约定的字符向量的每个分支(腿)单元数组是不同的。选择营业日惯例决定如何处理非营业日。非营业日定义为周末加上任何其他营业日(如法定假日)。价值观是:

  • 真实的-非工作日被忽略了。在非营业日的现金流量被假定在实际日进行分配。

  • 跟随-现金流在一个非营业日被假定在下一个营业日分配。

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

  • 以前的-现金流在一个非营业日被假定在前一个营业日被分配。

  • 修改前-现金流在一个非营业日被假定在前一个营业日被分配。但如前一个营业日在不同的月份,则以下一个营业日为准。

数据类型:烧焦|细胞

在计算工作日内使用节假日,指定为逗号分隔的一对组成的“假日”以及使用安霍利迪-借-1矢量。

数据类型:双重的

掉期实际开始的日期,指定为逗号分隔对,由'开始日期'奈斯特-借-1序列日期编号的向量、字符向量或字符向量的单元格数组。

数据类型:烧焦|细胞|双重的

在上次重置日期设置的下一次浮动付款的费率,指定为逗号分隔对,由“最近的忘恩负义者”和一个标量数值。

LatestFloatingRate接受下一个浮动支付的利率,设定在最后的重置日期。LatestFloatingRate是一个奈斯特-借-1(或奈斯特-借-2如果LatestFloatingRate不同的腿是不同的)。

数据类型:双重的

用于为掉期的浮动分支生成现金流的利率曲线,指定为逗号分隔的对,包括'ProjectionCurve'等级规范

如果指定一个固定浮子或浮法固定交换,所述射影曲线率曲线在生成用于交换的浮动腿现金流使用。这种结构必须用创建意图集

如果指定固定或浮动交换,则射影曲线奈斯特-借-2矢量,因为每个浮动支腿可能有不同的投影曲线。

数据类型:塑造

跨货币互换

全部崩溃

用于现金流的外汇(FX)汇率,指定为逗号分隔的对,包括“FXRate”奈斯特-借-2双打的数组。由于汇率可以应用于付款人或收款人分支,因此输入数组中有2列,您必须指定哪个分支具有外币。

数据类型:双重的

标志,如果最初的指示最重要的,指定为逗号分隔对,由“交换初始原则”奈斯特-借-1逻辑值的数组。

数据类型:逻辑

标志指示是否最重要的在交换成熟,指定为逗号分隔对,由“交换机械原理”奈斯特-借-1逻辑值的数组。虽然在实践中,大多数单一货币互换在到期时不会交换本金,但默认情况下是这样的,以保持向后兼容性。

数据类型:逻辑

输出参数

全部崩溃

交换价格,作为工具数量返回(奈斯特)由(曲线的数NUMCURVES)矩阵。每一列都来自于一条零曲线。价格产出是肮脏的价格。要计算净价格,请减去应计利息(AI.)从全价。

适用于固定腿的比率,返回为a奈斯特-借-NUMCURVES适用于固定分支的利率矩阵,使得掉期价值在时间0时为零。当为固定分支指定的利率为0时,该利率用于计算掉期价格勒格拉特这个斯瓦普拉特输出中填充了对于那些优惠券比例未设置为

应计利息,作为奈斯特-借-NUMCURVES矩阵

收货段的现金流量,作为a奈斯特-借-NUMCURVES矩阵

笔记

如果在中指定了多条曲线等级规范输入,然后第一个曲线行对应于所述第一交换中,第二曲线行对应于第二个交换,以此类推。

收货腿的付款日期,作为奈斯特-借-NUMCURVES矩阵

支付部分的现金流,作为奈斯特-借-NUMCURVES矩阵

付款段的付款日期,作为奈斯特-借-NUMCURVES矩阵

更多关于

全部崩溃

分期偿还掉期

在摊销掉期中,名义本金周期性减少,因为它与本金余额下降(摊销)的基础金融工具(如抵押贷款)挂钩。

远期掉期

在未来的固定日期签订利率互换协议。

跨货币互换

互换在互换支付腿以不同货币计价。

跨货币掉期和标准掉期之间的一个区别是,本金交换可能发生在掉期的开始和/或结束时。初始本金的交换仅在开始时对跨货币掉期进行定价时起作用(换句话说,现有跨货币掉期的定价将在该现金流发生后进行)。此外,这些本金交换通常不会影响掉期的价值(因为两个分支的本金价值是根据货币汇率选择的),但会影响每个分支的现金流。

工具书类

[1] 赫尔,J。期权、期货和其他衍生品第四版,普伦蒂斯大厅,2000年。

在R2006a之前引入