楼主: caiyan
9531 6

[问答] 求助garch(1,1)模型参数估计的代码程序 [推广有奖]

  • 0关注
  • 0粉丝

初中生

80%

还不是VIP/贵宾

-

威望
0
论坛币
402 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
205 点
帖子
17
精华
0
在线时间
0 小时
注册时间
2004-11-23
最后登录
2016-1-28

楼主
caiyan 发表于 2005-8-12 00:25:00 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

请教各位大侠:

谁能够提供关于误差非正态分布情况下,关于garch模型参数估计的最大似然法代码程序

二维码

扫码加我 拉你入群

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

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

关键词:GARCH 代码程序 参数估计 ARCH ARC GARCH 模型 参数估计 代码程序

回帖推荐

zhaosweden 发表于3楼  查看完整内容

See also========================library cml;#include cml.ext;cmlset;dsn = "garch";depvar = { INDEX };indvar = { }; /* set order here for a GARCH(p,q) model */p = 2;q = 2;output file = garch.out reset;/*** The dataset is read in using loadd because the GARCH log-likelihood** requires the entire data set and passing the data in as a matrix** will ensure that the complete data set will be passed to t ...

本帖被以下文库推荐

沙发
zhaosweden 发表于 2005-8-12 00:56:00

藤椅
zhaosweden 发表于 2005-8-12 00:56:00

See also

========================

library cml;

#include cml.ext;

cmlset;

dsn = "garch";

depvar = { INDEX };

indvar = { };

/* set order here for a GARCH(p,q) model */

p = 2;

q = 2;

output file = garch.out reset;

/*

** The dataset is read in using loadd because the GARCH log-likelihood

** requires the entire data set and passing the data in as a matrix

** will ensure that the complete data set will be passed to the

** log-likelihood proc.

*/

z = loadd(dsn);

if not scalmiss(indvar);

{ depvar,dv,indvar,iv } = indices2(dsn,depvar,indvar);

else;

{ depvar,dv } = indices(dsn,depvar);

endif;

if scalmiss(dv);

errorlog "error: variable not found in dataset "$+dsn;

end;

endif;

if not scalmiss(indvar);

z = z[.,dv]~ones(rows(z),1)~z[.,iv];

numx = rows(indvar) + 1;

_cml_ParNames = "CONST" | indvar | "kappa" |

(0$+"delta"$+ftocv(seqa(1,1,p),1,0)) |

(0$+"alpha"$+ftocv(seqa(1,1,q),1,0));

else;

z = z[.,dv]~ones(rows(z),1);

numx = 1;

_cml_ParNames = "CONST" | "kappa" |

(0$+"delta"$+ftocv(seqa(1,1,p),1,0)) |

(0$+"alpha"$+ftocv(seqa(1,1,q),1,0));

endif;

/*

** constraints

**

** kappa > 0.01, delta .>= 0, alpha .>= 0, sumc(delta|alpha) < 1

**

*/

_ww_ = { -1e250 1e250 };

_cml_Bounds = ones(numx+1+p+q,2).*_ww_;

_cml_Bounds[numx+1,1] = .01;

_cml_Bounds[numx+2:numx+p+q+1,1] = zeros(p+q,1);

_cml_c = zeros(1,rows(_cml_Parnames));

_cml_c[1,numx+2:numx+p+q+1] = -ones(1,p+q);

_cml_d = -.99;

/*

** Constraints for IGARCH model, uncomment these lines and

** comment out the lines above for _cml_c and _cml_d

**

** _cml_a = zeros(1,rows(_cml_Parnames));

** _cml_a[1,numx+2:numx+p+q+1] = ones(1,p+q);

** _cml_b = 1;

*/

/*

** Set weights for first maxc(p|q) observations to zero

** to keep them out of the log-likelihood

*/

r = maxc(p|q);

__weight = (rows(z)/(rows(z)-r))*ones(rows(z),1);

__weight[1:r] = zeros(r,1);

/*

** start values

*/

if not scalmiss(indvar);

start = z[.,1] / z[.,2:cols(z)];

else;

start = meanc(z[.,1]);

endif;

start = start | 1 | .01 * ones(p+q,1);

_cml_GradProc = &grd;

{ b,f,g,h,ret } = cml( z, 0, &garch, start );

__title = "Wald confidence limits";

cl1 = cmlclimits(b,h);

call cmlclprt(b,f,g,cl1,ret);

output off;

/*************** procedures *******************/

proc garch( b, x );

local u2,kappa,delta,alpha,h;

u2 = (x[.,1] - x[.,2:cols(x)] * b[1:numx])^2;

kappa = b[numx+1];

delta = b[numx+2:numx+p+1];

alpha = b[numx+p+2:numx+p+q+1];

h = recserar(kappa+_shape(u2,q,1)*alpha,meanc(u2)*ones(p,1),delta);

retp( -0.5*( (u2 ./ h) + ln(2 * pi) + ln(h) ) );

endp;

proc grd(b,x);

local j,u,u2,kappa,delta,alpha,r,h,s,g;

u = x[.,1] - x[.,2:cols(x)] * b[1:numx];

u2 = u .* u;

kappa = b[numx+1];

delta = b[numx+2:numx+p+1];

alpha = b[numx+p+2:numx+p+q+1];

g = ones(rows(x),rows(b));

s = _shape(u2,q,1);

h = recserar(kappa+s*alpha,meanc(u2)*ones(p,1),delta);

g[.,1:numx] = -2*_dshape(u.*x[.,2:cols(x)],q,alpha);

g[.,numx+2:numx+p+1] = _shape(h,p,-1);

g[.,numx+p+2:numx+p+q+1] = s;

g = (0.5*(u2./h - 1)./h) .*

recserar(g,zeros(p,cols(g)),delta.*ones(1,cols(g)));

g[.,1:numx] = g[.,1:numx] + (u./h).*x[.,2:cols(x)];

retp(g);

endp;

proc _shape(z,m,r);

local y,n,v;

n = rows(z) - m - 1;

y = zeros(rows(z),m);

if r == 1;

v = seqa(1,1,m)' + seqa(0,1,n+1);

else;

v = seqa(m,-1,m)' + seqa(0,1,n+1);

endif;

y[m+1:rows(z),.] = reshape(z[v],n+1,m);

retp(y);

endp;

proc _dshape(z,m,a);

local y,j,n,v;

n = rows(z) - m - 1;

y = zeros(rows(z),cols(z));

v = seqa(1,1,m)' + seqa(0,1,n+1);

j = 1;

do until j > cols(z);

y[m+1:rows(z),j] = reshape(z[v,j],n+1,m) * a;

j = j + 1;

endo;

retp(y);

endp;

已有 1 人评分经验 论坛币 热心指数 信用等级 收起 理由
胖胖小龟宝 + 20 + 10 + 1 + 1 热心帮助其他会员

总评分: 经验 + 20  论坛币 + 10  热心指数 + 1  信用等级 + 1   查看全部评分

板凳
caiyan 发表于 2005-8-12 11:33:00

上面的程序是用SAS编写的吧

报纸
hill302 在职认证  发表于 2005-8-12 11:41:00

上面的程度看起来像是用GAUSS程序写的,要用SAS不会这么麻烦的

地板
haoqm 发表于 2005-8-12 11:50:00

本论坛的FANPAC可以完成部分GARCH功能

介绍如下:

2.2 Modelling with FANPAC . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.3 Univariate Time Series Models . . . . . . . . . . . . . . . . . . . . . . . . 11 2.3.1 ARCH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.3.2 GARCH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.3.3 IGARCH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.3.4 FIGARCH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.3.5 EGARCH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

2.3.6 ARIMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 2.3.7 OLS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 Multivariate Time Series Models . . . . . . . . . . . . . . . . . . . . . . . 21 2.4.1 DVEC ARCH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.4.2 Constant Correlation DVEC ARCH Model . . . . . . . . . . . . . 23 2.4.3 BEKK ARCH. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 2.4.4 DVEC GARCH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 2.4.5 Constant Correlation DVEC GARCH Model . . . . . . . . . . . . 27 2.4.6 BEKK GARCH. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 Inference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 2.5.1 Confidence Limits . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 2.5.2 Covariance Matrix of Parameters . . . . . . . . . . . . . . . . . . . 32 2.5.3 Quasi-Maximum Likelihood Covariance Matrix of Parameters . . . 34 2.5.4 Ill-Conditioning and Singularity. . . . . . . . . . . . . . . . . . . . 34 FANPAC Keyword Commands . . . . . . . . . . . . . . . . . . . . . . . . 36 2.6.1 Initializing the Session . . . . . . . . . . . . . . . . . . . . . . . . . 37

7
caiyan 发表于 2005-8-12 14:33:00

谢谢各位的热心帮助!!!

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

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2025-12-25 23:57