全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 MATLAB等数学软件专版
6735 3
2016-05-07
悬赏 5 个论坛币 未解决
请大神为我解答:
如何写代码在matlab中实现CIR模型?
CIR模型: CIR模型.jpg
我只想在给定模型中三个参数的情况下,模拟若干个(比如1000个)X-t出来,用以检验估计量的好坏。
请大神给出Matlab(或者其他软件,比如R)的程序。
本人小白,以前没有用过这个软件,又比较急用,所以只能羞耻地向大家求助了。
万谢!
二维码

扫码加我 拉你入群

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

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

全部回复
2016-5-8 21:48:38
不要沉啊
二维码

扫码加我 拉你入群

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

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

2016-5-15 03:43:12
需要改的参数,在第一二三行改就可以了,画图需要加上什么属性,在画图的代码上面自己加就好了
附件列表

cir_sim.zip

大小:331 Bytes

只需: 1 个论坛币  马上下载

本附件包括:

  • cir_sim.m

二维码

扫码加我 拉你入群

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

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

2016-7-24 19:02:03
%模拟CIR利率期限结构模型,M文件见附件

%参数设定
Theta = 0.05;
Kappa = 1.3;
Sigma = 0.2;
T=3;
NbSteps = 156;
DeltaT = T / NbSteps;
rInit = 0.05;
Lambda = 0.3;
Gamma = sqrt((Kappa+Lambda)^2+2*Sigma^2);
t=0;
r=rInit;

%定义零息票利率R的维度
R = zeros(NbSteps,1);

%定义时间间隔步长
for i=1:NbSteps

    %定义零息债券价格参数A和B
    Temp1=(Gamma+Kappa+Lambda)*(exp(Gamma*(T-t))-1)+2*Gamma;
    Temp2=2*Gamma*exp((Gamma+Kappa+Lambda)*(T-t)/2);
    Temp3=2*(exp(Gamma*(T-t))-1);

    %求取零息债券价格参数A和B
    A = (Temp2/Temp1)^(2*Kappa*Theta/Sigma^2);
    B = Temp3/Temp1;

    %短期利率的模拟
    r = r + Kappa*(Theta-r)*DeltaT + Sigma*sqrt(r)*sqrt(DeltaT)*randn(1);

    %在时刻t,期限为T-t的零息利率R为:
    R(i,1) = (r*B-log(A))/(T-t);
    t=t+DeltaT;
end

%绘出利率期限结构(一条路径)
plot([DeltaT:DeltaT:T], R);
ylabel('R(t,T)')
xlabel('t')
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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