期限结构分析与利率互换

这个例子演示了Financial Toolbox™软件中的一些期限结构分析函数。具体来说,它说明了如何推导隐含零(现货)从观察到的优惠券的市场价格前向前曲线。然后,从市场数据暗示的零和前向曲线将用于价格进行利率交换协议。

在利率交换,双方同意定期交换现金流量。其中一个现金流量基于在交换过程中固定利率保持不变。另一个现金流流与某种可变索引率相关联。在成立时进行交换金额,以查找交换协议的固定率。这种固定利率,由交换协议的义主题适当缩放,确定了固定现金流量的定期顺序。

通常,利率掉期从前向曲线定价,使得从一系列前进率和定期现金流量的可变现金流量具有相同的当前价值。因此,利率交换定价和术语结构分析密切相关。

步骤1

指定10美元债券的结算日期,成熟日期,优惠券及市场价格的价值观。此数据允许您为每六个月交换净现金流量的净现金流量付款。为简单起见,接受月末付款规则(实际规则)和日计数(实际/实际)的默认值。为避免应计兴趣的问题,假设所有国债债券支付半年优惠券,并在优惠券付款日期发生该结算。

settr = datenum('15 -Jan-1999');Bonddata = {'15 -JUL-1999'0.06000 99.93.'15 -JAN-2000'0.06125 99.72'15 -JUL-2000'0.06375 99.70'15 -JAN-2001'0.06500 - 99.40“15 - 7 - 2001”0.06875 99.73'15 -JAN-2002'0.07000 99.42“15 - 7 - 2002”0.07250 99.32'15 -JAN-2003'0.07375 - 98.45“15 - 7 - 2003”0.07500 - 97.71'15 -JAN-2004'0.08000 98.15};

Bonddata.是MATLAB的一个实例®单元阵列,由花括号({})。

接下来,将存储在单元格数组中的日期指定为成熟CouponRate,价格向量进一步处理。

成熟= datenum (char (BondData {: 1}));CouponRate = [BondData {: 2}] ';价格= [BondData {: 3}] ';时间= 2;%半优惠券

步骤2

既然已经指定了数据,那么就使用期限结构函数zbtprice从有息债券的价格中提取零曲线。这条隐含的零息曲线代表了一系列与有息债券价格一致的零息国债利率,这样就不存在套利机会。

Zerorates = ZBTPRICE([成熟级优惠级],价格,定居);

零曲线,存储在滋润,在半年债券的基础上(定期,六个月,利率翻了一番)。第一个元素滋润是未来六个月的年度率,第二个元素是未来12个月的年度大率,等等。

步骤3

从隐含的零曲线,使用术语结构函数找到相应的暗示正常速率零2FWD

转发=零2fwd(零,成熟,定居);

前向曲线,储存在ForwardRates,也在半年债券的基础上引用。第一个元素ForwardRates为结算至结算后6个月间隔所适用的年化率,第二项为结算后6个月至12个月间隔所适用的年化率,以此类推。这条隐含的远期曲线也与观察到的市场价格一致,因此套利活动将无利可图。由于第一个远期利率也是零利率,第一个元素滋润ForwardRates都是一样的。

第四步

现在你已经推导出了零曲线,将它转换为一系列贴现因子与期限结构函数Zero2disc

贴现因素= zero2disc(ZeroRates, Maturity, Settle);

第5步

从折扣因子中,计算从隐含的前向费率导出的可变现金流的本值。对于普通利率掉期,每个支付日期仍然是常数,每个支付日期都持续,并取消本值等式的每一侧。下一行假设单位符号主体。

现值= sum((forward drates /Period) .* DiscountFactors);

第6步

计算掉期的价格(固定利率),方法是将固定现金流量的现值与从隐含远期利率得到的现金流量的现值相等。再一次,因为方程两边的概念本金都消掉了,所以假设它是1。

swapfixedrate =期限*陈列徒/总和(贴纸物);

这些计算的输出是:

零利率远期利率0.0614 0.0614 0.0670 0.0660 0.0695 0.0684 0.0758 0.0702 0.0774 0.0726 0.0846 0.0754 0.0925 0.0795 0.1077 0.0827 0.1089 0.0868 0.1239掉期价格(固定利率)= 0.0845

所有的速率都是十进制格式。掉期价格为8.45%,很可能是做市商买卖报价的中间价。

也可以看看

||||||||||

相关的话题