Identifying Break Dates for BEKK Variance Shift Dummies

Discussion of models with structural breaks or endogenous switching.
cmcknigh
Posts: 17
Joined: Tue Apr 23, 2019 12:16 pm

Identifying Break Dates for BEKK Variance Shift Dummies

Unread post by cmcknigh »

Hello,

I am wanting to include variance shift dummies in my VECM BEKK-GARCH model. I have performed a Nyblom (1989) test on my model and have identified five variance parameters that have breaks.

My question is how to use these results to justify break dates for my variance shift dummies. I have read in the 2018 Handbook that using something like an ICSS test on the raw series is not appropriate to identify break dates. However, the ICSS test provides break dates whereas the Nyblom test does not. Is there a robust way of identifying these structural break dates instead of just eyeballing it from the cumulated gradient graphs from the Nyblom test? Thanks for your help.


Cheers,

Curtis
TomDoan
Posts: 7732
Joined: Wed Nov 01, 2006 4:36 pm

Re: Identifying Break Dates for BEKK Variance Shift Dummies

Unread post by TomDoan »

You're overstating what ICSS provides. Yes, it's a hard number, but it's a hard number which can be deleted when an additional break is used (that is, it's only a somewhat vague estimate of a break point). That's true with almost any break analysis which allows for subsequent pruning (for instance, the dummy analysis in X12 can find dummies then delete them when other dummies are located).

However, if you want a hard number, something like

acc dd(35) / agrad35
sstats(max) %regstart() %regend() abs(agrad35)
disp %maxent

will give you the most extreme value of the accumulated gradients, for (in this case) parameter 35.
cmcknigh
Posts: 17
Joined: Tue Apr 23, 2019 12:16 pm

Re: Identifying Break Dates for BEKK Variance Shift Dummies

Unread post by cmcknigh »

Hello Tom,

For some reason, when I run the code you provided for any dd(), I get a value of zero back. For example, I have attached the picture ("Nyblom1") of the estimated cumulated gradients for one of my parameters, A(1,2) (or, dd(36)). When I run the following code,

Code: Select all

acc dd(36) / agrad36
sstats %regstart() %regend() abs(agrad36)
disp %maxent
I get a return value of zero. From the cumulated gradient graph, we can clearly see that the maximum value is not zero. Secondly, is there a command in RATS that can identify the date associated with the maximum value? Thanks.
Attachments
Nyblom1.png
Nyblom1.png (23.72 KiB) Viewed 21395 times
TomDoan
Posts: 7732
Joined: Wed Nov 01, 2006 4:36 pm

Re: Identifying Break Dates for BEKK Variance Shift Dummies

Unread post by TomDoan »

Sorry. Should be sstats(max) ... I corrected that above.
cmcknigh
Posts: 17
Joined: Tue Apr 23, 2019 12:16 pm

Re: Identifying Break Dates for BEKK Variance Shift Dummies

Unread post by cmcknigh »

Thank you for the clarification Tom. One more question... I noticed that on the @FLUX Procedure page, the example listed gives an output that estimates a break entry period (in the example, the break appears to be in the mean at entry period 1296). However, when I run the flux command I do not get a rough break date guess for each coefficient. Is this a different (old or new) version of the procedure? Here is the link for your reference:

https://estima.com/webhelp/topics/fluxprocedure.html

Thanks again Tom!
TomDoan
Posts: 7732
Joined: Wed Nov 01, 2006 4:36 pm

Re: Identifying Break Dates for BEKK Variance Shift Dummies

Unread post by TomDoan »

There's a newer version of @FLUX that includes that. You can get it by doing Help-Update Procedures.


Last bumped by TomDoan on Tue May 13, 2025 12:51 pm.
Post Reply