Structural Break in the Variance/Covariance Matrix State Space

For technical questions regarding estimation of single equations, systems, VARs, Factor analysis and State Space Models in EViews. General econometric questions and advice should go in the Econometric Discussions forum.

Moderators: EViews Gareth, EViews Moderator

macroWB
Posts: 3
Joined: Tue Jun 09, 2015 7:03 am

Structural Break in the Variance/Covariance Matrix State Space

Postby macroWB » Thu Sep 12, 2019 12:01 pm

Is it possible in the Eviews State Space to incorporate structural change in the variance-covariance matrix? Imagine a simple trend-cycle GDP model but I want to include a break for the great moderation (lower volatility in GDP).

Signals
y = trend + cycle

States
trend = c(1) + trend(-1) + [var=c(10)^2)]
cycle = c(2)*cycle(-1) + c(3)*cycle(-2) + [var=c(20)^2)]

Could I write something along the following lines for the state equations?

States Breaks
trend = c(1) + trend(-1) + [var=(c(10)+c(11)*@during("1960 1984"))^2)]
cycle = c(2)*cycle(-1) + c(3)*cycle(-2) + [var=(c(20)+c(21)*@during("1960 1984"))^2)]

Thanks,

Dave

EViews Glenn
EViews Developer
Posts: 2682
Joined: Wed Oct 15, 2008 9:17 am

Re: Structural Break in the Variance/Covariance Matrix State Space

Postby EViews Glenn » Thu Sep 12, 2019 12:19 pm

I don't have the time to test this right now, but it should work.

All that the variance equation is doing is evaluating the expression to get the appropriate variance for a give observation.

macroWB
Posts: 3
Joined: Tue Jun 09, 2015 7:03 am

Re: Structural Break in the Variance/Covariance Matrix State Space

Postby macroWB » Fri Sep 13, 2019 7:17 am

Thanks for the quick reply Glenn. I had a go at coding up a simple trend/cycle model of US per capita GDP and it seems to work ok. If anyone sees anything that looks wrong with the syntax I have used please comment below.

Thanks again,

Dave

Code: Select all

'___________________________________________________________________________________________________________________________________________________________________________ ' ESTIMATE UNOBSERVED COMPONENT MODELS ' Estimates two models: ' 1. Simple trend/cycle model of GDP ' 2. Simple trend/cycle model of GDP with structural break in variance-covariance matrix '___________________________________________________________________________________________________________________________________________________________________________ close @all wfcreate q 1947Q1 2019Q2 fetch(d=ffred) a939rx0q048sbea sample ssest 1947q1 2006q4 series lgdppc = log(a939rx0q048sbea)*100 series dlgdppc = dlog(a939rx0q048sbea)*100 series dum_mod = 0 smpl @first 1984q4 dum_mod =1 ' Setup coefficient vectors coef(1) delta coef(2) phi coef(3) sigma coef(6) alpha ' Establish starting values using frequency domain filter estimates of trend and cycle smpl @all ' HP filter lgdppc.hpf(lamda=1600) lgdppct_ini series lgdppcc_ini = lgdppc - lgdppct_ini ' Estimate initial coefficients ' Trend smpl ssest equation eq_lgdppct.ls lgdppct_ini =delta(1)+lgdppct_ini(-1) ' Store estimates for later use !delta1=delta(1) !sigma1=eq_lgdppct.@se ' Cycle smpl ssest equation eq_phi.ls lgdppcc_ini = phi(1)*lgdppcc_ini(-1) + phi(2)*lgdppcc_ini(-2) ' Store estimates for later use !phi1 = phi(1) !phi2 =phi(2) !sigma2=eq_phi.@se ' Estimate simple trend/cycle state space model using HP estimates as starting values (uses MLE) sspace eq_gdpc eq_gdpc.append @param delta(1) !delta1 phi(1) !phi1 phi(2) !phi2 sigma(1) !sigma1 sigma(2) !sigma2 eq_gdpc.append @signal dlgdppc = delta(1) + ygap0 - ygap1+ [var=(sigma(1)^2)] eq_gdpc.append @state ygap0 = phi(1)*ygap0(-1) + phi(2)*ygap1(-1) + [var=(sigma(2)^2)] eq_gdpc.append @state ygap1 = ygap0(-1) smpl ssest eq_gdpc.ml(optmethod=legacy) eq_gdpc.makestates(t=smooth) * ' Estimate simple trend/cycle state space model with structural break in variance-covariance matrix sspace eq_gdpc_break eq_gdpc_break.append @param delta(1) !delta1 phi(1) !phi1 phi(2) !phi2 sigma(1) !sigma1 sigma(2) !sigma2 eq_gdpc_break.append @signal dlgdppc = delta(1) + ygap0 - ygap1+ [var=(sigma(1)+sigma(3)*dum_mod)^2] eq_gdpc_break.append @state ygap0 = phi(1)*ygap0(-1) + phi(2)*ygap1(-1) + [var=(sigma(2)^2)] eq_gdpc_break.append @state ygap1 = ygap0(-1) smpl ssest eq_gdpc_break.ml eq_gdpc_break.makestates(t=smooth) *_break plot ygap0 ygap0_break

EViews Glenn
EViews Developer
Posts: 2682
Joined: Wed Oct 15, 2008 9:17 am

Re: Structural Break in the Variance/Covariance Matrix State Space

Postby EViews Glenn » Thu Sep 19, 2019 8:23 am

Looking at the variance specs only, it looks okay to me.


Return to “Estimation”

Who is online

Users browsing this forum: No registered users and 2 guests