Bai and Ng Panel Unit Root Test
res = BNG_ur(arg1, ,argn)
arg1, , argn: arguments that can be:
a panel data tlist (in that case there must be an argument 'namevar=xxx' to indicate the name of the variable in the panel, see below)
the strings:
- 't_order=x' for the trend order with x:
-1: no constant, no trend
0: a constant, no trend (default)
1: a constant and a trend
- 'criteria=x' with x = Criteria used to estimate the number of common factors
= 'IC1', 'IC2', 'IC3', 'PC1', 'PC2', 'PC3', 'AIC3', 'BIC3'
(see Bai and Ng (2002))
- 'typeoflag = x' where x is the string:
* 'common' if the lag order is common to all variables (in that case, the lag order is determined as in Bai and Ng ,2004)
* 'individual' if the lag order is optimally chosen for each variable
- 'pmax=x' with x=%nan or a number if for the maximal # of lags for the ADF test
- 'kmax=x' with x=maximum number of common factors used to compute the criterion functions for the estimation of r, the number of common factors. It is not specified kmax=min(N,T)
- 'noprint' if the user does not want to print the results of the test
- 'namevar=xx' where xx is the name of the variable in the panel (only if the data are in a 'panel data' tlist, see help paneldb)
a time series
a real (nxp) matrix
a string equal to the name of a time series or a (nxp) real matrix between quotes (note that there must be several variables of this type tos be able to perform a panel unit root test)
res a results tlist with:
- res('meth') = 'BNG panel ur test'
- res('y') = (T x k) matrix of data
- res('t_order') = the trend order (0 or 1)
- res('t_orderlit') = the trend order in plain english
- res('ratio1') = Variance of idyosyncratic component divised by the variance observed data (both in first differences)
- res('Rratio2') = Variance of residuals of common components divised by variance on idyosyncratic component
- res('ADFe') = Individual ADF statistics on idyosincratic component : ADFe(i)
- res('ADFe_pvalue') = Individual ADF statistics on idyosincratic component : ADFe(i)
- res('ADFe_pi') = Number of ADF terms in ADF tests on e(i,t)
- res('pmax') = Maximum Lag Order for individual ADF regressions on e(i,t)
- res('ADFe_Ti') = Adjusted time dimension for ADF tests on e(i,t)
- res('nbfactors') = Estimated number of common factors
- res('khat') = Estimated Numbers of Factor with IC1, IC2, IC3, PC1, PC2, PC3, AIC3 and BIC3
- res('criteria') = Criteria used to estimate the number of common factors. Default value = 1 (IC1)
- res('IC') = IC1, IC2 and IC3 Information criteriums for r=1, ,kmax
- res('PC') = PC1, PC2 and PC3 Information criteriums for r=1, ,kmax
- res('BIC3') = BIC3 Information criterium for k=1, ,kmax (only BIC criteria function of N and T)
- res('AIC3') = AIC3 Information criterium (only AIC criteria function of N and T) : it tends to overestimate r
- res('kmax') = Maximum number of common factors authorized
When there is one common factor (r=1):
*******************************
- res('BNG.ADF_F') = ADF statistic on common factor: ADFf
- res('BNG.ADF_F_pvalue') = Pvalue associated to ADFf
- res('ADF_F_pi') = Number of ADF terms in ADF tests on e(i,t)
- res('ADF_F_Ti') = Adjusted time dimension for ADF tests on e(i,t)
When there is more than one common factor (r>1):
***************************************
- res('MQc') = MQc(m) Statistics with critical values at 1%, 5% and 10% for m=r, ,1
- res('MQf') = MQf(m) Statistics with critical values at 1%, 5% and 10% for m=r, ,1
- res('MQc_r1') = Number of Common Stochastic Trends at 1%, 5% and 10% (MQc Test)
- res('MQf_r1') = Number of Common Stochastic Trends at 1%, 5% and 10% (MQf Test)
- res('MQf_p') = Optimal lag order for the VAR(p) on dYc (MQf test)
If t_order == 1:
************
- res('PCe_Choi') = Pooled test standardized statistic (Choi 2001) on idyosyncratique components e: N(0,1) under H0
- res('PCe_Choi_critical') = Critical Values of the pooled test statistic (Choi, 2001) at 1%, 5% and 10%
- res('PCe_Choi_pvalue') = Pvalue Pooled test statistic (Choi 2001)
- res('PCe_MW') = Pooled test statistic (Maddala Wu 1999) on idyosyncratique components e : X(2N) under H0
- res('PCe_MW_critical') = Critical Values of the pooled test statistic (Maddala Wu 1999) at 1%, 5% and 10%
- res('PCe_MW_pvalue') = Pvalue Pooled test statistic (Maddala Wu 1999)
***********
- res('prests') = boolean indicating the presence or absence of a time series in the regression
- res('namey') = name of the y variable
- res('dropna') = boolean indicating if NAs have been dropped
- res('bounds') = if there is a timeseries in the regression, the bounds of the regression
- res('nonna') = vector indicating position of non-NAs
// load the database containing the GDP for 25 countries in the OECD over the period 1963-2003 load(GROCERDIR+'/data/gdpan_oecd.dat'); // retrieve the names of all variables in database listvar=dblist(GROCERDIR+'/data/gdpan_oecd.dat') res=BNG_ur('log('+listvar+')','pmax=4','kmax=5','t_order=0','criteria=BIC3') // Example (taken from BNG_ur_d()) provides the BNG_ur test provides the Moon and Perron test for the log of gdp of 25 OECD countries, with individual constants but no trends ('t_order=0'), the maximum # of factors allowed set to 5 ('kmax=5'), the number of factors determined by the criteria 'BIC' proposed by Bai an Ng ('criteria=BIC3'), the maximum number of lags to the ADF regressions set to 4 ('pmax=4').