全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件
7004 13
2015-04-11
悬赏 10 个论坛币 已解决
求助:R程序代码
1、模型: Heston(1993)的SV模型、
               Bates(1996)的SVJ模型、
               Duffie(2000)的SVCJ模型
        (具体模型参见Eraker(2003)文章:The Impact of Jumps in Volatility and Returns
2、方法——EMM(有效矩估计)
3、软件——R

最佳答案

lvlong.cfa 查看完整内容

思路清楚了不就很简单了吗,一般用AR(1)-GARCH(1,1) 拟合正态部分足够了,再用Hermit偏离,所以下面我下面的代码只调控Kz 和Kx 两个关键参数。其中子函数Hermit,你自己动动脑筋,相信能够解决 function [Loglikelihood,BIC,Density,Lnf]=SNP(data0,data,Kz,Kx,param) %% Illustraion: This code was written to calculate the 'real' density %% on the base of hermit polynomial. As Gallant and Tauchen(2002) suggest %% ...
二维码

扫码加我 拉你入群

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

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

全部回复
2015-4-11 18:21:56
思路清楚了不就很简单了吗,一般用AR(1)-GARCH(1,1) 拟合正态部分足够了,再用Hermit偏离,所以下面我下面的代码只调控Kz 和Kx 两个关键参数。其中子函数Hermit,你自己动动脑筋,相信能够解决
function [Loglikelihood,BIC,Density,Lnf]=SNP(data0,data,Kz,Kx,param)
%% Illustraion: This code was written to calculate the 'real' density
%% on the base of hermit polynomial. As Gallant and Tauchen(2002) suggest
%% we only use AR(1)-GARCH(1,1) for nomal part and control the non-nomality
%% through Kz and Kx!
%% Warning:Copyright belongs to LvLong in School of Economics, HUST!
u0=param(1);
u1=param(2);
b0=param(3);
b1=param(4);
g1=param(5);
param_poly=param(6:end);
Num=length(param_poly);
if(Num~=(Kx+1)*(Kz+1)-1)
    error('The length of param-vector is not right');
end
Y=data;
%%%%prepare something%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
T=length(data);
Lnf=zeros(T,1);
Density=zeros(T,1);
Mu=zeros(T,1);
R=zeros(T,1);
Z=zeros(T,1);
R0=sqrt(var(data));
Mu0=mean(data);
Z0=(data0-Mu0)/R0;
%%%%%%%%%start the major cycle%%%%
for t=1:T
    if(t==1)
        Mu(t)=u0+u1*data0;
        R(t)=b0+b1*abs(data0-Mu0)+g1*R0;
        Z(t)=(Y(t)-Mu(t))/R(t);
        hvalue=Hermit(Z(t),Z0,Kz,Kx,param_poly);
    else
        Mu(t)=u0+u1*Y(t-1);
        R(t)=b0+b1*abs(Y(t-1)-Mu(t-1))+g1*R(t-1);
        Z(t)=(Y(t)-Mu(t))/R(t);
        hvalue=Hermit(Z(t),Z(t-1),Kz,Kx,param_poly);
    end
   Density(t)=hvalue/R(t);
   Lnf(t)=log(Density(t));
end
Loglikelihood=sum(Lnf)/T;
vartotal=length(param);
BIC=-Loglikelihood+0.5*log(T)*vartotal/(T);
二维码

扫码加我 拉你入群

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

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

2015-4-11 18:22:51
如果程序运行成功,可追加论坛币~
二维码

扫码加我 拉你入群

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

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

2015-4-11 23:07:56
有大神会么
二维码

扫码加我 拉你入群

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

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

2015-4-12 11:31:16
啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊
二维码

扫码加我 拉你入群

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

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

2015-4-28 19:43:56
不能自己写吗,实现起来不难的,EMM关键弄懂什么是SNP(Semi-nonparametric) density , SNP 关键是写出hermit多项式展开,hermit多项式展开最难的是底部的标准化常数的计算,你就按这个思路来计算SNP,然后其余的就是对AR和GARCH模型定阶,矩条件做模拟大样本的GMM。纯个人体会,希望对你有帮助
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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