Bai and Perron multiple break test
Moderators: EViews Gareth, EViews Moderator
Bai and Perron multiple break test
Dear All,
Once a regression has been estimated and you check the stability of diagnostic by applying the Bai and Perron multiple break test how do you interpret the break dates and define the interval to reestimate the regression according those breaks.
For example after selecting the global maximiser option and obtaining the below output:
Multiple breakpoint tests
BaiPerron tests of 1 to M globally determined breaks
Date: 02/03/15 Time: 14:41
Sample: 1963Q1 2012Q4
Included observations: 172
Breakpoint variables: C Y LPXIP U
Break test options: Trimming 0.15, Max. breaks 5, Sig. level 0.05
Test statistics employ HAC covariances (Prewhitening with lags = 1,
QuadraticSpectral kernel, Andrews bandwidth)
Allow heterogeneous error distributions across breaks
Sequential Fstatistic determined breaks: 5
Significant Fstatistic largest breaks: 5
UDmax determined breaks: 2
WDmax determined breaks: 2
Scaled Weighted Critical
Breaks Fstatistic Fstatistic Fstatistic Value
1 * 47.43494 189.7398 189.7398 16.19
2 * 104.8705 419.4820 493.2036 13.77
3 * 84.63619 338.5447 450.3730 12.17
4 * 68.96194 275.8478 413.8995 10.79
5 * 61.48036 245.9214 438.0053 9.09
UDMax statistic* 419.4820 UDMax critical value** 16.37
WDMax statistic* 493.2036 WDMax critical value** 17.83
* Significant at the 0.05 level.
** BaiPerron (Econometric Journal, 2003) critical values.
Estimated break dates:
1: 1976Q2
2: 1978Q4, 1989Q1
3: 1977Q3, 1985Q4, 1992Q2
4: 1977Q3, 1985Q4, 1992Q2, 2006Q4
5: 1977Q3, 1985Q4, 1992Q2, 1999Q3, 2006Q4
How to I interpret the breakdates and define intervals for each of the breaks?
Any help will be very welcome.
Regards,
Vitor
Once a regression has been estimated and you check the stability of diagnostic by applying the Bai and Perron multiple break test how do you interpret the break dates and define the interval to reestimate the regression according those breaks.
For example after selecting the global maximiser option and obtaining the below output:
Multiple breakpoint tests
BaiPerron tests of 1 to M globally determined breaks
Date: 02/03/15 Time: 14:41
Sample: 1963Q1 2012Q4
Included observations: 172
Breakpoint variables: C Y LPXIP U
Break test options: Trimming 0.15, Max. breaks 5, Sig. level 0.05
Test statistics employ HAC covariances (Prewhitening with lags = 1,
QuadraticSpectral kernel, Andrews bandwidth)
Allow heterogeneous error distributions across breaks
Sequential Fstatistic determined breaks: 5
Significant Fstatistic largest breaks: 5
UDmax determined breaks: 2
WDmax determined breaks: 2
Scaled Weighted Critical
Breaks Fstatistic Fstatistic Fstatistic Value
1 * 47.43494 189.7398 189.7398 16.19
2 * 104.8705 419.4820 493.2036 13.77
3 * 84.63619 338.5447 450.3730 12.17
4 * 68.96194 275.8478 413.8995 10.79
5 * 61.48036 245.9214 438.0053 9.09
UDMax statistic* 419.4820 UDMax critical value** 16.37
WDMax statistic* 493.2036 WDMax critical value** 17.83
* Significant at the 0.05 level.
** BaiPerron (Econometric Journal, 2003) critical values.
Estimated break dates:
1: 1976Q2
2: 1978Q4, 1989Q1
3: 1977Q3, 1985Q4, 1992Q2
4: 1977Q3, 1985Q4, 1992Q2, 2006Q4
5: 1977Q3, 1985Q4, 1992Q2, 1999Q3, 2006Q4
How to I interpret the breakdates and define intervals for each of the breaks?
Any help will be very welcome.
Regards,
Vitor

 EViews Developer
 Posts: 2601
 Joined: Wed Oct 15, 2008 9:17 am
Re: Bai and Perron multiple break test
They're the start of the next regime. Normally, you would either use dummy variables, with interactions if necessary or, for fully breaking models, estimate regressions with different samples.
But with EViews, the easiest thing is to the breakls estimator, which will form the equation corresponding to the results from a given break test. You'll specify the estimator the same way that you did the test...
But with EViews, the easiest thing is to the breakls estimator, which will form the equation corresponding to the results from a given break test. You'll specify the estimator the same way that you did the test...
Re: Bai and Perron multiple break test
Thank you very much Glenn. The Breaks ls option is perfect.
Vitor
Vitor
Re: Bai and Perron multiple break test
Dear Gareth,
how can i store the dates?
how can i store the dates?

 EViews Developer
 Posts: 2601
 Joined: Wed Oct 15, 2008 9:17 am
Re: Bai and Perron multiple break test
string bks = eq1.@breaks
Re: Bai and Perron multiple break test
Hello,
This is my first post on this forum, so first hello to everyone! Now let's dig into my little issue
I need to make some "sensibility" testing and check how the breakpoints change when I modify some paramteres such as the triming, covariance parameters etc. when using Bai Perron tests. I create equations this way inside a loop :
equation eq01
eq01.breakls( lots of arguments)
Then I wish to store the breakdates into one big matrix so it makes it easy for me to compare the breakpoints according to the parameters. But the thing is that when I write eq01.@breaks, Eviews tells me that @breaks isn't a member of eq01. Any idea on how to go around that?
Thanks a lot
Raphaël
This is my first post on this forum, so first hello to everyone! Now let's dig into my little issue
I need to make some "sensibility" testing and check how the breakpoints change when I modify some paramteres such as the triming, covariance parameters etc. when using Bai Perron tests. I create equations this way inside a loop :
equation eq01
eq01.breakls( lots of arguments)
Then I wish to store the breakdates into one big matrix so it makes it easy for me to compare the breakpoints according to the parameters. But the thing is that when I write eq01.@breaks, Eviews tells me that @breaks isn't a member of eq01. Any idea on how to go around that?
Thanks a lot
Raphaël

 Fe ddaethom, fe welon, fe amcangyfrifon
 Posts: 12156
 Joined: Tue Sep 16, 2008 5:38 pm
Re: Bai and Perron multiple break test
What's the version number and build date of your copy of EViews (Help>About EViews).
Follow us on Twitter @IHSEViews
Re: Bai and Perron multiple break test
Hello,
I am performing a break least sqaures regression of 25 dependent variables on one indepedent variable ( Y=aX+b). How can i store dates coefficients?
i tried this code
matrix (1,25) dates
for !i=1 to 25
equation eq
equation eq{!i}.breakls(maxbreaks=1) x{!i} c y
colplace(dates,eq.@breaks,!i)
next
but it didn't work.
Would anyone please help me?
I am performing a break least sqaures regression of 25 dependent variables on one indepedent variable ( Y=aX+b). How can i store dates coefficients?
i tried this code
matrix (1,25) dates
for !i=1 to 25
equation eq
equation eq{!i}.breakls(maxbreaks=1) x{!i} c y
colplace(dates,eq.@breaks,!i)
next
but it didn't work.
Would anyone please help me?

 Fe ddaethom, fe welon, fe amcangyfrifon
 Posts: 12156
 Joined: Tue Sep 16, 2008 5:38 pm
Re: Bai and Perron multiple break test
I can't see what you're trying to do.
Follow us on Twitter @IHSEViews
Re: Bai and Perron multiple break test
Hello Gareth,
I have 9 dependent variables (y1...y9) and one independent variable (z). I would like to estimate a break least square (for each of the y on z) and store breakdate, coefficients of regression and the tstat. (Y{!i}= constant + bz)
The problem is that: for y3 for example i don't have a breakdate. I only have one linear estimation so 1 value of constant and one value of b. So i have matrix size problem. Because my matrix is (4,9) and for y3 i only need 2 rows.
svector(9) svec
matrix(4,9) coefs
matrix(4,9) tstat
for !i=1 to 9
equation eq
equation eq.breakls(maxbreaks=1) y{!i} c x
svec({!i})= eq.@breaks
colplace(coefs,eq.@coefs,!i)
colplace(tstat,eq.@tstats,!i)
next
I have 9 dependent variables (y1...y9) and one independent variable (z). I would like to estimate a break least square (for each of the y on z) and store breakdate, coefficients of regression and the tstat. (Y{!i}= constant + bz)
The problem is that: for y3 for example i don't have a breakdate. I only have one linear estimation so 1 value of constant and one value of b. So i have matrix size problem. Because my matrix is (4,9) and for y3 i only need 2 rows.
svector(9) svec
matrix(4,9) coefs
matrix(4,9) tstat
for !i=1 to 9
equation eq
equation eq.breakls(maxbreaks=1) y{!i} c x
svec({!i})= eq.@breaks
colplace(coefs,eq.@coefs,!i)
colplace(tstat,eq.@tstats,!i)
next

 Fe ddaethom, fe welon, fe amcangyfrifon
 Posts: 12156
 Joined: Tue Sep 16, 2008 5:38 pm
Re: Bai and Perron multiple break test
Rather than using colplace, loop through the elements of the coefficient vector one by one, storing them into the matrix.
Code: Select all
for !j=1 to eq.@ncoefs
coefs(!j,!i) = eq.@coef(!j)
next
Follow us on Twitter @IHSEViews
Re: Bai and Perron multiple break test
It works!
Thank you Gareth!!
Thank you Gareth!!
Re: Bai and Perron multiple break test
Dear Gareth,
I have a large dataset of multiple samples (sorted by id, see attached sample). I wanted to test multiple breakpoints (based on Bai perron test) for each sample and store the coefficients, pvalues and break dates for the regression Y=a+b1.x1+b2.x2+b3.x3 Can you suggest me any loop command for that?
Thanks
Sohan
I have a large dataset of multiple samples (sorted by id, see attached sample). I wanted to test multiple breakpoints (based on Bai perron test) for each sample and store the coefficients, pvalues and break dates for the regression Y=a+b1.x1+b2.x2+b3.x3 Can you suggest me any loop command for that?
Thanks
Sohan
 Attachments

 BaiPerron Test.xlsx
 (96.25 KiB) Downloaded 119 times
Re: Bai and Perron multiple break test
Dear Gareth/Glenn,
I used following code for the BaiPerron test for the above data.
matrix(24,10) coefs
matrix(24,10) pvals
matrix(6,10) breaks
for !i=1 to 10
smpl if id=!i
equation eq
equation eq.BREAKLS(METHOD=GLOB,HETERR,SELECT=WDMAX) y C x1 x2 x3
for !j=1 to eq.@ncoefs
coefs(!j,!i) = eq.@coef(!j)
pvals(!j,!i) = eq.@pvals(!j)
breaks(!j,!i)=eq.@breaks(!j)
next
next
Although I was able to store coefficients and pvalues, I couldn't store breaks dates.
Can you help please?
Regards
Sohan
I used following code for the BaiPerron test for the above data.
matrix(24,10) coefs
matrix(24,10) pvals
matrix(6,10) breaks
for !i=1 to 10
smpl if id=!i
equation eq
equation eq.BREAKLS(METHOD=GLOB,HETERR,SELECT=WDMAX) y C x1 x2 x3
for !j=1 to eq.@ncoefs
coefs(!j,!i) = eq.@coef(!j)
pvals(!j,!i) = eq.@pvals(!j)
breaks(!j,!i)=eq.@breaks(!j)
next
next
Although I was able to store coefficients and pvalues, I couldn't store breaks dates.
Can you help please?
Regards
Sohan
Re: Bai and Perron multiple break test
Code: Select all
svector(157) svecdates
matrix(157,4) coefs
matrix(157,4) tstat
equation eq
for !i=1 to 157
equation eq.breakls(maxbreaks=1) y{!i} c x{!i}
for !j=1 to eq.@ncoefs
coefs(!i,!j)= eq.@coefs(!j) tstat(!i,!j)=eq.@tstats(!j)
svecdates({!i})=eq.@breaks
next
next
show svecdates
show coefs
show tstat
Who is online
Users browsing this forum: No registered users and 6 guests