recm {ARDL} | R Documentation |
Restricted ECM regression
Description
Creates the Restricted Error Correction Model (RECM). This is the conditional RECM, which is the RECM of the underlying ARDL.
Usage
recm(object, case)
Arguments
object |
An object of |
case |
An integer from 1-5 or a character string specifying whether the 'intercept' and/or the 'trend' have to participate in the short-run or the long-run relationship (cointegrating equation) (see section 'Cases' below). |
Details
Note that the statistical significance of 'ect' in a RECM should not be
tested using the corresponding t-statistic (or the p-value) because it
doesn't follow a standard t-distribution. Instead, the
bounds_t_test
should be used.
Value
recm
returns an object of class
c("dynlm", "lm", "recm")
. In addition, attributes 'order', 'data',
'parsed_formula' and 'full_formula' are provided.
Mathematical Formula
The formula of a Restricted ECM conditional to
an ARDL(p,q_{1},\dots,q_{k})
is:
\Delta
y_{t} = c_{0} + c_{1}t + \sum_{i=1}^{p-1}\psi_{y,i}\Delta y_{t-i} +
\sum_{j=1}^{k}\sum_{l=1}^{q_{j}-1} \psi_{j,l}\Delta x_{j,t-l} +
\sum_{j=1}^{k}\omega_{j}\Delta x_{j,t} + \pi_{y}ECT_{t} + \epsilon_{t}
\psi_{j,l} = 0 \;\; \forall \;\; q_{j} = 1, \psi_{j,l} = \omega_{j} =
0 \;\; \forall \;\; q_{j} = 0
- Under Case 1:
-
-
c_{0}=c_{1}=0
-
ECT = y_{t-1} - (\sum_{j=1}^{k} \theta_{j} x_{j,t-1})
-
- Under Case 2:
-
-
c_{0}=c_{1}=0
-
ECT = y_{t-1} - (\mu + \sum_{j=1}^{k}\theta_{j} x_{j,t-1})
-
- Under Case 3:
-
-
c_{1}=0
-
ECT = y_{t-1} - (\sum_{j=1}^{k} \theta_{j} x_{j,t-1})
-
- Under Case 4:
-
-
c_{1}=0
-
ECT = y_{t-1} - (\delta(t-1)+ \sum_{j=1}^{k} \theta_{j} x_{j,t-1})
-
- Under Case 5:
-
-
ECT = y_{t-1} - (\sum_{j=1}^{k} \theta_{j} x_{j,t-1})
-
In all cases, x_{j,t-1}
in ECT
is replaced by x_{j,t} \;\;\;\;\; \forall \;\; q_{j} = 0
Cases
According to Pesaran et al. (2001), we distinguish the long-run relationship (cointegrating equation) (and thus the bounds-test and the Restricted ECMs) between 5 different cases. These differ in terms of whether the 'intercept' and/or the 'trend' are restricted to participate in the long-run relationship or they are unrestricted and so they participate in the short-run relationship.
- Case 1:
-
No intercept and no trend.
-
case
inputs: 1 or "n" where "n" stands for none.
- Case 2:
-
Restricted intercept and no trend.
-
case
inputs: 2 or "rc" where "rc" stands for restricted constant.
- Case 3:
-
Unrestricted intercept and no trend.
-
case
inputs: 3 or "uc" where "uc" stands for unrestricted constant.
- Case 4:
-
Unrestricted intercept and restricted trend.
-
case
inputs: 4 or "ucrt" where "ucrt" stands for unrestricted constant and restricted trend.
- Case 5:
-
Unrestricted intercept and unrestricted trend.
-
case
inputs: 5 or "ucut" where "ucut" stands for unrestricted constant and unrestricted trend.
Note that you can't restrict (or leave unrestricted) a parameter that doesn't
exist in the input model. For example, you can't compute recm(object,
case=3)
if the object is an ARDL (or UECM) model with no intercept. The same
way, you can't compute bounds_f_test(object, case=5)
if the object is
an ARDL (or UECM) model with no linear trend.
References
Pesaran, M. H., Shin, Y., & Smith, R. J. (2001). Bounds testing approaches to the analysis of level relationships. Journal of Applied Econometrics, 16(3), 289-326
Author(s)
Kleanthis Natsiopoulos, klnatsio@gmail.com
See Also
Examples
data(denmark)
## Estimate the RECM, conditional to it's underlying ARDL(3,1,3,2) -----
# Indirectly from an ARDL
ardl_3132 <- ardl(LRM ~ LRY + IBO + IDE, data = denmark, order = c(3,1,3,2))
recm_3132 <- recm(ardl_3132, case = 2)
# Indirectly from an UECM
uecm_3132 <- uecm(ardl_3132)
recm_3132_ <- recm(uecm_3132, case = 2)
identical(recm_3132, recm_3132_)
summary(recm_3132)
## Error Correction Term (ect) & Speed of Adjustment -------------------
# The coefficient of the ect,
# shows the Speed of Adjustment towards equilibrium.
# Note that this can be also be obtained from an UECM,
# through the coefficient of the term L(y, 1) (where y is the dependent variable).
tail(recm_3132$coefficients, 1)
uecm_3132$coefficients[2]
## Post-estimation testing ---------------------------------------------
# See examples in the help file of the uecm() function