基于MATLAB的金融工程方法及应用 资料第十章传统利率期限结构.ppt

基于MATLAB的金融工程方法及应用 资料第十章传统利率期限结构.ppt

  1. 1、本文档共27页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
第十章 利率期限结构传统理论 学习目标 理解利率期限结构的基本理论 能够利用利率期限结构理论解释不同类型的收益率曲线 能够选用合适的平滑方法构建到期收益率曲线 利率期限结构理论 利率期限结构:没有违约风险的不同期限的零息债券到期收益率(即期利率)之间的关系。 利率期限结构基本理论: 无偏预期理论 风险溢价理论 市场分割理论 流动性偏好理论 传统利率期限结构理论 构建到期收益率曲线 靶靴法:核心思想是通过把附息债券各期现金流看成不同期限的零息债券,利用已知的较短期限的收益率推得新的到期收益率 传统利率期限结构理论 对到期收益率曲线进行平滑 三次样条插值法 传统利率期限结构理论 对中国债券市场,如果考虑30年期的折现因子函数, 贴现因子有如下形式 传统利率期限结构理论 指数样条法 传统利率期限结构 考虑30年期的折现因子函数 ,则 传统利率期限结构 Nelson-Siegel 模型 传统利率期限结构 Nelson-Siegel Svensson扩展模型 传统利率期限结构 例:现有2003年3月28日交易的15只附息国债相关数据,试确定利率期限结构。 传统利率期限结构 首先,我们把债券相关数据按照上表的顺序输入excel,保存文件data.xls 利用靶靴法确定给定到期时间的到期收益率, clear; [Numeric,Txt]=xlsread('d:\\mfile\data'); a=Numeric; b=Txt(:,1); c=b(2:16); Bonds=[datenum(c),a(:,[1:5])]; Settle=datenum('03/28/2003') OutputCompounding=-1; [ZeroRates,CurveDates]=zbtprice(Bonds,a(:,6),Settle,OutputCompounding) 传统利率期限结构 使用内插值法对收益率曲线进行平滑 matlab自带的平滑零息债券到期收益率的函数:Termfit ,应用样条插值的方法对收益率曲线进行平滑,[ZeroRates, CurveDates, BootZeros, BootDates, BreakDates] = termfit (Smoothing , Bonds ,Prices ,Settle ,OutputCompounding ),其中0<Smoothing<1,它取值的代表曲线的拟和程度。 传统利率期限结构 利用termfit得到的到期收益率曲线,图中*表示数据表中15只债券的到期收益率。 传统利率期限结构-多项式插值 目标函数myfunpoly.m: function F = myfunpoly(x) global d ZeroRates f T t b a; [Numeric,Txt]=xlsread('d:\\mfile\book4'); a=Numeric; b=Txt(:,1); c=b(2:16); Bonds=[datenum(c),a(:,[1:5])]; 传统利率期限结构-多项式插值 s=a(:,6); Settle=datenum('03/18/2003'); OutputCompounding=-1; [ZeroRates,CurveDates]=zbtprice(Bonds,a(:,6),Settle,OutputCompounding); d=date2time(Settle,c,1); for i=1:15 if d(i)<=5 f(i)=1+x(1)*d(i)+x(2)*d(i)^2+x(3)*d(i)^3; f(i)=-log(f(i))/d(i); else if 5<d(i)<=10 传统利率期限结构-多项式插值 f(i)=1+x(1)*d(i)+x(2)*d(i)^2+x(3)*(d(i)^3-(d(i)-5)^3)+x(4)*(d(i)-5)^3; f(i)=-log(f(i))/d(i); else if 10<d(i)<=30 f(i)=1+x(1)*d(i)+x(2)*d(i)^2+x(3)*(d(i)^3-(d(i)-5)^3)+x(4)*((d(i)-5)^3-(d(i)-10)^3)+x(5)*(d(i)-10)^3; f(i)=-log(f(i))/d(i); end end end e

文档评论(0)

时间加速器
该用户很懒,什么也没介绍
全民来找茬

相关文档

相关课程推荐