全部版块 我的主页
论坛 金融投资论坛 六区 金融学(理论版) 金融工程(数量金融)与金融衍生品
3719 3
2018-06-24
求助各位大神,有谁知道如何用MATLAB求出国债的利率期限结构曲线?远期利率曲线为svensson(1994)模型提出的,
     f= beta0+beta1 * exp(-t/tuo1)+ beta2*(t/tuo1)*exp(-t/tuo1)+beta3*(t/tuo2)*exp(-t/tuo2)
零息利率曲线为:
   f=beta0*t-beta1*exp(-t/tuo1)*tuo1+bata1*tuo1-beta2*(t.*exp(-t/tuo1)-tuo1 +tuo1*exp(-t/tuo1))-bata3*(t.*exp(-t/tuo2)-tuo2+tuo2*exp(-t/tuo2));
    需要求出模型给出的6个参数,分别为
     beta0 = parameter(1);
     beta1 = parameter(2);
     beta2 = parameter(3);
     beta3 = parameter(4);
     tuo1 = parameter(5);
     tuo2 = parameter(6);
     t表示距离结算日的时间
     拜托各位大神了!!!


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2018-6-24 15:15:55
顶帖!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2018-6-25 09:59:47
问题自已已经解决。
解决方法如下:
1、在 MATLAB 命令窗口输入 Settle=repmat(datenum('date'),[N 1]);date 表示结算日,N 表示债券个数。
2、接着 :先在excel处理一下,="'"&TEXT(H1,"dd-mmm-yyyy hh:mm:ss")&"'"
也就是转换成文本,再加两个单引号,这样就可以复制到matlab里了。
把这列文本需要导入到matlab的部分复制一下,在matlab命令行里,输入
ts={;然后按Ctrl+V粘贴;再输入一个 } 回车。
这样把时间的文本形式保存到ts变量里了。
用方括号得到的是字符矩阵,用大括号得到的是cell类型。
之后,可以用datenum(ts)把时间字符串转换成数值,
3、再把债券的价格和利率导入, 输入如下命令:
X=xlsread(a.xls.xlsx)
CleanPrice=x(:,1)
CouponRate=x(:,3)
4、在将债券包含的信息集合在一起,输入如下命令:
Instruments = [Settle Maturity CleanPrice CouponRate]
用 IRFunctionCurve.fitSvensson命令即可估计利率期限结构:
SvenssonModel =IRFunctionCurve.fitSvensson('Zero', datenum('date'),Instruments);
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2018-6-25 10:01:10
感谢网页https://zhidao.baidu.com/question/98791341.html的朋友的答案!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群