Page 1 of 1

PANELDOL PANELFM

Posted: Fri Jan 07, 2011 12:01 pm
by nadiouchckaaa
Hi,
I am trying to run panel dol and panelfm according to the pedroni purchasing power parity model
I proceeded as following:

Code: Select all

OPEN DATA "C:\Users\Copie de pandolfm.xls"
CALENDAR(PANELOBS=39,A) 1970:1
DATA(FORMAT=XLS,ORG=COLUMNS) 1//1970:01 15//2008:01 YR Country GDP ENER ELEC PX
OPEN DATA "C:\Users\Documents\WinRATS 8\Copie de pandolfm.xls"
CALENDAR(PANELOBS=39,A) 1970:1
DATA(FORMAT=XLS,ORG=COLUMNS) 1//1970:01 15//2008:01 YR Country GDP ENER ELEC PX
SET LGDP = LOG(GDP)
SET LENER = LOG(ENER)
SET LELEC = LOG(ELEC)
SET LPX = LOG(PX)
SET DLGDP = LGDP-LGDP{1}
SET DLENER = LENER-LENER{1}
SET DLELEC = LELEC-LELEC{1}
SET DLPX = LPX-LPX{1}

@paneldols(dlags=6,lags=6,bvec=||1.0||,print=full,average=simple
ibetas=dolsbeta,itstats=dolststat)
#  LGDP LENER LELEC LPX
compute pdolsbetad=%beta,pdolststatd=%tstats
*
@panelfm(bvec=||1.0||,lags=6,print=full,average=simple,ibetas=fmbeta,itstats=fmtstat)
#  LGDP LENER LELEC LPX
compute pfmbeta=%beta,pfmtstat=%tstats
*
dec vect[labels] country(15)
input country
 "BENIN" "BURKINA FASO" "CAP VERT" "COTE D'IVOIRE" "GAMBIE" "GHANA" "GUINEE" "GUINEE BISAU" "LIBERIA" "MALI"
 "NIGER" "NIGERIA" "SENEGAL"  "SIERRA LEONE" "TOGO"
*
compute crit10=%invnormal(.95)
compute crit01=%invnormal(.995)
*
report(action=define)
report(atrow=1,atcol=1,align=center) "Country" "FMOLS" "t-stat" "DOLS" "t-stat"
do i=1,15
   report(atrow=i+1,atcol=1) country(i) fmbeta(i,1) fmtstat(i,1) dolsbeta(i,1) dolststat(i,1)
   if abs(fmtstat(i,1))>crit01
      report(atrow=i+1,atcol=3,special=twostars)
   else
   if abs(fmtstat(i,1))>crit10
      report(atrow=i+1,atcol=3,special=onestar)
   if abs(dolststat(i,1))>crit01
      report(atrow=i+1,atcol=5,special=twostars)
   else
   if abs(dolststat(i,1))>crit10
      report(atrow=i+1,atcol=5,special=onestar)
end do i
report(atrow=23,atcol=1,span) "Panel Results"
report(atrow=24,atcol=1,span) "Without Time Dummies"
report(atrow=25,atcol=1) "Between" pfmbeta(1) pfmtstat(1) pdolsbeta(1) pdolststat(1)

report(action=format,atcol=2,atrow=2,align=decimal,picture="*.##")
report(action=show, window="table 1")
The "Table 1" generated is Empty,
Did i do something wrong?
someone can help me?
thanks

N.

Re: PANELDOL PANELFM

Posted: Fri Jan 07, 2011 12:21 pm
by TomDoan

Code: Select all

@paneldols(dlags=6,lags=6,bvec=||1.0||,print=full,average=simple
ibetas=dolsbeta,itstats=dolststat)
#  LGDP LENER LELEC LPX
I'm assuming that somehow the ,$ at the end of the first line of this was lost in pasting it into the message. At any rate, you can't run the DOLS with six lags and leads with the data set that you have. First off, you lose 13 data points (7 for lags since these are on differences, 6 for leads) leaving you 26 per individual. Then each of the three RHS variables needs 14 coefficients (lags/leads from -6 to 6 on the differences, plus the zero lag on the level), so you're trying to estimate 42 coefficients with 26 data points. DLAGS=2 is probably the most you should do with the amount of data you have.

Re: PANELDOL PANELFM

Posted: Fri Jan 07, 2011 4:11 pm
by nadiouchckaaa
TomDoan wrote:

Code: Select all

@paneldols(dlags=6,lags=6,bvec=||1.0||,print=full,average=simple
ibetas=dolsbeta,itstats=dolststat)
#  LGDP LENER LELEC LPX
I'm assuming that somehow the ,$ at the end of the first line of this was lost in pasting it into the message. At any rate, you can't run the DOLS with six lags and leads with the data set that you have. First off, you lose 13 data points (7 for lags since these are on differences, 6 for leads) leaving you 26 per individual. Then each of the three RHS variables needs 14 coefficients (lags/leads from -6 to 6 on the differences, plus the zero lag on the level), so you're trying to estimate 42 coefficients with 26 data points. DLAGS=2 is probably the most you should do with the amount of data you have.
thank you Tom for your quick response and for your advice,
I thereby reconsidered the lag length, taken 1 for individual test and 2 for panel test
But I still get an empty output: "table 1" from the following process:

Code: Select all

OPEN DATA "C:\User\Documents\WinRATS 8\Copie de pandolfm.xls"
CALENDAR(PANELOBS=39,A) 1970:1
DATA(FORMAT=XLS,ORG=COLUMNS) 1//1970:01 15//2008:01 YR Country GDP ENER ELEC PX $
SET LGDP = LOG(GDP)
SET LENER = LOG(ENER)
SET LELEC = LOG(ELEC)
SET LPX = LOG(PX)
SET DLGDP = LGDP-LGDP{1}
SET DLENER = LENER-LENER{1}
SET DLELEC = LELEC-LELEC{1}
SET DLPX = LPX-LPX{1}
*
source paneldols.src
source panelfm.src
*
* The individual tests are done with 1 lags for each
*

@paneldols(dlags=1,lags=1,bvec=||1.0||,print=full,average=simple,$
ibetas=dolsbeta,itstats=dolststat)
#  LGDP LENER LELEC LPX
*
* The panel results are done with 2 lags for each
*
@paneldols(dlags=2,lags=2,bvec=||1.0||,print=short,average=simple)
# LGDP LENER LELEC LPX
compute pdolsbetad=%beta,pdolststatd=%tstats
@paneldols(dlags=2,lags=2,bvec=||1.0||,print=short,average=simple,tdum)
# LGDP LENER LELEC LPX
compute pdolsbetad=%beta,pdolststatd=%tstats
*
* Same as above regarding the lag lengths
*
@panelfm(bvec=||1.0||,lags=1,print=full,average=simple,ibetas=fmbeta,itstats=fmtstat)
#  LGDP LENER LELEC LPX
@panelfm(bvec=||1.0||,lags=2,print=short,average=simple)
# LGDP LENER LELEC LPX
compute pfmbeta=%beta,pfmtstat=%tstats
@panelfm(bvec=||1.0||,lags=2,print=short,average=simple,tdum)
# LGDP LENER LELEC LPX
compute pfmbetad=%beta,pfmtstatd=%tstats
*
dec vect[labels] country(15)
input country
 "Benin" "Burkina Faso" "Cap Vert" "Cote D'Ivoire" "Gambie" "Ghana" "Guinee" "Guinee Bisau" "Liberia" "Mali"
 "Niger" "Nigeria" "Senegal"  "Sierra Leone" "Togo"
*
compute crit10=%invnormal(.95)
compute crit01=%invnormal(.995)
*
report(action=define)
report(atrow=1,atcol=1,align=center) "Country" "FMOLS" "t-stat" "DOLS" "t-stat"
do i=1,15
   report(atrow=i+1,atcol=1) country(i) fmbeta(i,1) fmtstat(i,1) dolsbeta(i,1) dolststat(i,1)
   if abs(fmtstat(i,1))>crit01
      report(atrow=i+1,atcol=3,special=twostars)
   else
   if abs(fmtstat(i,1))>crit10
      report(atrow=i+1,atcol=3,special=onestar)
   if abs(dolststat(i,1))>crit01
      report(atrow=i+1,atcol=5,special=twostars)
   else
   if abs(dolststat(i,1))>crit10
      report(atrow=i+1,atcol=5,special=onestar)
end do i
report(atrow=18,atcol=1,span) "Panel Results"
report(atrow=19,atcol=1,span) "Without Time Dummies"
report(atrow=20,atcol=1) "Between" pfmbeta(1) pfmtstat(1) pdolsbeta(1) pdolststat(1)

{
if abs(pfmtstat(i))>crit01
   report(atrow=20,atcol=3,special=twostars)
else
if abs(pfmtstat(i))>crit10
   report(atrow=20,atcol=3,special=onestar)
if abs(pdolststat(i))>crit01
   report(atrow=20,atcol=5,special=twostars)
else
if abs(pdolststat(i))>crit10
   report(atrow=20,atcol=5,special=onestar)
}
report(atrow=22,atcol=1,span) "With Time Dummies"
report(atrow=23,atcol=1) "Between" pfmbetad(1) pfmtstatd(1) pdolsbetad(1) pdolststatd(1)
{
if abs(pfmtstatd(i))>crit01
   report(atrow=23,atcol=3,special=twostars)
else
if abs(pfmtstatd(i))>crit10
   report(atrow=23,atcol=3,special=onestar)
if abs(pdolststatd(i))>crit01
   report(atrow=23,atcol=5,special=twostars)
else
if abs(pdolststatd(i))>crit10
   report(atrow=23,atcol=5,special=onestar)
}

report(action=format,atcol=2,atrow=2,align=decimal,picture="*.##")
report(action=show,window="Table 1")

Re: PANELDOL PANELFM

Posted: Sat Jan 08, 2011 8:27 am
by nadiouchckaaa
hi,
I think that is not related to the procedure, when I replicates the Pedroni procedure (taking the excel files and his excat procedure for dols &FM), I obtain an empty output-table too!
Can I have a hepl please?
Thanks

Re: PANELDOL PANELFM

Posted: Sun Jan 09, 2011 2:00 pm
by TomDoan
I don't know how that's even possible. However, get rid of the window="Table 1" option on the last REPORT instruction and send us the output. (Email to support@estima.com).