Solved – structural breaks in time series using matlab

cointegrationMATLABregressionstructural-changetime series

in a plot of my time series there is clearly visible that there is structural break, but I have to find the exact date. I want test this with the chow test. Although I understand how to perform this test if the date of the structural break is know, by simply using a linear regression with two dummy's one for the intercept and one for the slope,

$R_t$ = $\beta_0 $+ $\beta_0^* · D_i + \beta_1 R_{m,t} + \beta_1^* · D_t · R_{m,t} + ε_t,$

Than using the chow test.. But if I do not know the exact date, (in other words: I do not know when $D_i$ and $D_t$ should be 1) how can I find the exact date?

Thank you very much for reply

Best Answer

Not sure how it is relevant to the original question. But just in case somebody still needs an answer to this old question, one possible tool in Matlab is the BEAST method I developed, available at https://www.mathworks.com/matlabcentral/fileexchange/72515-bayesian-changepoint-detection-time-series-decomposition. For good or bad, it is a Bayesian changepoint detection algorithm.

It can be installed by running

eval(  webread( 'http://b.link/beast', weboptions('cert','') )  );

Then, here is a quick test:

 load('Nile.mat')                                   % annual streamflow of the Nile River startin from year 1871
 out = beast(Nile, 'season', 'none','start', 1871)  % trend-only data without seasonality
 printbeast(out)
 plotbeast(out)

Given below is the plotting of the example: enter image description here

More details about the toolbox are also available at https://github.com/zhaokg/Rbeast.

Related Question