主要内容

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

简介

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

固定收益的术语

由于关于这个主题的术语在不同的文本中有所不同,下面是应用于这些金融工具箱函数的一些基本定义。

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

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

连续的quasi-coupon日期确定固定收益证券的标准息票期长短,但不一定与实际息票付款日期相符。该工具箱包含计算首尾期为奇数的债券的实际和准票面日期的函数。

固定收益证券可以在不与票面兑付日同步的日期购买。在这种情况下,债券所有者无权获得该期间券息的全部价值。当债券在票面日之间购买时,买方必须按比例补偿卖方从上一个票面日获得的票面利息份额。这种按比例支付的券息被称为应计利息.的购买价格即债券支付的价格,是债券的报价市价加上应计利息。

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

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

保函的期限

时间的价值

付款计划

0

无息票(零息票债券)

1

年度

2

半年一次的

3.

一年三次

4

季度

6

双月

12

每月

基础

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

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

万博1manbetx支持的天数计数约定和基本值是:

基础值

日计公约

0

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

1

30/360 SIA -年分数根据360天的年和30天的月计算,应用以下规则:如果第一天和第2天是2月的最后一天,则第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日。一年的天数是360天。

5

30/360 ISDA -每个月的天数设置为30,二月除外,它是实际天数。当周期的开始日期为每月31日时,开始日期设置为30日;当周期的开始日期为每月30日,结束日期设置为31日。一年的天数是360天。

6

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

7

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

8

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

9

实际/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天。

请注意

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

月底规则

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

月底规则

月末规则值

意义

1(默认)

规则生效。

0

规则无效。

框架

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

常用输入参数

输入

意义

解决

结算日期

成熟

到期日

券息支付期限

基础

日计数的基础上

EndMonthRule

月末付款规则

IssueDate

债券发行日期

FirstCouponDate

第一次付款日

LastCouponDate

最后付款日

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

默认参数值

要演示在“财务工具箱”函数中使用默认值,请考虑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)。然而,也是一个方便的占位符。在财务工具箱软件的SIA功能中,指示存在不适用的值。它告诉Financial Toolbox函数忽略输入值并应用默认值。设置IssueDateFirstCouponDate,LastCouponDate在这个例子中cfdates假设债券在结算前已发行,且不存在奇数的第一票息期或末票息期。

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

cfdates(结算,期限)cfdates(结算,期限,[],基础)cfdates(结算,期限,[],[])cfdates(结算,期限,期限,[],结束月规则)cfdates(结算,期限,期限,[],[],NaN) cfdates(结算,期限,期限,[],[],发行日期)cfdates(结算,期限,期限,[],[],发行日期)cfdates(结算,期限,期限,[],[],发行日期,[],[])cfdates(结算,期限,期限,[],[],[],最后的coupondate) cfdates(结算,期限,期限,[],[],[],[],最后的coupondate) cfdates(结算,期限,期限,[],[],[],[],最后的coupondate)...IssueDate, FirstCouponDate, LastCouponDate)

因此,不指定特定的输入与传递空矩阵([])或透过-这三个都说明cfdates(以及其他“金融工具箱”函数)来使用特定输入参数的默认值。

债券投资组合例子

因为前面的例子只包含一个键,所以传递空矩阵和传递用于可选输入参数。然而,对于债券投资组合,使用作为占位符是指定某些债券的默认接受度,同时为投资组合中其余债券显式设置非默认值的唯一方法。

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

解决=“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, NaN) cfdates(Settle, Maturity, [NaN])

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

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

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

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

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

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

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

优惠券日期计算

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

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

  1. 第一次优惠券日期

  2. 最后优惠券日期

  3. 到期日期

换句话说,Financial Toolbox函数首先检查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美元。调用函数

(价格、AccruedInt) = bndprice(产量、CouponRate,结算,...期限,[],[],[],发行日期,第一优惠券日期)
价格= 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函数

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

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

固定收益的敏感

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

  • bnddurp而且bnddury万博1manbetx支持基于市场报价的持续时间和凸性分析,并假设债券收益率曲线平行移位。

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

计算债券的期限和凸性

该工具箱包括执行敏感性分析的函数,如凸性和麦考利和修改的期限固定收益证券。一种收入流(如息票债券)的麦考利期限衡量的是所有者在收到付款前平均等待的时间。它是支付次数的加权平均值,加上时间的权重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(收益率,...息票率,结算,到期
ModDuration = 1.6107 YearDuration = 1.6470 PerDuration = 3.2940

持续时间是

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

请注意,半年定期麦考利持续时间(PerDuration)是年化麦考利持续时间(YearDuration).

计算债券的关键利率期限

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

的计算bndkrdur万博1manbetx支持:

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%的美国国债的关键利率存续期。

处理= datenum(“11月18 - - 2008”);优惠券率= 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*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

另请参阅

||||

相关的例子

更多关于