Blog Archive

Friday, December 24, 2021

Bootstrap ARDL: Eviews addin

Introduction

Let's quickly wrap our heads around the idea of bootstrap ARDL by first looking at the concept of weak exogeneity. The idea is better understood within the VECM approach. Suppose there are two variables of interest in that they are both endogenous. It means we can model them jointly. Recall that in the VECM system of equations, each equation has two parts to it: the short-run (in differences) and the long-run (in levels). The long-run component is a linear combination of the lagged endogenous variables plus some deterministic terms, and the effects are the "loading" factors that convey the impact of this linear combination to the changes in each of the endogenous variables. They are also called the speed of adjustments as they reveal how the short-run adjustment takes place due to the disequilibrium in the long-run component. Long-term feedbacks are therefore through the loading factors. If the loading factor for a particular equation in the system is negligible, then long-term feedback may well be set to zero and we say the particular endogenous variable is weakly exogenous. When endogenous variables are weakly exogenous, the system can be simplified into two sub-models: the conditional and the marginal models. We can then focus on the conditional model, that is, the model whose loading factors are significant, and ignore the marginal model. It all means we have less number of parameters to estimates because the number of equations too has been reduced. 

If you understand the preceding, then you already know the make up of ARDL. In this sense, the dynamic regressors in ARDL are considered weakly exogenous. The model analyzed is termed conditional. A telltale of being a conditional model is the first difference at "lag 0" often included for the regressors, (such as \(\varphi_0^\prime \Delta x_t\) in the following model), and should remind the user that the model employed is conditional; otherwise, it's unconditional:\[\Delta y_t = \alpha+\theta t+\rho y_{t-1} +\gamma^\prime x_{t-1}+\sum_{j=1}^{p-1}\phi_j \Delta y_{t-j}+\varphi_0^\prime \Delta x_t+\sum_{j=1}^{q-1}\varphi_j^\prime \Delta x_{t-j}+\epsilon_t\]Thus in models where the users rotate the dependent variables, this assumption of weak exogeneity of the exogenous variables is being violated.

While weak exogeneity assumption is being violated, especially when authors implicitly assume that the variables can be rotated such that the same variable is being used as a dependent variable in one estimation and as an independent variable in another, the degenerate cases are also common (the degenerate cases are discussed here). The first of these degenerate cases arises when the joint test (F statistic) of the lagged dependent and independent variables is significant and the t-statistic on the lagged dependent variable is significant as well while the F statistic  of the lagged independent variable(s) is not significant. The recommended solution to the lagged dependent degenerate case is to formulate the model such that the dependent variable is I(1). Here again, users also violate this assumption by not ensuring that the dependent variable is I(1).

Added to these issues is the inconclusiveness in bounds testing. How do we decide whether cointegration exists or not if the computed F-statistic falls within the lower and the upper bounds? As is well known, the critical values provided by PSS, or Narayan or even by Sam, McNown and Goh do not provide a clear roadmap on what the decision must be. Experience often shows that the case of fractionally integrated process, \(x_t=\sum_{j=1}^t\Delta ^{(d)}_{t-j}\xi_j\), where \(d\in(-0.5,0.5)\cup(0.5,1.5)\) and \(\Delta_t^{(d)}:=\Gamma(t+d)/\Gamma(d)\Gamma(t+1)\) cannot be ruled out. In other words, series occasionally don't fall perfectly into I(0) or I(1).

To proceed, we can bootstrap. This approach works because no parametric assumptions are made about the distribution. Rather data are allowed to speak. Therefore, through bootstrap a data-based distribution emerges that can be used for making decisions. 


The algorithm used...

The bootstrap steps used in this add-in are as follows, where I'm working with the hypothesis that the model is trend-restricted in a bivariate model, that is, \(H_0:\theta_1=\rho_1=\gamma_1=0\) (You can read more about the five model specifications in PSS here): 

    1. Imposing the null hypothesis, e.g., \(H_0:\theta_1=\rho_1=\gamma_1=0\), estimate the restricted model: \[\begin{align*}\Delta y_t =& \alpha_1+\theta_1 t+\rho_1 y_{t-1} +\gamma_1 x_{t-1}+\sum_{j=1}^{p_y-1}\phi_{j,1} \Delta y_{t-j}+\sum_{j=0}^{q_y-1}\varphi_{j,1} \Delta x_{t-j}+\epsilon_{1,t}\\\Delta x_t =& \alpha_2+\theta_2 t+\rho_2 y_{t-1} +\gamma_2 x_{t-1}+\sum_{j=1}^{p_x-1}\phi_{j,2} \Delta y_{t-j}+\sum_{j=0}^{q_x-1}\varphi_{j,2} \Delta x_{t-j}+\epsilon_{2,t}\end{align*}\]and obtain the residuals \(\hat{\epsilon}_{1,t}\) and \(\hat{\epsilon}_{2,t}\). Note that this system needs not be balanced as the orders may not necessarily be the same;
    2. Obtain the centered residuals \(\tilde{\epsilon}_{i,t}=(\hat{\epsilon}_{i,t}-\bar{\hat{\epsilon}}_{i,t})\);
    3. Resample \(\tilde{\epsilon}_{i,t}\) with replacement to obtain \(\epsilon^*_{i,t}\)
    4. Using the model in Step 1, evaluating the system at the estimated values, generate pseudo-data (bootstrap data): \(y_t^*\) and \(x_t^*\), which can be recovered as \(y_t^*=y_{t-1}^*+\Delta y_t^*\) and ditto for \(x_t^*\);
    5. Estimate unrestricted model using the bootstrap data:\[\Delta y_t^* = \tilde{\alpha}_1+\tilde{\theta}_1 t+\tilde{\rho}_1 y_{t-1}^* +\tilde{\gamma}_1 x_{t-1}^*+\sum_{j=1}^{p_y-1}\tilde{\phi}_{j,1} \Delta y_{t-j}^*+\sum_{j=0}^{q_y-1}\tilde{\varphi}_{j,1} \Delta x_{t-j}^*\]
    6. Test the necessary hypothesis: \(H_0:\tilde{\theta}_1=\tilde{\rho}_1=\tilde{\gamma}_1=0\);
    7. Repeat the steps in 3 to 6 B times (say, B=1000).

Eviews addin

The implementation has been synced to addin, which I prefer to working through all these steps each time. You can obtain the addin here. To use it, you just need to estimate your ARDL model as usual. All the 5 specifications in Eviews can be bootstrapped. After estimation of the model, click on the Proc tab of the estimated model and hover to Add-ins for ARDL equation object. The Bootstrap ARDL menu should be located provided it has already been installed.

Figure 1 shows the Bootstrap ARDL addin dialog box. Although the details of the choices that can be made are self-explaining, the coefficient uncertainty deserves some comments. Usually, the bootstrap is carried out at the estimated values of the parameters. While this is innocuous, the "right" thing to do, in my opinion, is to sample from the distributions of the parameters thereby incorporating the fact that they have not been precisely estimated. To give the user this choice, I have included the Check option for Coefficient uncertainty. 

Figures 2 to 5 give different results of the same model under different choices. I think this should available for sensitivity study of the results. In this output, I have appended -F or -t to indicate the F or t statistic.

Figure 1: Bootstrap ARDL Dialog Box


Figure 2: Sample output


Figure 3: Sample output


Figure 4: Sample output


Figure 5: Sample output

Suggestions are welcome. 

12 comments:

David Babatunde said...

Great job sir. More grease to your elbow. Its really educative.

Shimelis Kebede Hundie said...

Dear sir, I found the add-in very interesting. I have installed it and tried. Unfortunately, it does not work. It returns an error message reading: Error 6 in encrypted program. Is there any solution for this?

Olayeni Olaolu Richard said...

First I don't know the Eviews version you are using. I use 12 for this but if you use a lower version you can try to get Eviews 12.

Unknown said...

Sir, while operating it at initial stage I am facing an error that is
BARDLErrro: Untitled equation. Nmae your equation. Please help to solve it.

Unknown said...

This you have done is in the spirit of reproducible research. Well done, Prof. for sharing.

Anonymous said...

Good job
I understood that the critical values introduced in the output file are those of the conditional model. Aren't they?

Anonymous said...

Thanks for sharing, Prof

Halil said...

İn Bardl estimates, is first 3 results adequate?

Kehinde Bello said...

Thank you for sharing Prof.

Anonymous said...

Dear Professor thank you for sharing the code.
I currently use EViews 12 but the "Error 23 in encrypted program" problem emerges when I try to use the Bootstrap ARDL in the "proc" menu. Do you have any suggestions to overcome this problem?

Good morning sir, thanks for sharing the code. I am currently using EViews 12 but error 6 A problem with the coded program appears when I try to use Bootstrap ARDL in the 'proc' list. Do you have any said...

Good morning sir, thanks for sharing the code.
I am currently using EViews 12 but error 6
A problem with the coded program appears when I try to use Bootstrap ARDL in the 'proc' list. Do you have any suggestions to overcome this problem?

Eyüp T said...

Dear professör, can ı use Bootsrap procedure after apply Foureier ARDL ?

Unit root test with partial information on the break date

Introduction Partial information on the location of break date can help improve the power of the test for unit root under break. It is this ...