<p>Consider a production function to be estimated,</p>
<p><span class="math-container">$$(*) y_{it} = \beta_0 +\beta_k k_{it} +\beta_l l_{it} + a_i +\omega_{it} +\varepsilon_{it}$$</span></p>
<p>where <span class="math-container">$\omega_{it}=\rho\omega_{i,t-1}+\xi_{it}$</span>. The <a href="https://www.tandfonline.com/doi/abs/10.1080/07474930008800475" rel="nofollow noreferrer">Blundell-Bond (2000)</a> method involves &quot;<span class="math-container">$\rho$</span>-differencing&quot; the equation to attain</p>
<p><span class="math-container">$$y_{it}-\rho y_{i,t-1} = \beta_0 (1-\rho) +\beta_k(k_{it}-\rho k_{i,t-1})+\beta_l(l_{it}-\rho l_{i,t-1})+a_i(1-\rho) +\xi_{it}+(\varepsilon_{it}-\rho \varepsilon_{i,t-1})$$</span></p>
<p><span class="math-container">$$y_{it} = \rho y_{i,t-1}+ \beta_0 (1-\rho) +\beta_k(k_{it}-\rho k_{i,t-1})+\beta_l(l_{it}-\rho l_{i,t-1})+a_i(1-\rho) +\xi_{it}+(\varepsilon_{it}-\rho \varepsilon_{i,t-1})$$</span></p>
<p>We are thus in a situation with a lagged dependent variable and fixed effects. This can be estimated by GMM using moments of the form <span class="math-container">$E[\Delta k_{it-1} (a_i(1-\rho) +\xi_{it}+(\varepsilon_{it}-\rho \varepsilon_{i,t-1}))]=0$</span></p>
<p>We can also &quot;double-difference&quot; the equation to attain,</p>
<p><span class="math-container">$$\Delta y_{it} = \rho \Delta y_{i,t-1} +\beta_k\Delta (k_{it}-\rho k_{i,t-1})+\beta_l\Delta (l_{it}-\rho l_{i,t-1}) +\Delta \xi_{it}+\Delta (\varepsilon_{it}-\rho \varepsilon_{i,t-1})$$</span></p>
<p>This can be estimated by GMM using moments of the form <span class="math-container">$E[k_{it-1} (\Delta \xi_{it}+\Delta (\varepsilon_{it}-\rho \varepsilon_{i,t-1}))]=0$</span></p>
<p>My question is, does a Stata command that exists for GMM estimation of these moments? I know there are many commands for dynamic panel estimation (such as xtdpdsys). But these commands state that the baseline equation (equation * above) does not have an autocorrelated error, which this one does due to the <span class="math-container">$\omega$</span>. Also, I do not see any specifics in the help files regarding rho-differencing or double differencing. Does this estimation need to be coded by hand in matlab/python? Or by the gmm Stata command?</p>

CC BY-SA 4.0
2023-07-05T00:53:50.917Z
`xtdpd` or `xtabond2`?
chan1142
CC BY-SA 4.0
2023-07-05T08:05:55.740Z
I know these commands exist as well. In the help file I do not see documentation about rho-differencing, double differencing, or the baseline equation having an autocorrelated error. Please let me know if I am overlooking something.
Michael Gmeiner
CC BY-SA 4.0
2023-07-05T14:57:13.690Z
I've just read the BB (2000) paper briefly. I think it's about SYS-GMM. There are two sets of MC - one diff eq + levels IV (they're Section 3.1), and the other levels eq + diff IV (they're Section 3.2). For estimation, see `help xtdpdsys` or `xtabond2`. I would be able to help you replicate their results if given the data set.
chan1142
CC BY-SA 4.0
2023-07-05T15:35:49.737Z
Regarding what you call "rho-differencing", BB's equation (2.3) is derived from (2.1), and is estimated by SYS-GMM (and other methods). I see it as a plain GMM estimation applied to their (2.3) which can be done by xtabond, xtdpdsys, xtdpd, xtabond2, etc. One caveat is the restrictions on the parameters in their equation (2.2). They say that they do minimum distance. (See the paragraph after (2.3).)
chan1142
CC BY-SA 4.0
2023-07-05T15:52:28.000Z
Regarding the data set, the paper says: "This data was kindly made available to us by Bronwyn Hall". I downloaded one from Bronwyn Hall's website (eml.berkeley.edu/~bhhall/bhdata.html - `hmuscln8`, 3rd from bottom). I could get only 492 firms, not 509 as written in BB (2000). Please let us know if you can construct the data set used by BB (2000).
chan1142
CC BY-SA 4.0
2023-07-06T07:05:52.373Z
Yes. I know all this. The caveat you mention, restrictions on parameters, is precisely the problem. 2.3 is a rho-differenced equation that has a restriction on parameters. I do not see a Stata command (xtdpdsys, xtabond, xtdpd, whatever) that allows for imposing such a restriction. Can you please tell me how to implement GMM with one of these commands that imposes such a restriction on parameters?
Michael Gmeiner
CC BY-SA 4.0
2023-07-06T07:28:23.170Z
I think you need to do MDE manually.
chan1142
<econometrics><production-function><paneldata><dynamic>
Stata command for Dynamic Panel Production Function estimation
Michael Gmeiner
# Stata command for Dynamic Panel Production Function estimation

(Asked by: username_0 on 2023-07-04)

Consider a production function to be estimated,

$$(\*) y\_{it} = \beta\_0 +\beta\_k k\_{it} +\beta\_l l\_{it} + a\_i +\omega\_{it} +\varepsilon\_{it}$$

where $\omega\_{it}=\rho\omega\_{i,t-1}+\xi\_{it}$. The [Blundell-Bond (2000)](https://www.tandfonline.com/doi/abs/10.1080/07474930008800475) method involves "$\rho$-differencing" the equation to attain

$$y\_{it}-\rho y\_{i,t-1} = \beta\_0 (1-\rho) +\beta\_k(k\_{it}-\rho k\_{i,t-1})+\beta\_l(l\_{it}-\rho l\_{i,t-1})+a\_i(1-\rho) +\xi\_{it}+(\varepsilon\_{it}-\rho \varepsilon\_{i,t-1})$$

$$y\_{it} = \rho y\_{i,t-1}+ \beta\_0 (1-\rho) +\beta\_k(k\_{it}-\rho k\_{i,t-1})+\beta\_l(l\_{it}-\rho l\_{i,t-1})+a\_i(1-\rho) +\xi\_{it}+(\varepsilon\_{it}-\rho \varepsilon\_{i,t-1})$$

We are thus in a situation with a lagged dependent variable and fixed effects. This can be estimated by GMM using moments of the form $E[\Delta k\_{it-1} (a\_i(1-\rho) +\xi\_{it}+(\varepsilon\_{it}-\rho \varepsilon\_{i,t-1}))]=0$

We can also "double-difference" the equation to attain,

$$\Delta y\_{it} = \rho \Delta y\_{i,t-1} +\beta\_k\Delta (k\_{it}-\rho k\_{i,t-1})+\beta\_l\Delta (l\_{it}-\rho l\_{i,t-1}) +\Delta \xi\_{it}+\Delta (\varepsilon\_{it}-\rho \varepsilon\_{i,t-1})$$

This can be estimated by GMM using moments of the form $E[k\_{it-1} (\Delta \xi\_{it}+\Delta (\varepsilon\_{it}-\rho \varepsilon\_{i,t-1}))]=0$

My question is, does a Stata command that exists for GMM estimation of these moments? I know there are many commands for dynamic panel estimation (such as xtdpdsys). But these commands state that the baseline equation (equation \* above) does not have an autocorrelated error, which this one does due to the $\omega$. Also, I do not see any specifics in the help files regarding rho-differencing or double differencing. Does this estimation need to be coded by hand in matlab/python? Or by the gmm Stata command?

**Tags:** econometrics, production-function, paneldata, dynamic

> **Comments:**
> **username_1**: `xtdpd` or `xtabond2`?  
> **username_0**: I know these commands exist as well. In the help file I do not see documentation about rho-differencing, double differencing, or the baseline equation having an autocorrelated error. Please let me know if I am overlooking something.  
> **username_1**: I've just read the BB (2000) paper briefly. I think it's about SYS-GMM. There are two sets of MC - one diff eq + levels IV (they're Section 3.1), and the other levels eq + diff IV (they're Section 3.2). For estimation, see `help xtdpdsys` or `xtabond2`. I would be able to help you replicate their results if given the data set.  
> **username_1**: Regarding what you call "rho-differencing", BB's equation (2.3) is derived from (2.1), and is estimated by SYS-GMM (and other methods). I see it as a plain GMM estimation applied to their (2.3) which can be done by xtabond, xtdpdsys, xtdpd, xtabond2, etc. One caveat is the restrictions on the parameters in their equation (2.2). They say that they do minimum distance. (See the paragraph after (2.3).)  
> **username_1**: Regarding the data set, the paper says: "This data was kindly made available to us by Bronwyn Hall". I downloaded one from Bronwyn Hall's website (eml.berkeley.edu/~bhhall/bhdata.html - `hmuscln8`, 3rd from bottom). I could get only 492 firms, not 509 as written in BB (2000). Please let us know if you can construct the data set used by BB (2000).  
> **username_0**: Yes. I know all this. The caveat you mention, restrictions on parameters, is precisely the problem. 2.3 is a rho-differenced equation that has a restriction on parameters. I do not see a Stata command (xtdpdsys, xtabond, xtdpd, whatever) that allows for imposing such a restriction. Can you please tell me how to implement GMM with one of these commands that imposes such a restriction on parameters?  
> **username_1**: I think you need to do MDE manually.  

---

## 0 answers

