__STATA COMMAND FOR TIME SERIES ANALYSIS__

__STATA COMMAND FOR TIME SERIES ANALYSIS__

**How to set time series data**:

tsset year, yearly

**How to fill missing data for Time Series analysis:**

ipolate x time, gen(xi) epolate

**How to check unit root using Augmented Dikker Fuller test (ADF):**

ADF unit root test using constant

dfuller x

**ADF test for constant and trend:**

dfuller x, trend

**When a variable has unit root, we take difference as follows:**

dfuller d.x

**ADF test after differencing for constant and trend:**

dfuller d.x, trend

**If you want to have summary statistics:**

sum y x1 x2 x3 x4

**How to run correlation matrix for your data:**

correlate y x1 x2 x3 x4

Stuck with Your Project? Let us Help You Right Now - Quality is a Guarantee Data Analysis & Results Interpratation for your Thesis or Dissertation

We are Experts in SPSS, EVIEWS, AMOS, STATA, R, and Python

### STATA COMMAND FOR TIME SERIES ANALYSIS

Command for running regression model:

regress y x1 x2 x3 x4

If you want to check normality after running regression model, run two commands consecutively:

predict myResiduals, r

sktest myResiduals

After regression, you can check for serial correlation using either of the following:

dwstat or estat bgodfrey

Use the following command for heteroskedasticity test :

Prob value below 10% means there is heteroskedasticity problem in the model

estat hottest

STATA COMMAND FOR TIME SERIES ANALYSIS

If you want to see whether the model is mis-specified or if some variables are omitted:

estat ovtest

Command for selecting optimum lags for your model is given below:

varsoc y x1 x2 x3 x4, maxlag(4)

the asterisk (*) indicates the appropriate lag selected

Command for testing co-integration:

vecrank y x1 x2 x3 x4, trend(constant)

When co-integration is established, run VECM otherwise unrestricted VAR model is appropriate.

Assuming variables are co-integrated, we run VECM using the following command:

vec y x1 x2 x3 x4, trend(contant)

The long-run causality must be negative, significant and in between 0 to 1, representing error correction term or speed of adjustment.

Command to run impulse response function (you must estimate VECM or VAR model before running it) as follows:

First you use the following command to create file:

irf create order1, step(10) set(myirf1)

Command for impulse response of all independent variables on dependent variable:

irf graph irf, irf(order1) impulse(y x1 x2 x3 x4) response(smd)

Assuming there is no co-integration, you run VAR model as a replacement for VECM as follows: (Note VAR model is for short run effect only)

var y x1 x2 x3 x4, lags(1/4)

If you want to check how variables jointly affect the dependent variables, use Granger causality test as follows:

vargranger

Diagnostic checking for VAR model: Run the following tests:

Lagrange multiplier test to check if residuals are auto-correlated or not (whether model is well-specified):

varlmar

Jarque-Bera test to check whether residuals are normally distributed or not:

varnorm, jbera

jbera stands for Jarque-Bera

Prob value below 10% shows residuals are not normally distributed

Time Series Autoregressive Distributed Lag (ARDL) Model:

ardl y x1 x2 x3 x4, lag(2 1 1 1 1) ec

The value must be negative, significant and in between 0 to 1, representing error correction term or speed of adjustment

To confirm existence of long-run relationship, we run bound test as follows:

estat btest

btest stand for bound test

The long-run cointegration is possible if the F statistics value is above the critical value.

Command for Zivot-Andrews unit root test (structural break):

zandrews x

zandrews d.x

Gregory-Hansen Cointegration test

Command for g-hansen test with change in level:

ghansen y x1 x2 x3 x4, break(level) lagmethod(aic) maxlags(4)

Command for g-hansen test under regime change;

ghansen y x1 x2 x3 x4, break(regime) lagmethod(fixed) maxlags(4)

Command for g-hansen test with change in regime and trend:

ghansen y x1 x2 x3 x4, break(regimetrend) lagmethod(downt) level(0.99) trim(0.1)

Command for Non-linear Autoregressive Distributed Lag (NARDL) for frequency data

nardl y x1 x2 x3 x4, p(2) q(4) constraints (1/2) plot bootstrapt (500) level (95)

p(2) stands for lags of dependent variable, q(4) lags for explanatory variables

Command for non-linear Autoregressive Distributed Lag (NARDL) for fewer observations

nardl y x1 x2 x3 x4

The results include positive and negative coefficients otherwise asymmetric effect

Steps for running Toda and Yamamoto Granger-non causality test

After testing for unitroot

Estimate var model to select appropriate lag as follows

var y x1 x2 x3 x4, lags(1/4)

varsoc

Assuming lag 3 is selected for the model, then run var model to include exogenous variables:

var y x1 x2 x3 x4, lags(1/2) exog(13.y 13.x1 13.x2 13.x3 13.x4)

Then run Toda Yamamoto causality test as follows:

vargranger

STATA COMMAND FOR TIME SERIES ANALYSIS