主要内容

双重引导曲线

这个例子展示了如何使用不同的折现曲线引导一条前向曲线。

定义数据

远期曲线和贴现曲线都需要数据。对于这个特定的示例,假设提供了EONIA(贴现曲线)和EURIBOR(远期曲线)的数据。然而,这种方法可以用于任何情况下,要建立的曲线不同于用于折现现金流的曲线。虽然本例中的数据是硬编码的,但它也可以导入到MATLAB中®dataffeed Toolbox™或Database Toolbox™。

解决= datenum (20 - 8月- 2013 ');%存款数据EONIADepositRates =[。0007 .00067];EONIADepositMat = datenum ({' 3 - 9月- 2013 ',“20 - 9 - 2013”});EONIADepositBasis = 2;%行为/ 360EONIADepositPeriod = 0;%联邦铁路局EONIAFRARates =[。';EONIAFRAStartDate = datenum ({“11 - 9 - 2013”,9 - 10月- 2013 ',' 13 - 11月- 2013 ',的11 - 12月- 2013});EONIAFRAEndDate = datenum ({9 - 10月- 2013 ',' 13 - 11月- 2013 ',的11 - 12月- 2013,' 11 - 1月- 2014 '});EONIAFRABasis = 2;%行为/ 360EONIAFRAPeriod = 0;%交换数据EONIASwapRates =[。';EONIASwapMat = datemnth(setta,12*[2:5 7 10 15 20 25 30]'); / /设定时间EONIASwapBasis = 5;% ISDA 30/360EONIASwapPeriod = 1;% EURIBOR存款数据EURIBORDepositRates =[。';EURIBORDepositMat = datenum ({' 3 - 9月- 2013 ',“20 - 9 - 2013”,“21 - 10月- 2013”,20 - 11月- 2013 '});EURIBORDepositBasis = 2;%行为/ 360EURIBORDepositPeriod = 0;%欧元区银行间同业拆借利率期货EURIBORFRARates = [9982 9978 9976 9975]';EURIBORFRAStartDate = datenum ({“18 - 12月- 2013,“19 - 3月- 2014”,“18 - 2014年6月- - - - - -”,的17 - 9月- 2014});EURIBORFRAEndDate = datenum ({“18 - 3月- 2014”,截止2014年6月19日的,“18 - 9 - 2014”,的17 - 12月- 2014});EURIBORFRABasis = 2;%行为/ 360EURIBORFRAPeriod = 4;% EURIBOR互换数据EURIBORSwapRates =[。'; ';EURIBORSwapMat = datemnth(收盘价,12*[2:5 7 10 15 20 25 30]');/ /结算EURIBORSwapBasis = 5;% ISDA 30/360EURIBORSwapPeriod = 1;

创建EONIA折扣曲线

构建EONIA曲线。这和单曲线的情况是一样的。

CurveType =“零”;CurveCompounding = 1;CurveBasis = 3;%行为/ 365nEONIADeposits =长度(EONIADepositMat);nEONIAFRA =长度(EONIAFRAEndDate);nEONIASwaps =长度(EONIASwapMat);EONIAInstrumentTypes = [repmat ({“存款”} nEONIADeposits 1);repmat ({联邦铁路局的} nEONIAFRA 1); repmat ({“交换”} nEONIASwaps 1)];EONIAPeriod = [repmat (EONIADepositPeriod nEONIADeposits 1);repmat (EONIAFRAPeriod nEONIAFRA 1); repmat (EONIASwapPeriod nEONIASwaps 1)];EONIABasis = [repmat (EONIADepositBasis nEONIADeposits 1);repmat (EONIAFRABasis nEONIAFRA 1); repmat (EONIASwapBasis nEONIASwaps 1)];EONIAInstrumentData = [[repmat(Settle,[nEONIASwaps 1]);...[EONIADepositMat; EONIAFRAEndDate; EONIASwapMat]...[EONIADepositRates; EONIAFRARates EONIASwapRates]];EONIAInstrumentTypes EONIACurve = IRDataCurve.bootstrap (CurveType,结算,...EONIAInstrumentData,“复合”CurveCompounding,“基础”CurveBasis,...“InstrumentPeriod”EONIAPeriod,“InstrumentBasis”EONIABasis)
eonicurve = Type: 0 Settle: 735466 (20- august -2013) compound: 1 Basis: 3 (actual/365) InterpMethod: linear date: [16x1 double] Data: [16x1 double]

创建欧元银行间同业拆借利率远期曲线

欧元银行间同业拆借利率远期曲线首先使用单一曲线方法构建。

nEURIBORDeposits =长度(EURIBORDepositMat);nEURIBORFRA =长度(EURIBORFRAEndDate);nEURIBORSwaps =长度(EURIBORSwapMat);EURIBORInstrumentTypes = [repmat ({“存款”} nEURIBORDeposits 1);repmat ({“期货”} nEURIBORFRA 1); repmat ({“交换”} nEURIBORSwaps 1)];EURIBORPeriod = [repmat (EURIBORDepositPeriod nEURIBORDeposits 1);repmat (EURIBORFRAPeriod nEURIBORFRA 1); repmat (EURIBORSwapPeriod nEURIBORSwaps 1)];EURIBORBasis = [repmat (EURIBORDepositBasis nEURIBORDeposits 1);repmat (EURIBORFRABasis nEURIBORFRA 1); repmat (EURIBORSwapBasis nEURIBORSwaps 1)];EURIBORInstrumentData = [repmat(结算、大小(EURIBORInstrumentTypes))...[EURIBORDepositMat; EURIBORFRAEndDate; EURIBORSwapMat]...[EURIBORDepositRates; EURIBORFRARates EURIBORSwapRates]];EURIBORInstrumentTypes EURIBORCurve_Single = IRDataCurve.bootstrap (CurveType,结算,...EURIBORInstrumentData,“复合”CurveCompounding,“基础”CurveBasis,...“InstrumentPeriod”EURIBORPeriod,“InstrumentBasis”EURIBORBasis)
EURIBORCurve_Single = Type: 0 Settle: 735466 (20-Aug-2013) compound: 1 Basis: 3 (actual/365) InterpMethod: linear date: [18x1 double] Data: [18x1 double]

用EONIA曲线构建EURIBOR曲线

接下来,使用EONIA曲线作为贴现曲线构建一条曲线。为此,将EONIA曲线指定为可选输入参数。

EURIBORInstrumentTypes EURIBORCurve = IRDataCurve.bootstrap (CurveType,结算,...EURIBORInstrumentData,“DiscountCurve”EONIACurve,“复合”,...CurveCompounding,“基础”CurveBasis,“InstrumentPeriod”EURIBORPeriod,...“InstrumentBasis”EURIBORBasis)
EURIBORCurve = Type: 0 Settle: 735466 (20-Aug-2013) compound: 1 Basis: 3 (actual/365) InterpMethod: linear date: [18x1 double] Data: [18x1 double]

阴谋的结果

绘制结果以比较曲线。

PlottingDates =(解决+ 20:30:解决+ 365 * 30)';PlottingDates TimeToMaturity = yearfrac(解决);figure plot(TimeToMaturity, getZeroRates(eoniaccurve, PlottingDates),“b”)举行情节(TimeToMaturity getZeroRates (EURIBORCurve_Single PlottingDates),“r”) plot(TimeToMaturity, getZeroRates(EURIBORCurve, PlottingDates),‘g’)标题(“单曲线和双曲线自举的比较”)({传奇“欧元”,“欧元区银行间同业拆借,“欧元银行间同业拆借利率与EONIA贴现”},“位置”,“东南”

正如预期的那样,两条不同的欧元银行间同业拆借利率曲线之间的差异很小,但并不微不足道。

参考书目

这个例子来自以下论文和期刊文章:

F . Ametrano和M. Bianchetti关于多重利率曲线引导,你一直想知道但又不敢问的一切。(2013年4月2日),于:https://papers.ssrn.com/sol3/papers.cfm?abstract_id=2219548

[2] Bianchetti, M。两条曲线,一价。风险杂志,74-80页,2010年8月。

Fujii M,岛田,Y, Takahashi, A。关于有抵押品与无抵押品多重互换曲线构造的注记。(2010年1月2日),CARF工作文件系列号carf - f - 154,可以在:https://papers.ssrn.com/sol3/papers.cfm?abstract_id=1440633

[4]墨丘里奥教练法比奥。利率和信贷紧缩:新的公式和市场模型。(2009年2月5日),彭博投资组合研究论文(No. 2010-01-FRONTIERS)。

[5] Nashikkar,。理解OIS打折。巴克莱资本利率策略,2011年2月24日。

另请参阅

||||

相关的例子

更多关于

外部网站