Markov Switching store regime probabilities
Posted: Sat Jun 17, 2017 10:35 am
I would like to model a regime switching with a rolling window of 1000 days, my problem is how to store the regime probabilities for each one of the iterations in the loop.
I know that with
eq01.makergmprobs(type=smooth) rprob1 rprob2
I can store but only for the last iteration.
I'm adapting a code posted in this forum Multi-step ahead forecast by EViews Gareth on Jan 29, 2014.
'rolling Markov Switching regression
group y variable
' set window size
!window = 1000
' declare equation for estimation
equation eq01
' get size of workfile
!length = @obsrange
'calculate number of rolls
!nrolls = @floor(!length-!window)
'matrix to store coefficient estimates
matrix(5,!nrolls) coefmat
'matrix to store regime probabilities
matrix(1000,!nrolls) regime_probabilities
' loop
for !i = 1 to !nrolls
' dynamic sample
smpl @first+!i @first+!i+!window
equation eq01.switchreg(type=markov) y c
eq01.rgmprobs(type=smooth) 1 2
' estimate equation -
colplace(coefmat,eq01.@coefs,!j) 'store coefficients
eq01.makergmprobs(type=smooth) rprob1 rprob2
colplace(regime_probabilities,eq01@..... ????? ‘ how to store the regime probabilities rprob1 e rprob2????
'in this point, I would like to store rprob1 e rprob2 in matrix regime_probabilities for each loop
next
Thanks for any help.
I know that with
eq01.makergmprobs(type=smooth) rprob1 rprob2
I can store but only for the last iteration.
I'm adapting a code posted in this forum Multi-step ahead forecast by EViews Gareth on Jan 29, 2014.
'rolling Markov Switching regression
group y variable
' set window size
!window = 1000
' declare equation for estimation
equation eq01
' get size of workfile
!length = @obsrange
'calculate number of rolls
!nrolls = @floor(!length-!window)
'matrix to store coefficient estimates
matrix(5,!nrolls) coefmat
'matrix to store regime probabilities
matrix(1000,!nrolls) regime_probabilities
' loop
for !i = 1 to !nrolls
' dynamic sample
smpl @first+!i @first+!i+!window
equation eq01.switchreg(type=markov) y c
eq01.rgmprobs(type=smooth) 1 2
' estimate equation -
colplace(coefmat,eq01.@coefs,!j) 'store coefficients
eq01.makergmprobs(type=smooth) rprob1 rprob2
colplace(regime_probabilities,eq01@..... ????? ‘ how to store the regime probabilities rprob1 e rprob2????
'in this point, I would like to store rprob1 e rprob2 in matrix regime_probabilities for each loop
next
Thanks for any help.