第8章 固定收益证券计算
更新时间:2023-09-24 18:53:01 阅读量: 综合文库 文档下载
- 第8章面试失败推荐度:
- 相关推荐
第8章 固定收益证券计算
8.1 固定收益债券定价
(1)bndprice函数 目的: 给固定收益债券定价
格式: [Price,AccruedInt]=bndprice(Yield,CouponRate,Settle,Maturity)
[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
EndMonthRule 可选项,月未规则,应用在到期日是在小于等于30天的月份.0代表债券的红利发放日总是固定的一天,缺省1代表是在实际的每个月未 IssueDate 可选项,发行日期
FirstCouponDate 可选项,第一次分红日。当FirstCouponDate和LastCouponDate同时出现时,FirstCouponDate优先决定红利发放结构
LastCouponDate可选项,到期日的最后一次红利发放日。当FirstCouponDate没标明时,LastCouponDate决定红利发放结构。红利发放结构无论LastCouponDate是何时,都以其为准,并且紧接着债权到期日.
StarDate 可选项,债权实际起始日(现金流起始日)。当预计未来的工具时,用它标明未来的日期,如果没有特别说明StarDate,起始日是settlement date Face 面值,缺省值是100
上面所有的参数必须是1*NUMBONDS或是NUMBONDS*1的向量。当为可选项时,用(〔〕)代替,在向量用NaN填写没说明的输入项。
描述:本函数表明给定日期和半年收益后,计算价格和利息。其中Price是价格,AccruedInt是结算日的利息。Price和Yield有如下公式:
Price+Accrued—Interest=sum(CashFlow*(1+Yield/2)^(-Time)) 例8-1
Yield=[0.04;0.05;0.06] CouponRate=0.05 Settle=’20-Jan-1997’ Maturity=’15-Jun-2002’ Period=2 Basis=0
[Price,AccruedInt]=bndprice(Yield,CouponRate,Settle,Maturity,Period,Basis) Price=104.8106 99.9951 95.4384 AccruedInt=0.4945 0.4945 0.4945 参阅:cfamounts,bndyield
(2)prdisc函数
目的 折价债券的价格
格式 Price=prdisc(Settle,Maturity,Face,Discount,Basis)
参数 Settle 作为序列时间号或日期串进入,必须早于或等于到期日。
Maturity 作为日期串进入。 Face 票面价值。
Discount 债券的银行折现率,是分数。 Basis 计算日期的基础。
描述 本函数表示返回债券的价格,它的收益率是银行要求的折现率。 例8-2 Settle=’10/14/2000’;
Maturity =’03/17/2001’; Face=100;
Discount=0.087; Basis=2;
price=prdisc(Settle,Maturity,Face,Discount,Basis) 返回
Price=96.2783
(3) prmat函数
目的 到期支付利息的债券的价格,与到期利率有关的价格
格式 [Price,AccruInterest]=prmat(Settle,Maturity,Issue,Face,CouponRate,Yield,Basis) 参数 Settle作为序列时间号或日期串进入,必须早于或等于到期日。
Maturity作为日期串进入。
Issue作为序列时间号或日期串进入。 Face票面价值。
CouponRate作为分数进入。 Yield年收益率。是分数。 Basis计算日期的基础。
描述 本函数表示返回价格和在到期支付债券的精确利率。这个函数也应用于零息票债券或纯折
现债券,通过使
例8-3
Settle=’02/07/2002’;
Maturity =’04/13/2002’; Issue=’10/11/2002’; Face=100;
CouponRate=0.0608; Yield=0.0608; Basis=1;
[Price,AccruInterest]=prmat(Settle,Maturity,Issue,Face,CouponRate,Yield,Basis) 回车
Price=99.9784
AccruInterest=1.9591
(4)prtbill
目的 国库券的价格,政府债券的定价
格式 Price=prtbill(Settle,Maturity,Face,Discount)
参数 Settle 作为序列时间号或日期串进入。必须早于或等于到期日。
Maturity 作为日期串进入。 Face 票面价值。
Discount 债券的银行折现率。是分数。
描述 本函数表示返回国库券的价格。
例8-4 2002年2月10日发行,2002年8月6日到期,折现率3.77%,并且平价是1000$。则使
用这些数据有
Price=prtbill(‘2/10/2002’,’8/6/2002’,1000,0 .0377) 返回 Price=
981.4642
8.2 利率期限结构
(1)Disc2zero函数
目的 给定贴现曲线的零曲线,用Zero曲线描述贴现曲线 格式
(ZeroRates,CurveDates)=disc2zero(Discrates,CurveDates,Settle,OutputCompounding,OutputBasis) 参数 DiscRates 贴现要素的列向量,其要素构成投资领域的贴现曲线 CurveDates 对应的到期日列向量
Settle DiscRates里的贴现率的结算时间 OutputCompounding 1 年复利 2 半年复利 3 每年三次复利 4 季度复利 6 两月复利
12 月复利 365 日复利 -1 连续复利
Output basis
0 实际值/实际值(缺省值) 1 30/360, 2 实际值/360 3 实际值/365
描述
(ZeroRates,CurveDates)=disc2zero(discRates,CurveDates,Settle,OutputCompounding,OutputBasis) ZeroRates 十进制列向量
CurveDates 对应的zero rates列向量这个向量与输入的CurveDates相量相似 例8-5
DiscRates=[0.9996 0.9947 0.9896 0.9866 0.9826 0.9786 0.9745 0.9665 0.9552 0.9466]
CurveDates=[datenum(06-Nov-2000) datenum(11-Dec-2000) datenum(15-jan-2001) datenum(05-Feb-2001) datenum(04-Mar-2001) datenum(02-Apr-2001) datenum(30-Apr-2001) datenum(25-Jun-2001) datenum(04-Sep-2001) datenum(12-Nov-2001)] Settle=datenum(03-Nov-2000)
Set daily compounding for the output zero curve, on an actual/365 basis. OutputCompounding=365 OutputBasis=3
执行方程
[Zerorates,CurveDates]=disc2zero(DiscRates,CurveDates,Settle,Outputcompounding,output
Basis)
ZeroRates= 0.0487 0.0510 0.0523 0.0524
0.0530 0.0526 0.0530 0.0532 0.0549 0.0536 CurveDates= 730796 730831 730866 730887 730914 730943 730971 731027 731098 731167
实际上,DiscRates,ZeroRates只是基点。然而,MATLAB完全精确的计算出它们。如果你如上输入DisvRates,ZeroRates可能会有所不同。 注意 zero2disc和其它的利率期限结构函数
(2)fwd2zero
目的 给定远期曲线的零曲线 格式
[ZeroRates, CurveDates]=fwd2zero(ForwardRates, CurveDates, Settle, OutputCompounding, OutputBasis, InputCompounding, InputBasis)
参数 ForwardRates 一组债券的远期利率。总之,中的利率构成了投资领域的远期曲线。 CurveDates 对应远期利率的到期日向量. Settle 远期利率的一般结算日. OutputCompounding 1 年复利 2 半年复利 3 每年三次复利 4 季度复利 6 两月复利 12 月复利 365 日复利 -1 连续复利
Output basis
0 实际值/实际值(缺省值) 1 30/360, 2 实际值/360 3 实际值/365
InputCompounding InputBasis
描述 计算了给定远期曲线的Zero曲线以及到期日
ZeroRates A NUMBONDS-by-1 vector of decimal fractions. In aggregate, the rates in ZeroRates
constitute a zero curve for the investment horizon represented by CurveDates.
CurveDates A NUMBONDS-by-1 vector of maturity dates(as serial date numbers) that
correspond to the zero rates in ZeroRates. This vector is the same as the input vector CurveDates.
例8-6 Given an impliede forward curve ForwardRates over a set of maturity dates CurveDates, and a
settlement date Settle:
FowardRates= [0.0469 0.0519 0.0549 0.0535 0.0558 0.0508 0.0560 0.0545 0.0615 0.0486];
CurveDates= [datenum(’06-Nov-2000’) datenum(’11-Dec-2000’) datenum(’15-Jan-2001’) datenum(’05-Feb-2001’) datenum(’04-Mar-2001’) datenum(’02-Apr-2001’) datenum(’30-Apr-2001’) datenum(’25-Jun-2001’) datenum(’04-Sep-2001’) datenum(’12-Nov-2001’) Settle= datenum(’03-Nov-2000’)
Set daily compounding for the zero curve, on an actual/365 basis. The forward curve was
compounded annually on an actual/actual basis.
OutputCompounding= 365; OutputBasis= 3;
InputCompounding= 1; InputBasis= 0; Execute the function
[ZeroRates, CurveDates]=fwd2zero(ForwardRates, CurveDates, Settle, OutputCompounding, OutputBasis, InputCompounding, InputBasis)
Which returns the zero curve ZeroRates at the maturity dates CurveDates: ZeroRates= 0.0457 0.0501 0.0516 0.0517 0.0523
0.0517 0.0521 0.0523 0.0540 0.0528 CurveDates = 730796 730831 730866 730887 730914 730943 730971 731027 731098 731167 实际上,ForwardRates 和ZeroRates只是基点。但是,用MATLAB 可以完全准确的计算。
如果你如上输入ForwardRates, ZeroRates可能于到期日的不同。
注意 zero2fwd and other functions for Term Structure of Interest Rates. (3)Prbyzero函数
目的 一组零曲线证券组合的债券价格,零息票债券的价格 格式 BondsPrices=prbyzero(Bonds,Settle,ZeroRates,ZeroDates)
参数 Bonds 用于计算价格的债券信息。六阶债券矩阵每一行代表一种债券。首先的两列是被
要求的;剩下的是可选的但必须按顺序添加。证券中的行必须有相同的列。
Maturity 到期日是序列日期数。 CouponRate 小数指示能支付的息票 Face 票面利率 Period 债券付息期
Basis 债券日期计算基础
EndMonthRule 这个规则只适用于到期日的月末是三十天或小于三十天。
Settle 建立日期的序列日期值。
ZeroRates 观察到的零率的日期曲线矩阵。每一列代表曲线率。每一行代表观察日期。 ZeroDates 第一列的观察值为零。
描述 BondsPrices=prbyzero(Bonds,Settle,ZeroRates,ZeroDates)计算证券组合中债券的价格。
债券价格是光票债券曲线数目矩阵。每一列来自相应的零利率曲线。
例8-7
Bonds=[datenum(‘6/1/1998’) 0.0475 100 200;
datenum(‘7/1/2000’)0.06 100 200; datenum(‘7/1/2000’)0.09375 100 610; datenum(‘6/30/2001)0.05125 100 131;
datenum(‘4/15’2002’)0.07125 100 410; datenum(‘1/15/2000’)0.065 100 200; datenum(‘9/1/1999’)0.08 100 330;
datenum(‘4/30/2001’)0.05875 100 200;
datenum(‘11/15/1999’)0.07125 100 200;
datenum(‘6/30/2000’)0.07 100 231; datenum(‘7/1’2001’)0.0525 100 230; datenum(‘4/30/2002’)0.07 100 200];
Prices=[99.375;
99.875; 105.75;
96.875; 103.625; 101.125; 103.125; 99.375; 101.0; 101.25; 96.375; 102.75];
Settle=datenum(‘12/18/1997’) OutputCompounding=2; OutputBasis=3; MaxIterations=50; 执行zbtprice
[ZeroRates,ZeroDates]=zbtprice(Bonds,Price,Settle,…OutputCompounding, MaxIterations)
ZeroRates=0.0616 0.0690 0.0658
0.0590 0.0648 0.0655 0.0606 0.0601 0.0642 0.0621 0.0627
ZeroDates=729907 730364
730439 730500 730667 730668 730971 731032 731033 731321 731336
现在执行prbyzero
OutputBasis,
BondsPrices=prbyzero(Bonds,Settle,ZeroRates,ZeroDates)
得到
BondsPrices= 99.38 98.80 106.83 96.88 103.62 101.13 103.12 99.36 101.00 101.25 96.37 102.74
(4)pyld2zero函数
目的 给定平价收益曲线的零曲线
语法 [ZeroRates,CurveDates]=pyld2zero(ParRates,CurveDates,Settle,OutputComping,OutputBasis, InputCompounding,InputBasis,MaxIrterations)
参数 ParRates 年隐含的平价收益率向量水平线代表曲线日期平价利率中的收益绿构成隐
含平价收益曲线。
CurveDates 与平价利率相对应的日期向量。 Settle 平价利率制定是的日期向量。
OutputComping 输出的复利。复利频率标量。遵守以下规则:
1 年复利 2 半年复利 3 每年三次复利 4 季度复利 6 两月复利 12 月复利 365 日复利 -1 连续复利
OutputBasis 输出年零利率的日期计算基础
0 实际值/实际值(缺省值) 1 30/360, 2 实际值/360
3 实际值/365
InputCompounding 表示年输入平价利率的标量。缺省值=输出复利。 InputBasis 计算输入平价利率的日期基础。 MaxIrterations 得出零利率集的最大重复次数。
描述 返回给定平价收益曲线和到期日的零曲线。
ZeroRates 分数纵量。它组成代表曲线日期的投资横轴。 CurveDates 与零利率相应的到期日。
例8-8 给定一组到期日和签定日的平价利率曲线:
ParRates=[0.0479 0.0522
0.0540 0.0540 0.0536 0.0532 0.0532 0.0539 0.0558 0.0543]
CurveDates=[datenum(06-11-2000)
Datenum(11-12-2000) Datenum(15-12-2001) Datenum(05-02-2001) Datenum(04-03-2001) Datenum(02-04-2001) Datenum(30-04-2001) Datenum(25-06-2001) Datenum(04-09-2001) Datenum(12-11-2001)
Settle=datenum(03-11-2000) 50次重复
OutputComping=12 OutputBasis=3
InputCompounding=1 InputBasis=0
MaxIrterations=50
运行方程[ZeroRates,CurveDates]=pyld2zero(ParRates,CurveDates,Settle, OutputComping,OutputBasis,
InputCompounding,InputBasis, MaxIrterations)
返回
ZeroRates=
0.0461 0.0498 0.0519 0.0520 0.0510 0.0510 0.0508 0.0520 0.0543 0.0530
CurveDates=
730796 730831 730866
730887 730914 730943 730971 731027 731098 731167
(5)zbtprice函数
目的:从给定价格的付息证券数据中得到Zero曲线,给定价格息票债券的零曲线 格式:
[zerorates, curvedates] = zbtprice( bonds, price, settle,…
outputcompounding ,outbasis ,maxiterations )
参数:
bonds 可以推导Zero曲线的付息证券的信息。一个n行2列的矩阵,每一行代表一种证券,前两列是必须有的;其他的可以任选到必须按照顺序增加。Bonds中每一种证券具有相同的行数和列数。列包括:
maturity 证券的到期日,连续的日期数字。使用datenum将日期字符串转化为连续的日期型数字。
Coupondate 证券的利息率,小数。
Face (任选的)证券的偿还值或面值。默认值=100
Period (任选的)每年利息,整数。既定值=0,1,2,3,4,6,12。默认值=2 Basis (任选的)计数基础 : 0=实际天数/实际天数(默认值), 1=30/360,2=实际值/360,3=实际值/365
Endmonthrule (任选的)月末标识。只有一个月是30天或少于30天且到期日为月末日时使用标识。0表示忽略标识,意味着证券付息日总是每月的同一天。1表示设置标识(默认值),证券付息日总是每月的最后一天。
Prices 包括Bonds中每一证券各自的公平价格(无息价格)的列向量,行数必须与Bonds的行数一致。
Settle 偿债日(日期型数字或字符串),这表示Zero曲线的0时点,它通常是所有证券的常见偿还日。
Outputcompounding (任选的)Zerorates中年付息频率间隔标量。既定值包括; 1.按年付息,2.每年付息(默认值),3.一年3次付息,4.按季付息,6.隔月付息,12.按月付息 Outputbasis (任选的)计算Zerorates数值过程中使用的与现金流量日期相一致的计数基础,
标量。0=实际天数/实际天数(默认值), 1=30/360,2=实际值/360,3=实际值/365
Maxiterations (任选的)求解Zerorates数值中重复的次数的最大值,标量。默认值=50,大于50的数值会减慢处理过程。
描述:[zerorates, curvedates] = zbtprice( bonds, price, settle, outputcompounding ,outbasis ,maxiterations )使用bootstrap方法得出既定付息证券组合及其价格下的Zero曲线。Zero曲线由输入的Bonds投资组合中推导的无息证券组合的到期收益组成。这个方程所使用的bootstrap方法不需要调整输入投资组合证券的现金流日期。它使用理论上的平价证券套利,并通过插入得到的zerorates ,为了得到更好的结果,使用投资范围内均匀间隔且至少是30种证券的投资组合。
Zerorates m行1列的各值为小数的向量,它是Curverates表示的投资范围内每一点的zerorate ;m是有相同到期日的证券的数量。通常,Zerorates的数值构成了Zero曲线。当多于一
种的证券有相同的到期日时,Zbtprice得到那个到期日的平均值。
Curvedates 表示相同到期日(日期数字串)的一个m行1列的向量,它与Zerorates中的zerorate相一致; m是不同到期日的证券的数量。这些日期开始于Bonds矩阵中Maturity的最早的到期日,终止于Maturity的最晚的到期日。
例8-9 给出12种付息证券的价格和数据,其中两种有相同的到期日;并给出常见的偿还日: Bonds=[datenum(‘6/1/1998) 0.0475 100 2 0 0;
datenum(‘7/1/2000) 0.06 100 2 0 0; datenum(‘7/1/2000) 0.09375 100 6 1 0; datenum(‘6/30/2001) 0.05125 100 1 3 1; datenum(‘4/15/2002) 0.07125 100 4 1 0; datenum(‘1/15/2000) 0.065 100 2 0 0; datenum(‘9/1/1999) 0.08 100 3 3 0; datenum(‘4/30/2001) 0.05875 100 2 0 0; datenum(‘11/15/1999) 0.07125 100 2 0 0; datenum(‘6/30/2000) 0.07 100 2 3 0; datenum(‘7/1/2001) 0.0525 100 2 3 0; datenum(‘4/30/2002) 0.07 100 2 0 0;]
Prices=[99.375;
99.875; 105.75; 96.875; 103.625; 101.125; 103.125; 99.375; 101.0; 101.25; 96.375; 102.75];
Settle=datenum(‘12/18/1997’);
在实际天数365的计数基础上,为曲线设定半年付息。重复50次操作得到曲线。 Outputcompounding=2; Outputbasis=3; Maxiterations=50; 执行函数 [zerorates, curvedates] = zbtprice( bonds, price, outputcompounding ,outbasis ,maxiterations )得到到期日的Zero曲线。 注意,具有相同到期日的两种证券的平均Zerorate。 Zerorates=0.0616
0.0609 0.0658 0.0590 0.0648 0.0655* 0.0606
settle, 0.0601 0.0642 0.0621 0.0627
Curvedates=729907 (1998年1月1日的日期型数字)
730364 (01-Sep-1999) 730439 (15-Nov-1999) 730500 (15-Jan-2000) 730667 (30-Jun-2000) 730668 (01-Jul-2000) 730971 (30-Apr-2001) 731032 (30-Jun-2001) 731033 (01-Jul-2001) 731321 (15-Apr-2002) 731336 (30-Apr-2002)
(6)zbtyield
目的:用bootstrap方法从给定收益的付息证券信息中导出Zero曲线,给定收益时票债券的零曲线 格式:[zerorates, curvedates] = zbtyield( bonds, yield, settle, …
outputcompounding ,outbasis ,maxiterations )
参数: bonds 可以推导Zero曲线的付息证券的信息。一个n行2列的矩阵,每一行代表一种证券,前两列是必须有的;其他的可以任选到必须按照顺序增加。Bonds中每一种证券具有相同的行数和列数。列包括:
maturity 证券的到期日,连续的日期数字。使用datenum将日期字符串转化为连续的日期型数字。
Coupondate 证券的利息率,小数。
Face (任选的)证券的偿还值或面值。默认值=100
Period (任选的)每年利息,整数。既定值=0,1,2,3,4,6,12。默认值=2 Basis (任选的)计数基础 : 0=实际天数/实际天数(默认值), 1=30/360,2=实际值/360,3=实际值/365
Endmonthrule (任选的)月末标识。只有一个月是30天或少于30天且到期日为月末日时使用标识。0表示忽略标识,意味着证券付息日总是每月的同一天。1表示设置标识(默认值),证券付息日总是每月的最后一天。 Yields一个矩阵向量,包括Bonds中每一证券各自的到期收益,行数必须与Bonds的行数一致。 Settle偿债日(日期型数字或字符串),这表示Zero曲线的0时点,它通常是所有证券的常见偿还日。
Outputcompounding (任选的)Zerorates中年付息频率间隔标量。既定值包括; 1.按年付息,2.每年付息(默认值),3.一年3次付息,4.按季付息,6.隔月付息,12.按月付息 Outputbasis (任选的)计算Zerorates数值过程中使用的与现金流量日期相一致的计数基础,
标量。0=实际天数/实际天数(默认值), 1=30/360,2=实际值/360,3=实际值/365
Maxiterations (任选的)求解Zerorates数值中重复的次数的最大值,标量。默认值=50,大于50的数值会减慢处理过程。 描述:[zerorates, curvedates] = zbtprice( bonds, price, settle, outputcompounding ,outbasis ,maxiterations )使用bootstrap方法得出既定付息证券组合及其价格下的Zero曲线。Zero曲线由输入的Bonds投资组合中推导的无息证券组合的到期收益组成。这个方程所使用的bootstrap方法不需要调整输入投资组合证券的现金流日期。它使用理论上的平
价证券套利,并通过插入得到的zerorates ,为了得到更好的结果,使用投资范围内均匀间隔且至少是30种证券的投资组合。
Zerorates m行1列的各值为小数的向量,它是Curverates表示的投资范围内每一点的zerorate ;m是有相同到期日的证券的数量。通常,Zerorates的数值构成了Zero曲线。当多于一种的证券有相同的到期日时,Zbtprice得到那个到期日的平均值。
Curvedates 表示相同到期日(日期数字串)的一个m行1列的向量,它与Zerorates中的zerorate相一致; m是不同到期日的证券的数量。这些日期开始于Bonds矩阵中Maturity的最早的到期日,终止于Maturity的最晚的到期日。
使用datestr将日期型数字串转化为日期型字符串。
例8-10:给出12种付息证券的价格和数据,其中两种有相同的到期日;并给出常见的偿还日: Bonds=[datenum(‘6/1/1998) 0.0475 100 2 0 0;
datenum(‘7/1/2000) 0.06 100 2 0 0; datenum(‘7/1/2000) 0.09375 100 6 1 0; datenum(‘6/30/2001) 0.05125 100 1 3 1; datenum(‘4/15/2002) 0.07125 100 4 1 0; datenum(‘1/15/2000) 0.065 100 2 0 0; datenum(‘9/1/1999) 0.08 100 3 3 0; datenum(‘4/30/2001) 0.05875 100 2 0 0; datenum(‘11/15/1999) 0.07125 100 2 0 0; datenum(‘6/30/2000) 0.07 100 2 3 0; datenum(‘7/1/2001) 0.0525 100 2 3 0; datenum(‘4/30/2002) 0.07 100 2 0 0;]
Yield=[0.048;
0.06; 0.089; 0.053; 0.069; 0.064; 0.078; 0.059; 0.071; 0.069; 0.057; 0.068};
Settle=datenum(‘12/18/1997’);
在实际天数365的计数基础上,为曲线设定半年付息。重复50次操作得到曲线。 Outputcompounding=2; Outputbasis=3; Maxiterations=50; 执行函数 [zerorates, curvedates] = zbtyield( bonds, yield, settle, outputcompounding ,outbasis ,maxiterations )得到到期日的Zero曲线。 注意,具有相同到期日的两种证券的平均Zerorate。 Zerorates=0.0480
0.0577
0.0909 0.0529 0.0699 0.0724* 0.0584 0.0716 0.0669 0.0526 0.0687
Curvedates=729907 (1998年1月1日的日期型数字)
730364 (01-Sep-1999) 730439 (15-Nov-1999) 730500 (15-Jan-2000) 730667 (30-Jun-2000) 730668 (01-Jul-2000) 730971 (30-Apr-2001) 731032 (30-Jun-2001) 731033 (01-Jul-2001) 731321 (15-Apr-2002) 731336 (30-Apr-2002)
类同:zbtprice和其他利率期限结构函数
8.3 收益
(1)beytbill函数
目的 短期国库券的债券等价产出。政府债券的等价收益 格式 yield=beytbill(settle,maturity,discount)
参数 settle 输入连续日期数或日期流。交割日必须等于或早于到期日。
Maturity输入连续日期数或日期流。
Discount 短期国库券的贴息率。输入小数。
描述 yield=beytbill(settle,maturity,discount) 得出短期国库券的债券等价产出。
例8-11 短期国库券的交割日是Feb 11,2000,到期日是Aug 7,2000,贴息率是5.77%.债券的等价产出是 yield=beytbill(‘2/11/2000’,’8/7/2000’,0.0577) yield= 0.0602 (2)bndyield函数
目的:固定利率债券的到期收益
格式:Yield=bndyield( Price,CouponRate,Settle,Maturity,Period,Basis,EndMonthRule,IssueDate, FirstCouponDate,LastCouponDate,StartDate,Face)
参数: 所有说明的参数必须是1*NUMBONDS或是NUMBONDS*1的向量.当是可选项时,用(〔〕)代替.在向量用NaN填写没说明的输入项. Price 净值
Period=2 Basis=0
[YearConvexity,PerConvexity]=bndconvy (Yield,CouponRate,Settle,Maturity,Period,Basis) YearConvexity=21.4825 21.0358 20.8885 PerConvexity=85.9298 84.1434 83.5541 参阅:bndconvp,bndconvy,bnddury,cfconv,cfdur (3)bnddurp函数
目的:给定价格的债券平均期限,价格一定的债券久期
格式:[ModDuration,YearDuration,PerDuration]=bnddurp(Price,CouponRate,Settle,Maturity,Period,Basis, EndMonthRule,IssueDate,FirstCouponDate,LastCouponDate,StarDate,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代表债券的红利发放日总是固定的一天,缺省1代表是在实际的每个月未 IssueDate: 可选项.
FirstCouponDate: 发行日期, 可选项.第一次分红日.当FirstCouponDate和LastCouponDate同时出现时,FirstCouponDate优先决定红利发放结构
LastCouponDate:可选项.到期日的最后一次红利发放日.当FirstCouponDate没标明时,LastCouponDate决定红利发放结构.红利发放结构无论LastCouponDate是何时,都以其为准,并且紧接着债权到期日.
StarDate:可选项.债权实际起始日(现金流起始日).当预计未来的工具时,用他标明是个未来的日期,如果没有特别说明StarDate,起始日是settlement date. Face:面值.缺省值是100.
所有说明的参数必须是1*NUMBONDS或是NUMBONDS*1的向量.当时可选项是,用(〔〕)代替.在向量用NaN填写没说明的输入项.
说明: 当给定每一个债券的价格时,计算NUMBONDS的平均期限,无论红利结构中的最先或最
后的红利期长或短(即红利结构是否和到期日一致).这个函数也决定零收益债券的凸性. YearConvexity按照年PerConvexity按照半年计算,符合SIA的协议.所有的输出是NUMBONDS*1的向量. 例8-19:
Price=[106;100;98] CouponRate=[0.055] Settle=‘02-Aug-1999’ Maturity=‘15-Jun-2004’ Period=2 Basis=0
[ModDuration,YearDuration,PerDuration]=bnddurp (Price,CouponRate,Settle,Maturity,Period,Basis) ModDuration=4.2400 4.1925 4.1759 YearDuration=4.3275 4.3077 4.3077 PerDuration=8.6549 8.6154 8.6014 参阅:bndconvp,bndconvy,bnddury (4)bnddury函数
目的:给定收益的债券的平均期限,固定收益债券的久期
格式:[ModDuration,YearDuration,PerDuration]=bnddury(Yield,CouponRate,Settle,Maturity,Period,Basis, EndMonthRule,IssueDate,FirstCouponDate,LastCouponDate,StarDate,Face) 参数:Yield : 半年为基础得到期收益 CouponRate: 分红利率
Settle: 结算日期.时间向量或字符串.必须小于等于到期日 Maturity: 到期日,日期向量.
Period : 选择项.年分红次数缺省值2,可为0,1,2,3,4,6,12.
Basis: 选择项.债券的天数计算法.缺省值为0=实际值/实际值.1=30/360,2=实际值/360,3=实际值/365
EndMonthRule: 可选项.月未规则.应用在到期日实在小于等于30天的月份.0代表债券的红利发放日总是固定的一天,缺省1代表是在实际的每个月未 IssueDate:可选项.发行日期
FirstCouponDate:可选项.第一次分红日.当FirstCouponDate和LastCouponDate同时出现时,FirstCouponDate优先决定红利发放结构
LastCouponDate:可选项.到期日的最后一次红利发放日.当FirstCouponDate没标明时,LastCouponDate决定红利发放结构.红利发放结构无论LastCouponDate是何时,都以其为准,并且紧接着债权到期日.
StarDate:可选项.债权实际起始日(现金流起始日).当预计未来的工具时,用他标明是个未来的日期,如果没有特别说明StarDate,起始日是settlement date. Face:面值.缺省值是100.
所有说明的参数必须是1*NUMBONDS或是NUMBONDS*1的向量.当时可选项是,用(〔〕)代替.在向量用NaN填写没说明的输入项.
描述: 当给定每一个债券的收益时,计算NUMBONDS的平均期限,无论红利结构中的最先或最后的红利期长或短(即红利结构是否和到期日一致).这个函数也决定零收益债券的凸性. YearConvexity按照年PerConvexity按照半年计算,符合SIA的协议.所有的输出是NUMBONDS*1的向量. 例8-20:
Yield=[0.04;0.055;0.06] CouponRate=0.055 Settle=’02-Aug-1999’ Maturity=’15-Jun-2004’ Period=2 Basis=0
[ModDuration,YearDuration,PerDuration]=bnddury(Yield,CouponRate,Settle,Maturity,Period,Basis) ModDuration=4.2444 4.1924 4.1751 YearDuration=4.3292 4.3077 4.3004 PerDuration=8.6585 8.6154 8.6007
正在阅读:
第8章 固定收益证券计算09-24
天津市河西区2018届高三一模文综历史试题Word版含答案06-19
舞龙02-18
《冬去春来》观后感04-02
中国文化学习规划导读书目05-01
楼控BA点位设计及介绍 - 图文01-21
生机勃勃的校园作文450字07-11
2015年教师入党志愿书02-12
偷吃零食之路作文600字07-02
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 收益
- 固定
- 计算
- 证券