第二讲固定收益证券的matlab计算PPT课件.ppt_第1页
第二讲固定收益证券的matlab计算PPT课件.ppt_第2页
第二讲固定收益证券的matlab计算PPT课件.ppt_第3页
第二讲固定收益证券的matlab计算PPT课件.ppt_第4页
第二讲固定收益证券的matlab计算PPT课件.ppt_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第二讲固定收益证券的matlab计算 吴义能TELQ 294808610E mail wuyineng2003 第一节固定收益基本知识 固定收益证券 一组稳定现金流的证券 广义上还包括了债券市场上的衍生产品及优先股 以债券为主 一 固定收益的品种国债是固定收益的重要形式 以贴现债券 discountsecurity 与息票债券 couponbonds 两种形式发行 美国的固定收益证券可以分为以下几个品种 1 短期 国库券 Treasurybills T bills 期限小于一年 贴现发行 面值usu 1 10万美元 是流动性最高的债券品种 违约风险小 其利率usu当作无风险利率 2 政府票据 Treasurynotes T notes 即美国中期国债 期限1 10年 是coupon 3 长期国债 Treasurybonds T bonds 期限 10年 面值1 10万美元 是coupon 4 零息票债券 Zero couponbond 零息票债券是指买卖价格相对面值有较大折让的企业或市政债券 本息剥离式国债 零息票债券往往由附息债券所 剥离 出来 购买息票国债的经纪人可以要求财政部停止债券的现金支付 使其成为独立证券序列 这时每一证券都具有获得原始债券收益的要求权 如一张10年期国债被剥离成20张半年期债券 每张都可视为零息票 它们到期日从6个月到10年不等 最后本多支付是另一张零息证券 所有的支付都单独计算 并配有自己的CUSIP号码由于这种债券息票被 剥离 了 因此被称为本息剥离式国债STRIPS separatetradingofregisteredinterestandprincipalofsecurities 5 美国CD存单美国CD存单 certificatedeposit 由银行等金融机构向存款人发行的证券 存单上标有一个到期日和利率 并且以任意面值发行 可以买卖 偿还期限小于1年 6 回购协议 repurchaseagreement 是短期抵押贷款 指一方向另一方出售证券的同时 承诺在未来的某一天按协定的价格将相同的证券买回 通常由借款方发起并贷出证券 回购中涉及的证券通常具有较高的信用质量 回购协议的步骤 1 以债券作为抵押借入资金 2 经过一段时间 按照约定的价格买回抵押债券 7 可转换债券 convertiblesecurity 可转换债券 简称可转债 是一种具有固定收益的证券 其特点是持有者可以转换为普通股股票 在合约的条款中规定了可转换债券转换为普通股的条件 持有者决定何时转换为股票 可转换债券介于普通股和普通债券之间 故又称股票类连接证券 可转债属于次级债券 如果企业破产 满足要求权的次序是 优先债权 次级债 可转债 优先股 普通股 8 浮动利率债券 FRN 浮动利率债券 FRN floatingratenotes 是偿还期内利率发生变化的债券 浮动利率债券具有以下几个特征 规定了利率上限与利率下限 基准利率大多为LIBOR 也可为汇率 股票指数 债券指数等 利率可以正向浮动 也可以反向浮动 二 固定收益相关概念 1 交易日 tradedate 交易日就是买卖双方达成交易的日期 但实际情况可能比这更复杂 2 结算日 SettlementDate 指买入方支付价格和卖出方交割证券的日期 美国国债交割日为交易之后第一个营业日 T 1 交割日也可以由交易者之间商定 如果交割日刚好支付利息 则债券当天出售者获得当天的利息支付 而债券的购买者获得其余款项 有时通过FedWine机构交割证券 交易日即为交割日 3 到期日 Maturity 指固定收益证券债务合约终止的日期 4 本金 Principal 本金有时称面值 parvalue 是指固定收益票面金额 5 票面利率 Couponrate 即发行人支付给持有人的利息 有时也称名义利率 nominalrate 票面利率一般指按照单利计算的年利息率 利息支付的频率不同 实际利率当然就不同 6 月末法则 endofmonthruler 指当债券到期日在某月的最后一天 而且该月天数小于30天 这时有两种情况 到期日在每月固定日期支付 票息在每月的最后一天支付 Matlab默认的是第 种情况 如 今天2011年2月28日 半每付息制 下一次发息日可能是2011年8月28日 也可能是2011年8月31日 如果不用月末法则就是前者 如果用月末法则就是后者 7 起息日到交割日的天数 DCS DSM daysfromcoupontosettlement 指从计息日 含 到交割日 不含 之间的天数 注意 付息日作为下一个利息期限的第一天而不计入DCS 8 交割日距离到期日的天数 DSM DSM daysfromsettlementtomaturity 其一般规则是包括交割日而不包括到期日 第二节应计天数简介 应计天数是指 债券起息日或上一付息日至结算日的天数 在此期间发生的利息称为应计利息 matlab中可用helpdaysdif代码查看 helpdaysdifDAYSDIFDaysbetweendatesforanydaycountbasis DAYSDIFreturnsthenumberofdaysbetweenD1andD2usingthegivendaycountbasis Enterdatesasserialdatenumbersordatestrings D daysdif D1 D2 D daysdif D1 D2 Basis OptionalInputs Compounding BasisInputs D1 ScalarorVector ofdates D2 ScalarorVector ofdates OptionalInputs Basis ScalarorVector ofday countbasis ValidBasisare 0 actual actual default 1 30 360 SIA 2 actual 3603 actual 365 NEW 4 30 360 PSAcompliant NEW 5 30 360 ISDAcompliant NEW 6 30 360 European NEW 7 act 365 Japanese 实务中计算方法如下 1 Act Act 按照实际天数计算 分平闰年 2 Act 360 一年360天 3 Act 365 一年365天 4 30 360 European 每月30天 每年360天 起始日或到期日为31日的改为30日 5 30 360 ISDA 每月30日 每年360天 起始日或到期日为31日改为30日 到期日为31日 起始日不为30日 31日 则不变 6 30 360 PSA 每月30日 每年360天 起始日或到期日为31日改为30日 到期日为31日 起始日不为30日 31日 则不变 2月最后一天为30日 7 30 360 SIA 每月30日 每年360天 起始日或到期日为31日改为30日 到期日为31日 起始日不为30日 31日 则不变 不是闰年 起始日到期日都为2月28日 则都改为30日 闰年 起始日到期日都为2月29日 则改为30日 8 Act 365 Japanese 每月30天 每年365天 不考虑闰年 由于各计数法则之间太难区别 我们只讲matlab的用法 格式 NumDays daysdiff StrateDate EndDate Basis 日期的格式可以是 纯数字 月 日 年 的形式 如3 1 1999表示1999年3月1日 也可以是数字加英文月份的前三个字母 这时按日 月 年来排 如1 Mar 1999 在matlab2010b版本中 也支持 英文月前三字母 日 数字 年 数字 的形式 例1 计算Act Act法则之下2007年2月27日至2007年3月31日之间的天数 代码1 StartDate 27 Feb 2007 EndDate 31 Mar 2007 Basis 0 StartDate 27 Feb 2007 NumDays daysdif StartDate EndDate Basis NumDays 32 代码2 StartDate 2 27 2007 EndDate 3 31 2007 Basis 0 NumDays daysdif StartDate EndDate Basis NumDays 32 代码3 daysdif 2 27 2007 3 31 2007 0 ans 32 例2 请分别用30E 360 ISDA PSA SIA法计算例1中的应计天数 解 30E 360 ISDA PSA SIA对basis代码分别是 E Days daysdif 2 27 2007 3 31 2007 6 E Days 33 ISDA Days daysdif 2 27 2007 3 31 2007 5 ISDA Days 34 PSA Days daysdif 2 27 2007 3 31 2007 4 PSA Days 34 SIA Days daysdif 2 27 2007 3 31 2007 1 SIA Days 34 由于matlab实际上是矩阵的计算 所以变量多可为向量形式 如我们可以把StrateDate和EndDate写成列向量 一次输入多个起始日和到期日 在此 一般用列向量 列的间隔符号是英语分号 例3 计算1998 03 01分别至2001 03 01 2002 03 01和2003 03 01之间的应计天数 ACT ACT 解 StartDate 3 1 1998 3 1 1998 3 1 1998 EndDate 3 1 2001 3 1 2002 3 1 2003 NumDays daysdif StartDate EndDate NumDays 109614611826 特别注意 作业1 请用matlab计算出下表中的应计天数 第三节应计利息 贴现与现金流 一 应计利息 Accruedinterest 公式略 调用方式 AccruInterest acrubond IssueDate Settle FirstCouponDate Face CouponRate Period Basis Period和Basis是可选项 Period指付息频率 Period n表示一年付n次息 例4 公司债券发行日是2000年3月1日 到期日为2006年3月1日 每年支付两次利息 交割日是2000年7月17日 息票率10 面值100元 交割日和下一付息日 2000 09 01 之间的天数按30 360 European 计息 请计算应计利息 解法一 人工计算 30E 360E制度下 半年是180天 交割日和下一付息日之间的天数 由于每月只算30天 所以是44天 那么该债券在本次结算时 应算从上一个付息日到交割日之间的天数 即从2000 03 01至2000 7 17之间的天数 显然这是180 44 136天 由于每半年付一次息 其利率实为10 2 5 所以应该利息AI为 AI 100 5 136 180 3 7778 解法二 IssueDate 3 1 2000 Settle 17 jul 2000 FirstCouponDate 1 sep 2000 Face 100 CouponRate 0 1 Period 2 Basis 6 AccruInterest acrubond IssueDate Settle FirstCouponDate Face CouponRate Period Basis 2020 2 5 22 二 贴现率与票息率 格式一 Disc rate2disc Compounding Rates EndDates StartDates ValuationDate where ValuationDateisthedateofobservationforwhichthediscountfactorsarecalculated Inthisparticularexample useFebruary15 2000asthebeginningdateforallinterest rateterms StartDates 15 Feb 2000 EndDates 15 Aug 2000 15 Feb 2001 15 Aug 2001 15 Feb 2002 15 Aug 2002 Compounding 2 ValuationDate 15 Feb 2000 Rates 0 05 0 056 0 06 0 065 0 075 Disc rate2disc Compounding Rates EndDates StartDates ValuationDate 可见利率越高 贴现率越低 1 票息率转贴现率 格式二 用期数代替起始时间 Rate2disc函数也允许用期数来把票息率转化为贴现率 毕竟 在现实中 贴现多以期数来计算 函数如下 这时相当于ValuationDate为零 Disc rate2disc Compounding Rates EndTimes StartTimes Where StartTimes列向量 指贴现期的起始期 一般设为OEndTimes列向量 实际上是产生现金流的期数上例也可以这样来计算 StartTimes 0 0 0 0 0 EndTimes 1 2 3 4 5 Disc rate2disc Compounding Rates EndTimes StartTimes 格式一 用起止日 Rates disc2rate Compounding Disc EndDates StartDates ValuationDate 格式二 用期数Rates disc2rate Compounding Disc EndTimes StartTimes 各变量含义同前 运行结果 Rates 0 05000 05600 06000 06500 0750 1 贴现率转票息率disc2rate 有五种息券 贴现率分别为3 4 5 6 7 期限分别为1 2 3 4 5年 一年付一次息 请计算各票的票息率 贴现 clear Compounding 1 StartTimes 0 0 0 0 0 EndTimes 1 2 3 4 5 Disc 0 03 0 01 0 07 Rates rate2disc Compounding Disc EndTimes StartTimes Rates 0 97090 92460 86380 79210 7130 由于折现率太低 所以利率很高 三 计算内部收益率 内部收益率是使投资现金流现值等于价格的收益率 其计算公式为 其中 Ci为第i年度现金流 P为债券价格 N为年数 r为内部收益率 Matlab计算函数 irr调用方式 Return irr Cashflow 例6 一项投资各期现金流如上表 请计算该投资的内部收益率是多少 解 Cashflow 5000 1000 2000 3000 4000 irr Cashflow ans 0 2727如果把这里的 5000改成 4000 那么ans 0 3825 这很容易理解 四 现金流现值与终值 1 现金流现值的计算现金流现值的计算公式是 matlab命令是 PesentVal pvvar Cashflow Rte PesentVal pvvar Cashflow Rate IrrCFDates 其中 IrrCFDates是指现金流发生的日期 Rate是指的贴现率 例7 一项投资各年的现金流如下表 贴现率为0 08 求其现值 解 cashflow 10000 2000 1500 3000 3800 5000 rate 0 08 pvvar cashflow rate ans 1 7154e 003即 现值为1715 4 请说说这项投资划得来吗 例8 已知贴现率为0 09 投资各时期的现金流如上表 求其再值 解 cashflow 10000 2500 2000 3000 4000 rate 0 09 irrcfdates 01 12 2007 02 14 2008 03 03 2008 06 14 2008 12 01 2008 PresentVal pvvar cashflow rate irrcfdates PresentVal 142 1648 判断下列写法是否正确 irrcfdates 01 12 2007 02 14 2008 03 03 2008 06 14 2008 12 01 2008 正确的写法 irrcfdates 1 12 2007 2 14 2008 3 3 2008 7 14 2008 12 1 2008 错误的写法 格式不统一 irrcfdates 1 12 2007 2 14 2008 3 3 2008 7 14 2008 12 1 2008 错误的写法 格式不统一 irrcfdates 1 12 2007 2 14 2008 3 3 2008 7 14 2008 12 1 2008 错误的写法 写成了行向量 如果内部收益率每年都是变化的 怎么办 现金流现值的公式是怎样的 可变贴现率下现金流现值的计算 function PreValFlow PresetVal PV variable P r 可变贴现率下现金流现值的计算 计算可变贴现率和对应的现金流的现值 P为各期现金流 r为贴现率向量 注意第0期的利率一定要设成0对应P第的一期应为负值 表示投资 注意P为行向量 r也为行向量 此二向量的元素要一样多 否则计算会出错 a b size r fori 1 1 bC i P i 1 r i i 1 再变成1 1 ri i 次方 endPV variable sum C 注意要转置PresetVal PV variable 各期现值为 PreValFlow C 见PV variable m文件 34 也可以用excel来计算 也很方便 见文件 可变贴现率情况下的现金流现值计算 xls 例9已知四项共5000元的零息投资组合在其后第1 4年分别到期 现金流分别为 1000 2000 3000 4000元 贴现率分别为5 6 7 8 求这四年的现金流的现值是多少 解 利用我自编的可变现金流现值的函数PV variable进行计算 cashflow 5000 1000 2000 3000 4000 rate 0 0 05 0 06 0 07 0 08 PV variable cashflow rate PresetVal 3 1214e 003各期现值为 PreValFlow 1 0e 003 5 00000 95241 78002 44892 9401 现金流终值是债券到期时的价值 用fvvar函数 调用 FutureVal fvvar CashFlow Rate IrrCFDates 例10 题干同例7 求该现金流的终值 解 CashFlow 10000 2000 1500 3000 3800 5000 Rate 0 08 FutureVal fvvar CashFlow Rate FutureVal 2 5205e 003如果将FutureVal贴现到当前时刻就是现值 代码如下 FresentValue FutureVal 1 Rate 5FresentValue 1 7154e 003贴现后的结果同例7 2 现金流终值 五 计算赎回价格 对于可赎回债券 当赎回时间小于等于一个计息周期时 公式较简单 当息票赎回时间大于一个息票期间时 公式较繁杂 其中 RV 赎回时的价格 DSC 结算日到下一个似息票日的天数DSR 结算日到赎回日之间的天数M 每年的息票期间Nq 似息票期间个数Y 息票率 这就是贴现 具体地 是每100元的现值 调用方式 Price zeroprice Yield Settle Maturity Period Basis EndMonthRule 输入参数 Yield 票息率Settle 结算日Maturity 到期日Period optional 付息频率Basis optional 应计天数法则EndMonthRule optional 月末法则输出参数 Price 零息券价格 解 该债券到期日小于一个计息周期 也可以视为一个赎回 注意默认的赎回价格是100 在赎回期之前没有支付票息 距离

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论