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 15 or a character string specifying whether the 'intercept' and/or the 'trend' have to participate in the shortrun or the longrun 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 tstatistic (or the pvalue) because it
doesn't follow a standard tdistribution. 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}^{p1}\psi_{y,i}\Delta y_{ti} +
\sum_{j=1}^{k}\sum_{l=1}^{q_{j}1} \psi_{j,l}\Delta x_{j,tl} +
\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_{t1}  (\sum_{j=1}^{k} \theta_{j} x_{j,t1})

 Under Case 2:


c_{0}=c_{1}=0

ECT = y_{t1}  (\mu + \sum_{j=1}^{k}\theta_{j} x_{j,t1})

 Under Case 3:


c_{1}=0

ECT = y_{t1}  (\sum_{j=1}^{k} \theta_{j} x_{j,t1})

 Under Case 4:


c_{1}=0

ECT = y_{t1}  (\delta(t1)+ \sum_{j=1}^{k} \theta_{j} x_{j,t1})

 Under Case 5:


ECT = y_{t1}  (\sum_{j=1}^{k} \theta_{j} x_{j,t1})

In all cases, x_{j,t1}
in ECT
is replaced by x_{j,t} \;\;\;\;\; \forall \;\; q_{j} = 0
Cases
According to Pesaran et al. (2001), we distinguish the longrun relationship (cointegrating equation) (and thus the boundstest 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 longrun relationship or they are unrestricted and so they participate in the shortrun 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), 289326
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]
## Postestimation testing 
# See examples in the help file of the uecm() function