主要内容

对于固定收益证券定价和收益率计算

介绍

金融工具箱™产品用于计算应计利息,价格,产量,凸性,和固定收益证券的期限提供的功能。各种约定用于确定这些计算的细节存在。证券业和金融市场协会(SIFMA),在美国市场中,国际资本市场金宝app协会(ICMA),主要用于欧洲市场,而国际掉期与衍生工具协会(ISDA指定的金融工具箱软件支持公约).由于历史原因,SIFMA的金融工具箱文档中为SIA和ISMA被称为国际资本市场协会(ICMA)简称。金融工具的工具箱™支持定价的固定收益证券的附加功能。金宝app有关更多信息,请参阅价格利率工具(金融工具的工具箱)

固定收益的术语

由于关于这个主题的术语在不同的文本中有所不同,这里有一些适用于这些金融工具箱功能的基本定义。

结算日指的是货币首次转手的日期;也就是说,当买家支付债券时。它不需要与发行日期,这是债券首次出售的日期。

首先息票日期最后票面日期分别为第一个和最后一个优惠券支付的日期。虽然债券通常每年或半年定期支付息票,但第一期和最后一期息票期的长度可能与标准息票期不同。工具箱包括价格和收益函数,用于处理这些奇怪的第一和/或最后时期。

连续的quasi-coupon日期确定固定收益债券的标准息票期的长度,不一定与实际息票付款日期一致。这个工具箱包含了一些函数,用于计算首期和/或末期为奇数的债券的实际和准息票日期。

固定收益证券可在不使用优惠券付款日期重合日期购买。在这种情况下,粘结所有者无权优惠券该期间的全部价值。当优惠券日之间购入债券,买方必须为从之前的付息日所赚取的息票利息的按比例分摊赔偿卖方。此优惠券支付的按比例份额被称为应计利息.的购买价格,支付了债券的价格,是市场报价加上应计利息。

到期日是债券发行者返还最终面值的日期,也称为赎回价值票面价值,给买家。的到期收益率一个键的是返回的那个相当于所有未来现金流(优惠券和主)到键合的当前市场价格的现值的标称化合物速率。

时期

债券是指与一个债券发行人使优惠券付款到保持器的频率。

债券期限

时间的价值

付款时间表

0

无息票(零息债券)

1

年度

2

半年一次的

3.

一年三次

4

季度

6

双月

12

每月

基础

基础指债券的基准或日计约定。日计数基础决定了各种工具的利息如何随时间累积,以及在利息支付日转移的金额。基数通常表示为一个分数,其中分子决定两个日期之间的天数,分母决定一年中的天数。

例如,的分子实际/实际指在确定两个日期之间的天数时,计算实际天数;分母表示在任何计算中使用给定年份的实际天数(365天或366天,取决于给定年份是否是闰年)。应计利息的计算日期之间的付款也使用日计数的基础。日计数基础是一小部分计息天数/在相关优惠期内的天数

金宝app支持的日计数约定和基值是:

基础值

日计数公约

0

actual/actual(默认)—在一个时间段和一年中的天数都是实际的天数。另外,另一个常见的actual/实际基础是basis12

1

30/360 SIA - 年分数是基于一年360天计算30天的月份,使用以下规则后:如果第一日期和第二日期是二月的最后一天,第二个日期更改为30.如果第一次约会落在31号或是2月的最后一天,它被改为30日。如果前面的测试后,在第一天是第30和第二天是31个,然后第二天被改变为30。

2

actual/360—一段时间内的天数等于实际的天数,但是一年的天数是360。

3.

实际/ 365 - 在一个时期的天数等于天的实际数量,但是天一年的数量是365(甚至在闰年)。

4

30/360 PSA -每个月的天数设置为30(包括二月)。如果周期的开始日期是每月的31日或2月的最后一天,起始日期设置为30,而如果开始日期是一个月的30日结束日期是31日结束日期设置为30。一年的天数是360天。

5

30/360 ISDA -每个月的天数设置为30,除了2月份,它是实际的天数。如果时间段的开始日期是每月的31号,则开始日期设置为每月的30号;如果开始日期是每月的30号,结束日期设置为每月的31号,则结束日期设置为每月的30号。一年的天数是360天。

6

30E /360 -每个月的天数被设置为30,除了二月份,它等于实际的天数。如果周期的开始日期或结束日期是一个月的31号,则该日期被设置为30号。一年的天数是360天。

7

actual/365日文——除了闰日(2月29日)被忽略外,一段时间内的天数等于实际天数。一年的天数是365天(即使是闰年)。

8

实际/实际ICMA - 在这两个一个时期,一年的天数是几天的实际数量和复利频率为每年。

9

actual/360 ICMA—一段时间内的天数等于实际的天数,但是一年中的天数是360天,复利频率是每年的。

10

actual/365 ICMA—一段时间内的天数等于实际的天数,但是一年的天数是365(即使在闰年),复利频率是按年计算的。

11

30/360 ICMA -每个月的天数被设置为30,除了二月份,它等于实际的天数。如果周期的开始日期或结束日期是一个月的31号,则该日期被设置为30号。一年的天数为360天,复利频率按年计算。

12

实际/365 ISDA -天数分数使用以下公式计算:(闰年的实际天数/ 366)+(正常年份的实际天数/ 365).基础12也被称为实际/实际ISDA。

13

bus/252——一个时间段内的天数等于实际的营业天数。一年的营业天数是252天。

请注意

虽然日数的概念听起来很简单,但实际的日数计算可能很复杂。你可以在斯蒂根和鲁滨逊的第五章找到关于天数计数和计算公式的很好的讨论,货币市场和债券计算参考书目

月底规则

月底规则影响债券的息票支付结构。当规则生效时,在一个月的最后一天支付息票的证券总是在这个月的最后一天支付息票。这意味着,例如,半年期债券在非闰年2月28日支付息票,在所有年份将在8月31日支付息票,在闰年将在2月29日支付息票。

月底规则

月底规则值

意义

1(默认)

规则的效果。

0

规则无效。

框架

尽管并非所有Financial Toolbox函数都需要相同的输入参数,但它们都接受以下通用的输入参数集。

常见的输入参数

输入

意义

解决

结算日

成熟

到期日

时期

息票付款期

基础

日计数的基础上

EndMonthRule

月底的付款规则

IssueDate

债券发行日期

FirstCouponDate

第一张息票付款日期

LastCouponDate

上次付息日

的通用输入参数解决成熟是必需的。其他的都是可选的。如果您不显式设置它们,它们将被设置为默认值。默认情况下,FirstCouponDateLastCouponDatenonapplicable。换句话说,如果你不指定FirstCouponDateLastCouponDate,假设债券没有奇怪的首息期和末息期。在这种情况下,债券是标准债券,息票支付结构完全基于到期日。

默认参数值

要演示Financial Toolbox函数中默认值的使用,请考虑cfdates函数,该函数计算固定收益证券组合的实际现金流支付日期,而不管第一个和/或最后一个息票期是正常的、多的还是短的。

与全输入参数列表完整调用语法

CFlowDates = cfdates(结算,到期日,期限,基础,…EndMonthRule, IssueDate, FirstCouponDate, LastCouponDate)

而最小的调用语法只需要结算日期和到期日

CFlowDates = cfdates(结算,到期)

单键的例子

举个例子,假设你和这些特征有联系:

解决=“20 - 9 - 1999”成熟=“15 - 10月- 2007”Period = 2 Basis = 0 EndMonthRule = 1 IssueDate = NaN FirstCouponDate = NaN LastCouponDate = NaN

时期基础,EndMonthRule设置为默认值,以及IssueDateFirstCouponDate,LastCouponDate

形式上,是一个IEEE®计算标准不是一个数字用于指示未定义操作的结果(例如,0除以0)。然而,也是一个方便的占位符。在Financial Toolbox软件的SIA功能中,指示存在不适用的值。它告诉Financial Toolbox函数忽略输入值并应用默认值。设置IssueDateFirstCouponDate,LastCouponDate在这个例子中cfdates假设债券已结算前,没有奇怪的第一个或最后一个优惠券期间存在已发出。

设置好这些值后,所有这些调用cfdates产生相同的结果。

cfdates(结算、成熟度)cfdates(结算、成熟周期)cfdates(解决、成熟时期,[])cfdates(结算、成熟度、[]基础)cfdates(结算、成熟 , [], []) cfdates(解决、成熟时期,[],EndMonthRule) cfdates(解决、成熟时期,[],NaN) cfdates(结算、成熟时期 , [], [], IssueDate) cfdates(定居,成熟,Period, [], [], IssueDate, [], []) cfdates(Settle, Maturity, Period, [], [], [], [],LastCouponDate) cfdates(Settle, Maturity, Period, Basis, EndMonthRule,...IssueDate、FirstCouponDate LastCouponDate)

因此,不指定特定的输入与传递空矩阵([])或通过-这三个人都说cfdates(和其他Financial Toolbox函数),以使用特定输入参数的默认值。

债券投资组合的例子

由于在前面的示例仅包括一个单键,有传递一个空矩阵或传递之间没有差别为可选输入参数。然而,对于债券投资组合,使用作为一个占位符是指定一些债券默认接受,同时明确设置非默认值,在投资组合中的剩余债券的唯一途径。

现在假设你有两种债券的投资组合。

解决=“20 - 9 - 1999”成熟= [“15 - 10月- 2007”“15 - 10月- 2010”

这些调用cfdates该计息期全部设置为默认值(周期= 2)。

cfdates(Settle, Maturity, 2) cfdates(Settle, Maturity, [2 2]) cfdates(Settle, Maturity, []) cfdates(Settle, Maturity, []) cfdates(Settle, Maturity, [NaN]) cfdates(Settle, Maturity, [2 2])

前两个调用显式设置周期= 2.自成熟是一个2-经过-1到期日期向量,cfdates知道你有一个两债券投资组合。

第一呼叫指定单个(即,标量)2时期.传递标量cfdates将标量值输入应用于投资组合中的所有债券。这是一个隐式标量展开的例子。结算日期也被隐性地按比例扩大了。

第二个调用还通过显式传递一个由2组成的两元素向量应用默认的息票期。第三个调用传递一个空矩阵cfdates解释为无效期间,用于其的默认值。第四个电话是类似的,不同之处在于已经过去了。第五次呼叫超过了第二次,与第三种方法的效果相同。最后一个调用传递最小输入集。

最后,考虑以下调用cfdates对于相同的双债券投资组合。

cfdates(Settle, Maturity, [4 NaN]), [4 2]

第一个调用显式地设置期= 4,并隐式设置默认值周期= 2对于第二个键。第二个调用与第一个调用具有相同的效果,但显式地为两个键设置周期性。

可选的输入时期仅用于说明目的。示例中演示的默认处理过程适用于任何可选输入参数。

优惠券日期计算

计算票息日期,无论是实际日期还是准日期,都是出了名的复杂。财务工具箱软件遵循SIA约定的优惠券日期计算。

在找到与键相关的优惠券的日期的第一个步骤是确定参考,或同步日期(同步日期).在SIA框架内,确定同步日期的优先顺序为:

  1. 第一次券息日期

  2. 最后一次券息日期

  3. 到期日

换句话说,Financial Toolbox函数首先检查FirstCouponDate输入。如果FirstCouponDate是否指定,息票付款日期和准息票日期是根据FirstCouponDate;如果FirstCouponDate,为空([]),或,那么LastCouponDate是检查。如果LastCouponDate是否指定,息票付款日期和准息票日期是根据LastCouponDate.如果两个FirstCouponDateLastCouponDate,为空([]),或,成熟(必需的输入参数)用作同步日期。

收益率约定

在Financial Toolbox软件中有两个收益和时间因素约定——它们由输入决定基础.具体而言,碱07假定有半年复利,而基数812假设具有年度复利,而不考虑债券的息票期(包括零息债券)。此外,任何与收益相关的敏感性(即持续时间和凸度),在定期引用时,都遵循同样的约定。(见bndconvpbndconvybnddurpbnddury,bndkrdur.)

定价功能

这个例子展示了用这个函数计算奇数期债券的价格是多么容易bndprice.假设你和这些特征有联系:

解决=“11 - 11月- 1992”;成熟=' 01 - 3月- 2005;IssueDate ='15  - 辛1992' 年;FirstCouponDate =' 01 - 3月- 1993;CouponRate = 0.0785;收益率= 0.0625;

允许付息期(周期= 2),以日计(基础= 0)和月末规则(EndMonthRule = 1)以使用默认值。同样,假设没有奇怪的最后票面利率日期,债券的面值是100美元。调用的函数

[Price, AccruedInt] = bndprice(Yield, CouponRate, Settle,...到期日期,[],[],[],IssueDate, FirstCouponDate)
价格= 113.5977 AccruedInt = 0.5855

bndprice返回价格为113.60美元,应计利息为0.59美元。

类似的函数计算定期支付、奇数首尾周期、国库券和零息债券等贴现证券的价格。

请注意

bndprice和其他函数使用非线性公式来计算证券的价格。因此,Financial Toolbox软件在求解公式中的自变量时使用牛顿法。参阅任何基本的数值方法教科书,了解牛顿方法的数学基础。

收益函数

为了说明的工具箱屈服函数,计算具有在第一期间奇数第一和最后周期和结算键的产率。首先设置变量进行结算,到期日,发行,第一优惠券和优惠券最后日期。

解决='12 -Jan-2000';成熟=01 - 10月- 2001的;IssueDate =' 01 - 1月- 2000;FirstCouponDate =“15 - 1月- 2000”;LastCouponDate =的15 - 4月- 2000

假设面值为100美元。指定购买价格为$95.70,息票率为4%,季度息票付款,以及30/360天计算约定(基础= 1).

价格= 95.7;CouponRate = 0.04;期= 4;基础= 1;EndMonthRule = 1;

调用bndyield函数

收率= bndyield(价格,CouponRate,沉降,成熟度,周期,...基差方面,EndMonthRule,IssueDate,FirstCouponDate,LastCouponDate)
收益率= 0.0659

函数返回收益率= 0.0659(6.60%)。

固定收益的敏感

金融工具箱软件支持以下选项管理利率风险的一个或多个债券金宝app:

  • bnddurpbnddury金宝app支持基于市场报价的期限和凸性分析,并假设债券收益率曲线平行移动。

  • bndkrdur金宝app支持基于市场收益率曲线的关键利率期限,并可以模拟债券收益率曲线的非平行变化。

计算债券的期限和凸度

工具箱中包括一些函数,用于执行敏感性分析,如固定收益证券的凸性、麦考利和修正期限。利息债券等收入流的麦考利期限衡量的是所有者平均等待多长时间才能收到付款。它是支付次数的加权平均值,权重在时间上T等于当时收到的货币的现值T.修改后的期限是麦考利期限贴现每一时期的利率;也就是除以(1+速率/频率)。的麦考利持续时间是衡量价格对收益率变化的敏感性的指标。这种持续时间以年为单位,是一种工具的加权平均时间到到期日。

为了说明这一点,下面的例子计算了一年期的麦考利期限和修正期限,以及结算日(2000年1月12日)和到期日(2001年10月01日)的定期麦考利期限,票面利率为5%,到期收益率为4.5%。为简单起见,任何可选输入参数都采用默认值(即半年优惠券和日计数)基础= 0(实际的/实际的),息票支付结构与到期日同步,月末支付规则生效)。

CouponRate = 0.05;收益率= 0.045;解决='12 -Jan-2000';成熟=01 - 10月- 2001的;[ModDuration, YearDuration, PerDuration] = bndury (Yield,...CouponRate、结算、成熟度)
ModDuration = 1.6107 YearDuration = 1.6470 PerDuration = 3.2940

持续时间是

ModDuration = 1.6107 (years) YearDuration = 1.6470 (years) PerDuration = 3.2940(半年度周期)

请注意每半年的麦考利周期(PerDuration)是年率麦考利持续时间(两次YearDuration).

计算债券的关键利率期限

关键利率期限使您能够通过分解沿即期或零利率曲线的利率风险来评估债券对即期或零利率曲线非平行变化的敏感性和价格。关键利率持续时间是指选择一组关键利率并计算每个利率持续时间的过程。具体来说,对于每个关键利率,当其他利率保持不变时,关键利率上下移动(中间现金流日期被插值),然后计算给定移动曲线的证券的现值。

的计算bndkrdur金宝app支持:

k r d u r P V d o w n - P V u p P V × 年代 h f t V 一个 l u e × 2

在哪里光伏为仪器的现值,PV_upPV_down折现曲线后的新值是否已经被震撼,和ShiftValue是利率的变化。例如,如果选择3个月、1、2、3、5、7、10、15、20、25、30年期的关键利率,那么30年期债券可能有相应的关键利率期限:

3米 1 y 2 y 3 y 5 y 7 y 10 y 15 y 20 y 25 y 30 y
. 01 .04点 .09点 . 21 .4 0.65 1.27 1.71 1.68 1.83 7.03

关键利率期限加起来大致等于债券期限。

例如,计算2028年8月15日到期的美国国债的关键利率期限,票面利率为5.5%。

解决= datenum ('18 -nov-2008');CouponRate = 5.500 / 100;成熟= datenum('15 -Aug-2028');价格= 114.83;

ZeroData此键的当前点曲线上的信息,请参考https://www.treasury.gov/resource-center/data-chart-center/interest-rates/Pages/TextView.aspx?data=yield

zeroates = daysadd(setta,[30 90 180 360 360*2 360*3 360*5...360*7 360*10 360*20 360*30]);ZeroRates = ([0.06 0.12 0.81 1.08 1.22 1.53 2.32 2.92 3.68 4.42 4.20]/100)';

计算一组特定利率的关键利率期限(根据可用套期保值工具的到期日选择):

krd = bndkrdur([zeroates ZeroRates],CouponRate,Settle,Maturity,“keyrates”,[2 5 10 20])
KRD = 0.2865 0.8729 2.6451 8.5778

注意,关键利率期限的总和大致等于债券的期限:

[总和(krd) bnddurp(价格、CouponRate解决、成熟度)]
Ans = 12.3823 12.3919

另请参阅

||||

相关的例子

更多关于