Hi,
has anyone any experience of identifying additive outliers in particular the method of Franses and Ghijsels (1999)?
Thank you.
procedure GARCHOutlier y start end previous
type vect[series] *previous
*
local vect[series] dd
local series h eps dh deps grad
local integer test gstart gend
*
garch(p=1,q=1,reg,hseries=h,resids=eps,derives=dd) start end y
# constant previous
compute gstart=%regstart(),gend=%regend()
set lmstat gstart gend = 0.0
do test=gstart,gend
set deps gstart gend = (t==test)
set(first=0.0) dh gstart gend = %beta(%nreg)*dh{1}+%beta(%nreg-1)*eps{1}*deps{1}
set grad gstart gend = -.5*dh/h+.5*(eps/h)^2*dh-(eps/h)*deps
cmom(zxmatrix=xu)
# dd
# grad
compute lmstat(test)=%qform(%xx,xu)
end do test
ext(print) lmstat gstart gend
endopen data garch.asc
all 1867
data(format=free,org=columns) / bp cd dm jy sf
set dlogdm = 100*log(dm/dm{1})
dec vect[series] outliers(0)
@GARCHOutlier dlogdm / outliers
dim outliers(1)
set outliers(1) = (t==1448)
@GARCHOutlier dlogdm / outliersReturn to Help With Programming
Users browsing this forum: No registered users and 2 guests