[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: st: fully modified OLS and dynamic OLS

From   Michael Hanson <>
Subject   Re: st: fully modified OLS and dynamic OLS
Date   Wed, 18 Mar 2009 21:57:12 -0400

On Mar 18, 2009, at 6:37 PM, Grant Peter Kabango wrote:

I would like to estimate using the fully modified OLS (FMOLS) and dynamic OLS (DOLS), and I wish to find out the Stata command for these processes.

On Mar 18, 2009, at 7:01 PM, Martin Weiss wrote:

-findit- does not return any results. Are these procedures known under any other name?

The short answers are no (to Grant: "Are FM-OLS or DOLS currently implemented in Stata?") and no (to Martin: "Are they known by other names?"). Note that this request and the corresponding response about alternative names reappear on Statalist roughly every year or two (and apparently has been more popular recently):


FM-OLS and DOLS are single equation estimators for cointegrated relationships. Given that this is a fairly specialized topic in time series analysis, I don't believe they can be found in other Stata .ado files under different names. (Although I would be happy to be proven wrong on that point.)

Dynamic OLS is quite easy to implement in Stata, since it just involves augmenting a (super-consistent) OLS estimate of the cointegrating relationship with leads and lags of the RHS variable. For appropriate inference, HAC standard errors must be used. Below is a simple (and very stylized) example. Note that this example uses both -ivreg2- and -freduse-, which are available from SSC.

// Begin example

freduse GDPC96 PCECC96
gen t = qofd(daten)
format t %tq
drop date*
tsset t

gen y = ln(GDPC96)
gen c = ln(PCECC96)

ivreg2 c y L(-4/4)D.y, bw(auto) robust
ivregress 2sls c y L(-4/4)D.y, vce(hac nw opt)

// End example

The coefficient on y in each regression will be the estimate of the parameter B in the cointegrating vector [1 -B], such that [c y] [1 - B]' ~ I(0). Note that -ivreg2- will work with Stata 9 or better (once installed); -ivregress- was introduced in Stata 10. They should return identical results in the above example.

The FM-OLS estimator is a little more sophisticated, and -- as far as I can tell -- no one has contributed a user-written version. Thus, your options are (1) write it yourself (see the references below -- would be a good exercise to implement in Mata); (2) use a system estimator (such as -vec-); or (3) use a different statistical package. (For example, FM-OLS has been implemented in RATS: see <> and < procs_perl/panelfm.src>. Procedures may also have been written for R, but a quick search did not turn up anything.)

Hope this helps. Perhaps the next time someone looks for the DOLS or FM-OLS estimators, they will search the mailing list archive first.

-- Mike


Banerjee, Anindya, et al, "Co-integration, Error-Correction, and the Econometric Analysis of Non-Stationary Data," Oxford University Press, 1993.

Maddala, G.S. and In-Moo Kim, "Unit Roots, Cointegration, and Structural Change," Cambridge University Press, 1998.

Phillips, Peter and Bruce Hansen, "Statistical Inference in Instrumental Variables Regression with I(1) Processes," Review of Economic Studies, v.57, 1990, pp. 99-125.

Phillips, Peter, "Fully Modified Least Squares and Vector Autoregression," Econometrica, v.63 n.5, 1995, pp. 1023-1078.

Stock, James and Mark Watson, "A Simple Estimator of Cointegrating Vectors in Higher Order Integrated Systems," Econometrica, v.61 n.4, 1993, pp. 783-820.

*   For searches and help try:

© Copyright 1996–2021 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   What's new   |   Site index