楼主: 迪克牛仔
7199 13

求助:求SV、SVJ、SVCJ模型的EMM估计R程序代码 [推广有奖]

  • 2关注
  • 2粉丝

本科生

99%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
1 点
信用等级
0 点
经验
7568 点
帖子
92
精华
0
在线时间
158 小时
注册时间
2011-1-2
最后登录
2016-11-3

楼主
迪克牛仔 发表于 2015-4-11 18:21:55 |AI写论文
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 %% ...
关键词:SVCJ 程序代码 R程序 EMM SVC 文章 程序 模型

回帖推荐

lvlong.cfa 发表于2楼  查看完整内容

思路清楚了不就很简单了吗,一般用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 %% ...

本帖被以下文库推荐

沙发
lvlong.cfa 发表于 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);
已有 1 人评分论坛币 学术水平 收起 理由
我的素质低 + 5 + 1 精彩帖子

总评分: 论坛币 + 5  学术水平 + 1   查看全部评分

藤椅
迪克牛仔 发表于 2015-4-11 18:22:51
如果程序运行成功,可追加论坛币~

板凳
迪克牛仔 发表于 2015-4-11 23:07:56
有大神会么

报纸
迪克牛仔 发表于 2015-4-12 11:31:16
啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊

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

7
迪克牛仔 发表于 2015-4-29 18:43:42
lvlong.cfa 发表于 2015-4-28 19:43
不能自己写吗,实现起来不难的,EMM关键弄懂什么是SNP(Semi-nonparametric) density , SNP 关键是写出hermi ...
你说的思路我当然知道   关键是在程序中怎么实现

8
lvlong.cfa 发表于 2015-5-2 11:26:26
自己做的用SVCJ(对该模型稍作修改,取对数波动率,且收益率方程无常数项) 做的德国股指收益率分析
Alpha        -0.829640359
Beta        0.979220004
Sigma_tau        0.002968394
Rho        0.935285544
U_ret        -0.94512947
Sigma_ret        0.973882037
U_volatility        0.825472425
Sigma_volatility0.999482257
Lamda        0.016372072(约每年跳跃4~5次)

9
迪克牛仔 发表于 2015-5-2 17:03:59
lvlong.cfa 发表于 2015-5-2 11:26
自己做的用SVCJ(对该模型稍作修改,取对数波动率,且收益率方程无常数项) 做的德国股指收益率分析
Alpha ...
我先试试你的程序   有时间请教下~

10
gucci100 发表于 2016-4-29 13:04:36
lvlong.cfa 发表于 2015-5-2 11:26
自己做的用SVCJ(对该模型稍作修改,取对数波动率,且收益率方程无常数项) 做的德国股指收益率分析
Alpha ...
你好,因为论文需要用到svcj模型,可是我对其还不太懂,不知道能否分享下你之前做的svcj程序,可以私聊

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2026-1-7 05:34