第17章 固定收益证券的久期与凸度计算
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
对于一年付息一次的债券来说,按复利贴现的价格决定公式为
式中:P为债券的价格;C为每年支付的利息;M为票面价值;n为所余年数;r为 必要收益率;t为第t次。
17.2.1
计算公式
3. 到期收益率 一般地讲,债券收益率有多种形式,以下仅简要介绍债券的内部到期收益率
的计算。内部到期收益率在投资学中被定义为把未来的投资收益折算成现值使之
17.2.2
债券定价计算
2. prdisc函数 MATLAB的Financial Toolbox提供计算折价债券价格的prdisc函数。 函数语法: Price=prdisc(Settle,Maturity,Face,Discount,Basis) 输入参数 Settle:作为序列时间号或日期串进入,必须早于或等于到期日; Maturity:作为日期串进入; Face:票面价值; Discount:债券的银行折现率,是分数; Basis:计算日期的基础。 输出参数: Price:价格(净价)。
《金融数量分析——基于MATLAB编程 》
17.1 基本概念
固定收益证券也称为债务证券,是指持券人可以在特定的时间内取得固定的收 益并预先知道取得收益的数量和时间,如固定利率债券、优先股股票等。
固定收益证券能提供固定数额或根据固定公式计算出的现金流。
按照我国现在已有的固定收益证券的品种,可以把他们简单地分为4 类: ① 信用风险可以忽略的债券,包括国债、央行票据、金融债和有担保企业债;
StartDate: (可选项)债权实际起始日(现金流起始日)。当预计未来的工具时,用
它标明未来的日期,如果没有特别说明StartDate,起始日是settlement date。 Face: (面值)默认值是100元。 输出参数:
Price:价格(净价),全价=净价+结算日利息。
AccruedInt:结算日的利息。
式中:P为债券的价格;M为票面价值;i为每期利率; n为剩余时期数;r为
必要收益率。
17.2.1
计算公式
2. 附息债券的定价公式 对于按期付息的债券来说,其预期货币收入有两个来源:到期日前定期支付 的息票利息和票面额。其必要收益率也可参照可比债券确定。为清楚起见,下面 分别以一年付息一次和半年付息一次的附息债券为例,说明附息债券的定价公式。
到期日(maturity)指固定收益证券债务合约终止的日期。
4. 本金 本金(principal)有时称面值(par value),是指固定收益票面金额。 一般情况下,债券的面值为100元。 5. 票面利率 票面利率(Coupon rate)即发行人支付给持有人的利息,有时也称名 义利率(nominal rate)。
17.2.3
债券收益率计算
IssueDate :(可选项)债券发行日期。
FirstCouponDate: (可选项)第一次分红日。当FirstCouponDate和
LastCouponDate同时出现时,FirstCouponDate优先决定红利发放结构。 LastCouponDate:(可选项)到期日的最后一次红利发放日。当FirstCouponDate
17.1 基本概念
6. 月末法则
月末法则(end of month ruler)指当债券到期日在某月的最后一天,如果该月天 数小于30天,这时有两种情况: ① 到期日在每月固定日期支付; ② 票息在每月的最后一天支付。 MATLAB默认的是第②种情况。
7. 起息日到交割日的天数 起息日到交割日的天数(Days from Coupon to Settlement,DCS)是指从计息日 (含)到交割日(不含)之间的天数。 注意:付息日作为下一个利息期限的第一天而不计入DCS。 8. 交割日距离到期日的天数 交割日距离到期日的天数(Days from Settlement to Maturity,DSM):其一般规则是 包括交割日而不包括到期日。这样买方有动力尽早交易,获得当天收益;卖方在交 割当天就获得资金的使用权。
17.2.2
债券定价计算
例17.2 固定收益证券,折现率为8.7%,结算日(或交割日)为1997年1月20日,到期日为2002 年6月15日,每年付息2次(6月底与12月底),计息方式为实际值/实际值,计算证券的价格。 代码如下:
%交割日为1997-1-20 Settle='20-Jan-1997'; %到期日为2002-6-15 Maturity='15-Jun-2002'; %利息分配为一年两次 Period=2; %计息方式为(实际值/实际值) Basis=0; %票面价格 Face=100; %折价率 Discount=8.7/100; %调用prdics函数 price=prdisc(Settle,Maturity,Face,Discount,Basis); 输出结果为: 52.9962
%表面利率都为5% CouponRate=0.05; %交割日为1997-1-20 Settle='20-Jan-1997' %到期日为2002-6-15 Maturity='15-Jun-2002' %利息分配为一年两次 Period=2; %计息方式为(实际值/实际值) Basis=0; %债券价格为(列向量) Price=[104.8106;99.9951;95.4384] %调用bndyield函数 Yield=bndyield(Price,CouponRate,Settle,Maturity,Period ,Basis)
17.2.2
债券定价计算
例17.1 三种固定收益证券,到期利率分别为4%、5%、6%,票面利率为5%,结算日(或 交割日)为1997年1月20日,到期日为2002年6月15日,每年付息2次(6月底与12月底),计 息方式为实际值/实际值,分别计算三种证券的价格及结算日的利息。 代码如下:
%三种债券的到期收益率 Yield=[0.04;0.05;0.06]; CouponRate=0.05; %交割日为1997-1-20 Settle='20-Jan-1997'; %到期日为2002-6-15 Maturity='15-Jun-2002'; %利息分配为1年两次 Period=2; %计息方式为(实际值/实际值) Basis=0; [Price,AccruedInt]=bndprice(Yield,CouponRate,Settle,Maturity,Period,Basis) 输出结果为 Price = 104.8106 99.9951 95.4384
17.2.3
债券收益率计算
例17.3 三种固定收益证券,净价分别为104.8106元、99.9951元、95.4384元,票面利 率为5%,结算日(或交割日)为1997年1月20日,到期日为2002年6月15日,每年付息2次 (6月底与12月底),计息方式为实际值/实际值,分别计算三种证券的到期收益率。
17.2.2
债券定价计算
EndMonthRule: (可选项)月末规则,应用在到期日是在小于等于30天的月份。0代 表债券的红利发放日总是固定的一天,默认1代表是在实际的每个月末。 IssueDate: (可选项)发行日期。 FirstCouponDate: (可选项)第一次分红日。当FirstCouponDate和LastCouponDate同 时出现时,FirstCouponDate优先决定红利发放结构。 LastCouponDate: (可选项)到期日的最后一次红利发放日。当FirstCouponDate没标 明时,LastCouponDate决定红利发放结构。红利发放结构无论LastCouponDate是 何时,都以其为准,并且紧接着债权到期日。
17.2 价格与收益率的计算
17.2.1 计算公式
1. 一次还本付息债券的定价公式
债券的价格等于来自债券的预期货币收入按某个利率贴现的现值。在确定债 券价格时,需要估计预期货币收入和投资者要求的适当收益率(称必要收益率)。 对于一次还本付息的债券来说,其预期货币收入是期末一次性支付的利息和本金, 必要收益率可参照可比债券得出。如果一次还本付息债券按复利计息、按复利贴 现,其价格决定公式为
没标明时,LastCuponDate决定红利发放结构。红利发放结构无论LastCouponDate
是何时,都以其为准,并且紧接着债权到期日。 StartDate:(可选项)债权实际起始日(现金流起始日)。当预计未来的工具时, 用它标明是个未来的日期,如果没有特别说明StarDate,起始日是settlement date。 Face:(可选项)面值。默认值是100元。 输出参数: Yield:到期收益率。
成为购买价格或初始投资额的贴现率。对于一年付息一次的债券来说,可用下列 公式得出到期收益率。
式中:P为债券价格;C为每年利息收益;F为到期价值; n为时期数(年数); Y为到期收益率。
17.2.2
债券定价计算
1. bndprice函数 MATLAB的Financial Toolbox 提供计算债券价格的bndprice函数。 函数语法: [Price,AccruedInt]=bndprice(Yield,CouponRate,Settle,Maturity,Period,Basis, EndMonthRule,IssueDate,FirstCouponDate, LastCouponDate,StartDate,Face) 输入参数: Yield:半年为基础的到期收益。 CouponRate:分红利率。 Settle: 结算日期,时间向量或字符串,必须小于等于到期日。 Maturity:到期日,日期向量。 Period: (选择项),年分红次数,默认值2,可为0、1、2、3、4、6、12。 Basis: (选择项),债券的天数计算法。 默认值为0(实际值/实际值),可为1 (30/360)、2(实际值/360)、3(实际值/365)
17.2.3
债券收益率计算
MATLAB的Financial Toolbox 提供固定利率债券的到期收益率的bndyield函数,函 数语法为: Yield=bndyield( Price,CouponRate,Settle,Maturity,Period,Basis,EndMonthRule, IssueDate, FirstCouponDate,LastCouponDate,StartDate,Face) 输入参数: Price:债券净价,全价=净价+结算利息。 CouponRate:分红利率或票面利率。 Settle:结算日期。时间向量或字符串,必须小于等于到期日。 Maturity:到期日,日期向量。 Period:(选择项)年分红次数,默认值2,可为0、1、2、3、4、6、12。 Basis: (选择项)债券的天数计算法。默认值为0(实际值/实际值),可为 1(30/360)、2(实际值/360)、3(实际值/365)。 EndMonthRule:(可选项)月末规则,应用在到期日实际小于等于30天的月 份。0代表债券的红利发放日总是固定的一天,默认1dInt =
0.4945 0.4945 0.4945
Matlab计算两个时间点之间的间隔天数的方式
%交割日为1997-1-20 Settle='20-Jan-1997'; %到期日为2002-6-15 Maturity='15-Jun-2002'; A=datenum(Settle); B=datenum(Maturity); B-A
② 无担保企业债,包括短期融资券和普通无担保企业债;
③ 混合融资证券,包括可转换债券和分离型可转换债券; ④ 结构化产品,包括信贷证券化,专项资产管理计划和不良贷款证券化。
17.1 基本概念
1. 交易日 交易日(trade date)就是买卖双方达成交易的日期。
2. 结算日
结算日(settlement date)指买入方支付价格和卖出方交割证券的日期。 3. 到期日