主要内容

固定收益证券的定价与收益率计算

简介

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

固定收益的术语

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

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

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

连续的quasi-coupon日期确定固定收益证券利息的标准息票期长度,不一定与实际息票支付日期一致。该工具箱包括计算首期和/或末期为奇数的债券的实际息票日期和准息票日期的函数。

固定收益证券可以在不与息票支付日期一致的日期购买。在这种情况下,债券持有人无权获得该期间的票息全额。如果在票息日之间购买债券,买方必须按比例补偿卖方从前一个票息支付日获得的票息利息。这种按比例支付的息票份额被称为应计利息.的购买价格为债券支付的价格,是市场报价加上应计利息。

到期日到期日期是债券发行人返还最终面值的日期,也称为到期日期赎回价值票面价值,给买家。的到期收益率债券的名义复合收益率是指债券的当前市场价格等于未来所有现金流(息票和本金)的现值。

指债券发行人向持有人支付息票的频率。

保函期限

时间的价值

付款计划

0

无息票(零息债券)

1

年度

2

半年一次的

3.

一年三次

4

季度

6

双月

12

每月

基础

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

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

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

基础值

日计数公约

0

actual/actual(默认)-一个周期和一年中的天数都是实际的天数。另外,另一个常见的实际基础是basis12

1

30/360 SIA -年分数是根据360天的年和30天的月计算的,应用以下规则:如果第一个日期和第二个日期是2月的最后一天,第二个日期将更改为30日。如果第一天是31日或2月的最后一天,则改为30日。如果经过前面的测试,第一天是30日,第二天是31日,那么第二天就改成30日。

2

actual/360 -一个时间段中的天数等于实际天数,但一年中的天数为360。

3.

actual/365 -一个周期中的天数等于实际的天数,但是一年中的天数是365(即使是闰年)。

4

30/360 PSA -每个月的天数设置为30天(包括2月)。如果时间段的开始日期为某月31日或2月最后一天,则时间段的开始日期为30日;如果时间段的开始日期为某月30日且结束日期为31日,则时间段的结束日期为30日。一年的天数是360天。

5

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

6

30E /360 -每个月的天数设置为30,2月份除外,2月份与实际天数相等。如果时间段的开始日期或结束日期是每月的31日,则该日期设置为30日。一年的天数是360天。

7

actual/365日文-一个周期中的天数等于实际天数,闰日(2月29日)被忽略。一年的天数是365天(即使是闰年)。

8

实际/实际ICMA -一个期间和一年中的天数均为实际天数,复利频率为年。

9

实际/360 ICMA -一个周期中的天数等于实际天数,但一年中的天数为360,复利频率为年。

10

实际/365 ICMA -一个周期中的天数等于实际天数,但一年中的天数为365(即使是闰年),复利频率为年度。

11

30/360 ICMA -每个月的天数设置为30,2月份除外,在那里它等于实际的天数。如果时间段的开始日期或结束日期是每月的31日,则该日期设置为30日。一年的天数为360天,复利频率为一年。

12

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

13

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

请注意

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

月底规则

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

月底规则

月末规则值

意义

1(默认)

规则生效。

0

规则无效。

框架

虽然并非所有“财务工具箱”函数都需要相同的输入参数,但它们都接受以下通用的输入参数集。

通用输入参数

输入

意义

解决

结算日期

成熟

到期日

优惠券支付期限

基础

日计数的基础上

EndMonthRule

月底付款规则

IssueDate

债券发行日期

FirstCouponDate

首次支付券息日期

LastCouponDate

上一次券息支付日期

的公共输入参数解决而且成熟是必需的。其他的都是可选的。如果您没有显式地设置它们,则会将它们设置为默认值。默认情况下,FirstCouponDate而且LastCouponDatenonapplicable。换句话说,如果你没有指定FirstCouponDate而且LastCouponDate时,假设债券的首息期和末息期不奇数。在这种情况下,债券是一种标准债券,其息票支付结构仅基于到期日。

默认参数值

为说明“财务工具箱”函数中默认值的使用,请考虑cfdates函数,该函数计算固定收益证券投资组合的实际现金流支付日期,而不管第一个和/或最后一个息票期是正常、长还是短。

包含完整输入参数列表的完整调用语法为

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

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

CFlowDates = cfdates(结算,成熟度)

单键例子

举个例子,假设你拥有以下特征:

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

基础,EndMonthRule设置为默认值,和IssueDateFirstCouponDate,LastCouponDate设置为

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

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

cfdates(结算、成熟度)cfdates(结算、成熟周期)cfdates(解决、成熟时期,[])cfdates(结算、成熟度、[]基础)cfdates(结算、成熟 , [], []) cfdates(解决、成熟时期,[],EndMonthRule) cfdates(解决、成熟时期,[],NaN) cfdates(结算、成熟时期 , [], [], IssueDate) cfdates(结算、成熟 , [], [], IssueDate , [], []) cfdates(结算、成熟时期 , [], [], [], [], LastCouponDate) cfdates (EndMonthRule定居,成熟,期间,基础,...发行日期,第一优惠券日期,最后优惠券日期)

因此,不指定特定输入与传递空矩阵具有相同的效果([])或通过——三者都在诉说cfdates(以及其他“财务工具箱”函数)来使用特定输入参数的默认值。

债券投资组合例子

由于前面的例子只包含一个单键,传递一个空矩阵或传递一个键之间没有区别用于可选输入参数。然而,对于债券投资组合,使用作为占位符是指定某些债券的违约接受度,同时显式地为投资组合中的其余债券设置非违约值的唯一方法。

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

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

这些调用cfdates均将券息期设定为默认值(周期= 2)。

cfdates(结算,成熟度,2)cfdates(结算,成熟度,[2 2])cfdates(结算,成熟度,[])cfdates(结算,成熟度,NaN) cfdates(结算,成熟度,[NaN NaN]) cfdates(结算,成熟度,2)

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

第一个调用指定单个(即标量)2 for.传递标量告诉cfdates将标量值输入应用于投资组合中的所有债券。这是一个隐式标量展开的例子。结算日期也被隐式扩大。

第二次调用还通过显式传递一个2的两元素向量来应用默认息票周期。第三个调用传递一个空矩阵cfdates解释为一个无效的时间段,对此使用默认值。第四个调用是类似的,除了a已经通过了。第5次调用超过了第2次和第三个有同样的效果。最后一个调用传递最小输入集。

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

cfdates(结算,到期,[4 NaN])

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

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

息票日期计算

计算息票日期,无论是实际日期还是准日期,都是出了名的复杂。金融工具箱软件遵循SIA惯例在息票日期计算。

寻找与债券相关联的息票日期的第一步是确定引用日期或同步日期同步日期).在SIA框架中,确定同步日期的优先顺序是:

  1. 第一次优惠券日期

  2. 最后优惠券日期

  3. 到期日

换句话说,财务工具箱函数首先检查FirstCouponDate输入。如果FirstCouponDate,则券息支付日期和准券息日期是根据FirstCouponDate;如果FirstCouponDate未指定,为空([]),或,则LastCouponDate是检查。如果LastCouponDate,则券息支付日期和准券息日期是根据LastCouponDate.如果两个FirstCouponDate而且LastCouponDate为未指定的空([]),或,成熟(必需的输入参数)用作同步日期。

收益率约定

在“金融工具箱”软件中使用了两种收益率和时间因素约定——它们由输入决定基础.具体地说,基地07假定有半年复利,而基812假定每年有复利,而不考虑债券的息票支付期限(包括零息债券)。此外,任何与收益率相关的敏感性(即持续时间和凸度),在周期性的基础上引用时,都遵循相同的约定。(见bndconvpbndconvybnddurpbnddury,bndkrdur.)

定价功能

这个例子展示了使用函数计算首周期为奇数的债券的价格是多么容易bndprice.假设你拥有以下这些特质:

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

允许优惠券付款期限(周期= 2)、日数(基础= 0)和月末规则(EndMonthRule = 1),以采用默认值。同时,假设没有奇数的最后票息日期,债券的面值是100美元。调用函数

[Price, AccruedInt] = bndprice(收益率,息票率,结算,...成熟度,[],[],[],IssueDate, FirstCouponDate)
价格= 113.5977应计int = 0.5855

bndprice返回$113.60的价格和$0.59的应计利息。

类似的函数计算定期付款、奇数的第一期和最后一期的价格,以及国库券和贴现证券(如零息债券)的价格。

请注意

bndprice而其他函数则使用非线性公式来计算证券价格。因此,金融工具箱软件在求解公式中的自变量时使用牛顿方法。有关牛顿方法的数学基础,请参阅任何基础数值方法教科书。

收益函数

为了说明工具箱收益率函数,计算具有奇数首尾期和第一期结算的债券的收益率。首先设置结算、到期日、发行、第一张息票和最后一张息票日期的变量。

解决=的12 - 1月- 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函数

收益率= bdyfield(价格,息票率,结算,到期日,期限,...Basis, EndMonthRule, IssueDate, FirstCouponDate, LastCouponDate)
收益率= 0.0659

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

固定收益的敏感

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

  • bnddurp而且bnddury金宝app支持基于市场报价的久期和凸度分析,并假设债券收益率曲线平行移动。

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

计算债券的期限和凸度

该工具箱包括执行敏感性分析的函数,如凸性和麦考利,以及固定收益证券的修改期限。收入流(如息票债券)的麦考利持续时间衡量的是所有者平均等待多长时间才能收到付款。它是支付次数的加权平均值,加权时间T等于当时收到的钱的现值T.修改后的久期为麦考利久期除以每期利率;即除以(1+速率/频率)。的麦考利持续时间是衡量价格对产量变化敏感度的指标。存续期以年为单位,是一种工具的加权平均到期时间。

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

CouponRate = 0.05;收率= 0.045;解决=的12 - 1月- 2000;成熟=01 - 10月- 2001的;[ModDuration, YearDuration, PerDuration] = bndury (Yield,...息票率、结算、到期)
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_up而且PV_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 主板市场 1.27 1.71 1.68 1.83 7.03

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

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

set = datenum(“11月18 - - 2008”);CouponRate = 5.500/100;成熟度= datenum(“15 - 8月- 2028”);价格= 114.83;

ZeroData有关该债券当前现货曲线的信息,请参阅https://www.treasury.gov/resource-center/data-chart-center/interest-rates/Pages/TextView.aspx?data=yield

ZeroDates = daysadd(确定,[30 90 180 360 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([ZeroDates ZeroRates],CouponRate,结算,成熟度,“keyrates”,[2 5 10 20])
KRD = 0.2865 0.8729 2.6451 8.5778

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

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

另请参阅

||||

相关的例子

更多关于