* * HAMILTON.RPF * RATS Version 8, User's Guide, Example 11.3 * * Hamilton Markov chain model for US GNP from page 697 of Hamilton, * "Time Series Analysis" * cal(q) 1951:1 open data gnpdata.prn data(format=prn,org=columns) 1951:1 1984:4 * set g = 100*log(gnp/gnp{1}) graph(header="GNP growth") # g * * Set up a mean-switching model with just the one variable and four lags. * @msvarsetup(lags=4,switch=m) # g compute gstart=1952:2,gend=1984:4 frml msvarf = log(%MSVARProb(t)) * nonlin(parmset=msparms) p nonlin(parmset=varparms) mu phi sigma @msvarinitial gstart gend * * Estimate the model by maximum likelihood. * maximize(parmset=varparms+msparms,$ start=(pstar=%MSVARInit()),$ reject=%MSVARInitTransition()==0.0,$ pmethod=simplex,piters=5,method=bfgs,iters=300) msvarf gstart gend * * Compute smoothed estimates of the states. * @msvarsmoothed gstart gend psmooth set pcontract gstart gend = psmooth(t)(2) * * To create the shading marking the recessions, create a dummy series * which is 1 when the recessq series is 1, and 0 otherwise. (recessq is * 1 for NBER recessions and -1 for expansions). * set contract = recessq==1 * spgraph(vfields=2) graph(header="Quarterly Growth Rate of US GNP",shade=contract) # g %regstart() %regend() graph(style=polygon,header="Probability of Economy Being in Contraction",shade=contract) # pcontract %regstart() %regend() spgraph(done)