ضميمه

نرم‌افزارهاي كامپيوتري و نتايج پردازش اطلاعات

 

برنامه‌‌هاي كامپيوتري

كلية محاسبات اقتصادسنجي در اين الگو، توسط نرم افزار Econometoic Views ويرايش 1/4 انجام شده كه در محيط Windows قابل نصب است. براي سهولت در انجام برخي فرآيند‌هاي محاسباتي، برنامه‌‌هايي نوشته شده كه اين برنامه‌ها مي‌توانند در سرعت و دقت، كاربر را ياري نمايند. با توجه به اينكه، اين گونه برنامه‌ها براي محققين بعدي مي‌تواند بسيار مفيد واقع شود؛ لذا اقدام به درج آنها نموده‌ايم. با توجه به اينكه، نرم افزار فوق از ويرايش‌هاي توسعه يافتة TSP است؛ اغلب كساني كه به نرم افزار TSP آشنا باشند، مي‌توانند برنامه‌‌هاي زير را به راحتي درك نمايند.

برنامة CALC13. PRG:

وظيفة اين برنامه، توليد برخي متغير‌هاي مورد استفاده براي الگو با انجام عمليات رياضي بر ساير متغيرها مي‌باشد.

برنامة EVAL200.PRG:

اين برنامه، براي ارزيابي شبيه‌سازي دوران نمونه نوشته شده است. وظيفة اين برنامه، توليد و محاسبه آماره‌‌هاي مختلف به منظور شبيه‌سازي مي‌باشد. كلية ارزيابي‌ها را مي‌توان در حالات: پويا، ايستا، برازش داده شده (شبيه‌سازي ايستا، بدون اثر متقابل معادلات بر يكديگر) توسط اين برنامه، محاسبه نمود.

برنامة EVAL200FORCASTABILITY.PRG:

اين برنامه، براي ارزيابي شبيه‌سازي دوران نمونه نوشته شده است. وظيفة اين برنامه، توليد و محاسبة آماره‌‌هاي مختلف براي شبيه‌سازي پويا طي دوره‌هاي زماني دلخواه مي‌باشد. كليه ارزيابي‌ها را مي‌توان در حالات: پويا، ايستا، برازش داده شده (شبيه‌سازي ايستا بدون اثر متقابل معادلات بر يكديگر) توسط اين برنامه، محاسبه نمود. اين برنامه مي‌تواند قدرت پيش‌بيني الگو را براي دوره‌هاي مختلف در درون نمونه ارزيابي نمايد.

برنامة SHOCK200.PRG:

اين برنامه، وظيفة تحليل شوك‌هاي سياستي بر متغير‌هاي برون‌زا را دارد. با تعريف شوك‌هاي سياستي منفرد، اين برنامه مقادير شبيه‌سازي جديدي را محاسبه نموده و آنها را با جواب كنترل مقايسه مي‌كند.

 


'PROGRAM CALC13.PRG

 

'This program generates all necessary variables

 

SMPL  1959 2005

'Conversion of ton to barrel for records; not for calculations

'IRXOILB=IRXOIL*7.3*0.001

'IRYOILB=IRYOIL*7.3*0.001

GENR IRWPOIL=IRXOILD/IRXOILB

 

GENR IRDISV=IRIIV+IRGDPEOV

GENR IRDIS=IRII+IRGDPEO

 

GENR IRSBD=IRXSD-IRMSD

GENR IRFYSBD=IRXFYSD-IRMFYSD

GENR IRNFSBD=IRXNFSD-IRMNFSD

 

GENR IRPGDIM=IRGDIMV/IRGDIM

GENR IRPC=IRCV/IRC

GENR IRPG=IRGV/IRG

GENR IRPGDPM=IRGDPMV/IRGDPM

GENR IRPGDPF=IRGDPFV/IRGDPF

GENR IRPGDIM=IRGDIMV/IRGDIM

GENR IRPGNIM=IRGNIMV/IRGNIM

GENR IRPGDPNF=IRGDPNFV/IRGDPNF

GENR IRPGNPM=IRGNPMV/IRGNPM

GENR IRPI=IRIV/IRI

'''''''''GENR IRPINOIL=IRINOILV/IRINOIL

''''''''GENR IRPIOIL=IRIOILV/IRIOIL

GENR IRPA=IRADV/IRAS

GENR IRPM=IRMV/IRM

GENR IRPVAOIL=IRVAOILV/IRVAOIL

GENR IRPX=IRXV/IRX

GENR IRPDIS=IRDISV/IRDIS

GENR IRPGDPEO=IRGDPEOV/IRGDPEO

GENR IRPII=IRIIV/IRII

GENR IRPNIT=IRNITV/IRNIT

GENR IRPIT=IRITV/IRIT

GENR IRPSUB=IRSUBV/IRSUB

GENR IRPNNIF=IRNNIFV/IRNNIF

GENR IRPIP=IRIPV/IRIP

GENR IRPIG=IRIGV/IRIG

GENR IRPCCA=IRCCAV/IRCCA

GENR IRPNFY=IRNFYV/IRNFY

GENR IRPBOT=IRBOTV/IRBOT

GENR IRPXFY=IRXFYV/IRXFY

GENR IRPMFY=IRMFYV/IRMFY

GENR IRPGNS=IRGNSV/IRGNS

GENR IRPNNS=IRNNSV/IRNNS

GENR IRPINPUT=IRINPUTV/IRINPUT

GENR IROUTPUT=IRINPUT+IRGDPF

GENR IRPOUTPUT=IROUTPUTV/IROUTPUT

GENR IRPMG  = IRMGV  / IRMG

GENR IRPMNFS  = IRMNFSV  / IRMNFS

GENR IRPXOIL  = IRXOILV  / IRXOIL

GENR IRPXNOILG  = IRXNOILGV  / IRXNOILG

GENR IRPXNFS  = IRXNFSV  / IRXNFS

GENR IRWINDCPI=IRWIND/IRCPI

GENR IRWINDPGDPM=IRWIND/IRPGDPM

GENR IRWINDPGDPNF=IRWIND/IRPGDPNF

GENR IRWINDWPID=IRWIND/IRWPID

GENR IRUNEMPR=IRUNEMP/IRPOPA*100

 

GENR IRINFCPI=D(IRCPI)/IRCPI(-1)

GENR IRINFWPI=D(IRWPI)/IRWPI(-1)

 

GENR  IRXGNODFCPI=IRXGNOD/FCPI

GENR  IRXGNODOP=IRXGNOD/OECDP

GENR  IRXNFSDOP=IRXNFSD/OECDP

GENR IRMSDFPX=IRMSD/FPX

GENR IRXSDFCPI=IRXSD/FCPI

GENR IRMGDFPX=IRMGD/FPX

GENR IRMNFSDCIFP=IRMNFSD/IRCIFP

GENR IRMGDCIFP=IRMGD/IRCIFP

GENR IRMGCDCIFP=IRMGCD/IRCIFP

GENR IRGMTR=(IRGMTV*1000)/(IRMGD*(1-(CIFFOBF-1)*IRD8187)*CIFFOBF)

GENR CIFFOBA8187=(CIFFOBF-1)*IRD8187*IRMGD

GENR CIFFOBAC8187=(CIFFOBF-1)*IRD8187*IRMGCD

 

GENR IRYD = IRGDPNF+IRNFY-IRCCA-IRGRTDV/IRPIT

GENR IRYDV = IRGDPNFV+IRNFYV -IRCCAV-IRGRTDV

GENR IRPYD = IRYDV/IRYD

 

GENR IRSPV=IRYDV-IRCV

GENR IRSP=IRYD-IRC

GENR IRPSP=IRSPV/IRSP

GENR IRPGDEM=IRGDEMV/IRGDEM

 

GENR  IRM2NFAD=1000*IRM2NFAV*( (1-IRD93-IRD90-IRD91-IRD92)/IREO +IRD93/1748 +IRD90/221.89 +IRD91/351.9+IRD92/641.2 )

GENR IRM2PGDPM=IRM2V/IRPGDPM

GENR IRM2CPI=IRM2V/IRCPI

GENR IRDDVPGDPM=IRDDV/IRPGDPM

GENR IRSDVPGDPM=IRSDV/IRPGDPM

GENR IRCUVPGDPM=IRCUV/IRPGDPM

GENR IRM2NPVPGDPM=IRM2NPV/IRPGDPM

GENR IRM2NGGV= IRGBDVC +IRFEOAV +IROLVC

GENR IRM2NGSV= IRM2NGV - IRM2NGGV

GENR IRM2NGSVPGDPM= IRM2NGSV/IRPGDPM

 

GENR IRWARCD=IRWARCDV/IRPCCA

GENR IRWARED=IRWAREDV/IRPCCA

GENR IRWARMD=IRWARMDV/IRWPI

GENR IRWARD=IRWARCD+IRWARED+IRWARMD

 

SMPL 1959 1959

GENR IRK=IRI-IRCCA

GENR IRKV=IRIV-IRCCAV

''''''''''GENR IRKOIL=IRIOIL

'''''''''''GENR IRKNOIL=IRINOIL- IRCCA

 

GENR IRIIVC=IRIIV

GENR IRIIC=IRII

 

SMPL 1960 2005

GENR IRK=IRK(-1)+IRI-IRCCA

GENR IRKV=IRKV(-1)*(1+(IRPI-IRPI(-1))/IRPI(-1))+IRIV-IRCCAV

''''''''GENR IRKOIL=IRKOIL(-1) + IRIOIL

''''''''GENR IRKNOIL=IRKNOIL(-1) + IRINOIL - IRCCA

 

'''''''GENR IRIIVC=IRIIVC(-1)*(1+(IRPK-IRPK(-1))/IRPK(-1))+IRIIV

'''''''GENR IRIIC=IRIIC(-1)+IRII

SMPL 1959 2005

GENR IRPK=IRKV/IRK

 

SMPL 1959 1959

GENR IRBOPDC=IRBOPD

GENR IRBOPEODC=IRBOPEOD

GENR IRKADC=IRKAD

GENR IRCADC=IRCAD

GENR IRTBDC=IRTBD

GENR IRSBDC=IRSBD

GENR IRNTRDC=IRNTRD

GENR IRFYSBDC=IRFYSBD

GENR IRNFSBDC=IRNFSBD

GENR CIFFOBA8187C=CIFFOBA8187

GENR IRGBDVC= - IRGBDV

GENR IROLVC= IROLV

GENR IROLPVC= IROLPV

GENR IROLGVC= IROLGV

GENR IRGEFIVC=IRGEFIV

GENR IRGEFIDC=IRGEFIV/IREO*1000

 

SMPL 1960 2005

GENR IRBOPDC=IRBOPDC(-1) + IRBOPD

GENR IRBOPEODC=IRBOPEODC(-1)+IRBOPEOD

GENR IRKADC=IRKADC(-1)+IRKAD

GENR IRCADC=IRCADC(-1)+IRCAD

GENR IRTBDC=IRTBDC(-1)+IRTBD

GENR IRSBDC=IRSBDC(-1)+IRSBD

GENR IRNTRDC=IRNTRDC(-1)+IRNTRD

GENR IRFYSBDC=IRFYSBDC(-1)+IRFYSBD

GENR IRNFSBDC=IRNFSBDC(-1)+IRNFSBD

GENR CIFFOBA8187C=CIFFOBA8187C(-1)+CIFFOBA8187

GENR IRGBDVC=IRGBDVC(-1)  - IRGBDV

GENR IROLVC=IROLVC(-1)+IROLV

GENR IROLPVC=IROLPVC(-1)+IROLPV

GENR IROLGVC=IROLGVC(-1)+IROLGV

GENR IRGEFIVC=IRGEFIVC(-1)+IRGEFIV

GENR IRGEFIDC=IRGEFIDC(-1)+IRGEFIV/IREO*1000

SMPL 1959 2005

GENR IRPOPAPOP=IRPOPA/IRPOP

 

SMPL 1959 1959

GENR IRINFCPI=(4.37-3.87)/3.87

GENR IRINFWPI=(4.8-4.6)/4.6

SMPL 1959 2005

 

'PROGRAM EVAL200.PRG

 

'This program evaluates the ex-post simulation of the MODEL_200 by generating various simulation statistics.  The evaluations may be applied to dynamic, static and fitted (static simulation with no-interaction) simulations.

 

'Note: In model-solve tab tick baseline scenario as active scenario

 

'Initialization:

!START=1959

!END=2001

!LAGSTRUCTURE=1

%MODNAME="Ver5_MODEL_200"

%SYSNAME="SYS_200"

!NVAR=200

!NROWS=!NVAR+2

%SIMULATIONID="_0"

!NSTAT=23

!NCOLS=!NSTAT+3

!MAXIT=50000

!PRECISION=1E-07

!MED=0

!VARIANCE=0

!NOBS= !END-!START+1

 SUBROUTINE LOCAL MEDIAN(SERIES DUMMY ,SCALAR !MED, SCALAR !NOBS)

!NOBS1= !NOBS-1

FOR !I=1 TO !NOBS1

       !M=!I+1

       FOR !J=!M TO !NOBS

             IF DUMMY(!I) > DUMMY(!J) THEN !D=DUMMY(!I)

             DUMMY(!I)=DUMMY(!J)

             DUMMY(!J)=!D

             ELSE

             ENDIF

       NEXT !I

NEXT !J

!M=0

FOR !N=0 TO !NOBS

       !M=!M+2

       IF !M>=!NOBS THEN EXITLOOP

       ENDIF

NEXT !N

IF !M=!NOBS THEN !K= !NOBS/2

!MED=(DUMMY(!K)+DUMMY(!K+1))/2

ELSE

!K= !NOBS1/2   

!MED=DUMMY(!K+1)

ENDIF

ENDSUB

SMPL !START !END

TABLE(!NROWS,!NCOLS) SIMSTAT

SETCOLWIDTH(SIMSTAT,1,5)

SETCOLWIDTH(SIMSTAT,2,16)

SETCOLWIDTH(SIMSTAT,3,16)

SETCOLWIDTH(SIMSTAT,4,14)

SETCOLWIDTH(SIMSTAT,5,14)

FOR !J=6 TO !NCOLS

        SETCOLWIDTH(SIMSTAT,!J,16)

NEXT !J

FOR !J=1 TO !NCOLS

       SETCELL(SIMSTAT,1,!J,0,"C")

NEXT !J

SETLINE(SIMSTAT,2)

FOR !I=3 TO !NROWS

          %NUMBER=@STR(!I-2)+" "

         SETCELL(SIMSTAT,!I,1,%NUMBER,"R",4.0)

         SETCELL(SIMSTAT,!I,2,0,"L")

         SETCELL(SIMSTAT,!I,3,0,"L")

         SETCELL(SIMSTAT,!I,4,0,"R",14.0)

         SETCELL(SIMSTAT,!I,5,0,"R",14.0)

         FOR !J= 6 TO !NCOLS      

               SETCELL(SIMSTAT,!I,!J,0,"R",16.5)

         NEXT !J

NEXT !I

SHOW SIMSTAT

GROUP TEMPGROUP

DELETE TEMPGROUP

SOLVE(M=!MAXIT,C=!PRECISION) %MODNAME

{%MODNAME}.MAKEGROUP(A,N) TEMPGROUP @ENDOG

 TABLE TEMPTAB

DELETE TEMPTAB

FREEZE(TEMPTAB) TEMPGROUP

FOR   !I=1 TO !NVAR

       SIMSTAT(!I+2,3)=TEMPTAB(1,!I+1)+"_0"

       SIMSTAT(!I+2,2)=TEMPTAB(1,!I+1)

NEXT !I

SIMSTAT(1,1)="No."

SIMSTAT(1,2)="Actual"

SIMSTAT(1,3)="Simulated"

SIMSTAT(1,4)="Observations"

SIMSTAT(1,5)="Non_zero obs"

SIMSTAT(1,6)="Mean actual"

SIMSTAT(1,7)="Mean simulated"

SIMSTAT(1,8)="Mean error"

SIMSTAT(1,9)="VAR(error)"

SIMSTAT(1,10)="SDV(error)"

SIMSTAT(1,11)="Median(error)"

SIMSTAT(1,12)="Max(error)"

SIMSTAT(1,13)="Min(error)"

SIMSTAT(1,14)="Skewness(error)"

SIMSTAT(1,15)="Kurtosis(error)"

SIMSTAT(1,16)="RMS Error"

SIMSTAT(1,17)="M percent error"

SIMSTAT(1,18)="RMS percent error"

SIMSTAT(1,19)="M absolute error"

SIMSTAT(1,20)="MA percent error"

SIMSTAT(1,21)="Corr(act,sim)"

SIMSTAT(1,22)="Cov(act,sim)"

SIMSTAT(1,23)="Theil U-Stat."

SIMSTAT(1,24)="Theil U-Bias"

SIMSTAT(1,25)="Theil U-Var"

SIMSTAT(1,26)="Theil U-Cov"

FOR !I=3 TO !NROWS

       SMPL !START !END

       %ACTUAL=SIMSTAT(!I,2)

       %SIMULATED=SIMSTAT(!I,3)

       %ERROR="E_"+%ACTUAL

       %PERROR="P_"+%ACTUAL

       %APERROR="A_"+%ACTUAL

       SERIES %ACTUAL

       SERIES  %SIMULATED

       SERIES  %ERROR

       GENR {%ERROR}={%SIMULATED}-{%ACTUAL}

       SIMSTAT(!I,4)=@OBS({%ACTUAL})

       !AUX0=@OBS({%ACTUAL})

       SMPL !START !END  IF ({%ACTUAL})<>0

       SIMSTAT(!I,5)=@OBS({%ACTUAL})

       SMPL !START !END  IF ({%ACTUAL})>0

       !AUX1=@OBS({%ACTUAL})

       IF !AUX1=!AUX0 THEN

       GENR {%PERROR}={%ERROR} /{%ACTUAL}

       GENR {%APERROR}=ABS({%ERROR} /{%ACTUAL})

       ELSE 

       GENR {%PERROR}=NA

       GENR {%APERROR}=NA

       ENDIF

       SMPL !START !END

       GENR TEMP1=({%ERROR}-@MEAN({%ERROR}))^3

       GENR TEMP2=({%ERROR}-@MEAN({%ERROR}))^4

       SIMSTAT(!I,6)=@MEAN({%ACTUAL})

       SIMSTAT(!I,7)=@MEAN({%SIMULATED})

       SIMSTAT(!I,8)=@MEAN({%ERROR})

!VARIANCE=@VAR({%ERROR})*@OBS({%ERROR})/(@OBS({%ERROR})-1)

       SIMSTAT(!I,9)=!VARIANCE

       SIMSTAT(!I,10)=SQR(!VARIANCE)

       CALL MEDIAN({%ERROR}, !MED, !NOBS)

       SIMSTAT(!I,11)=!MED

       GENR {%ERROR}={%SIMULATED}-{%ACTUAL}

       SIMSTAT(!I,12)=@MAX({%ERROR})

       SIMSTAT(!I,13)=@MIN({%ERROR})

       IF !VARIANCE<>0 THEN

       SIMSTAT(!I,14)= @MEAN(TEMP1)/(!VARIANCE^1.5)*@OBS({%ERROR})/(@OBS({%ERROR})-1)

SIMSTAT(!I,15)=@MEAN(TEMP2)/(!VARIANCE^2)*@OBS({%ERROR})/(@OBS({%ERROR})-1)

       ELSE

       ENDIF

       SIMSTAT(!I,16)=SQR( @SUMSQ({%ERROR})/@OBS({%ERROR}))

       SMPL !START !END IF ({%ACTUAL})<>0

       IF !AUX1=!AUX0 THEN

       SIMSTAT(!I,17)=@MEAN({%PERROR})

       SIMSTAT(!I,18)=SQR(@SUMSQ({%PERROR})/@OBS({%PERROR}))

        ELSE

       SIMSTAT(!I,17)="NA"

       SIMSTAT(!I,18)="NA"

       ENDIF

       SMPL !START !END

       SIMSTAT(!I,19)=@SUM(ABS({%ERROR}))/@OBS({%ERROR})

       SMPL !START !END IF ({%ACTUAL})<>0

       IF !AUX1=!AUX0 THEN

       SIMSTAT(!I,20)=@SUM(ABS({%APERROR}))/@OBS({%ERROR})

       ELSE

       SIMSTAT(!I,20)="NA"

       ENDIF

       SMPL !START !END

       SIMSTAT(!I,21)=@COR({%ACTUAL},{%SIMULATED})

       SIMSTAT(!I,22)=@COV({%ACTUAL},{%SIMULATED})

       SIMSTAT(!I,23)=SQR( @SUMSQ({%ERROR})/@OBS({%ERROR}))  / (SQR(@SUMSQ({%SIMULATED})/@OBS({%ERROR}))+  SQR(@SUMSQ({%ACTUAL})/@OBS({%ERROR})) )

       IF !VARIANCE>0.00001 THEN

       SIMSTAT(!I,24)=((@MEAN({%SIMULATED})-@MEAN({%ACTUAL}))^2)/(@SUMSQ({%ERROR})/@OBS( {%ERROR}))

       SIMSTAT(!I,25)=((SQR(@VAR({%SIMULATED}))-SQR(@VAR({%ACTUAL})))^2)/( @SUMSQ({%ERROR})/@OBS({%ERROR}) )

       SIMSTAT(!I,26)= ( 2*(1-@COR({%SIMULATED},{%ACTUAL}))*( SQR(@VAR({%SIMULATED}))*SQR(@VAR({%ACTUAL}))))/( @SUMSQ({%ERROR})/@OBS({%ERROR}) )

       ELSE

       SIMSTAT(!I,24)=0

       SIMSTAT(!I,25)=0

       SIMSTAT(!I,26)=1

       ENDIF

'       DELETE {%SIMULATED}

       DELETE {%ERROR}

       DELETE {%PERROR}

       DELETE {%APERROR}

NEXT  !I

SETLINE (SIMSTAT,!NROWS+1)

SHOW SIMSTAT

DELETE TEMP1 TEMP2

DELETE TEMPTAB

 

'PROGRAM EVAL200FORCASTABILITY.PRG

 

'This program evaluates the ex-post simulation of the MODEL_200 by generating various simulation statistics.  The evaluations is applied to dynamic short term simulations with different time periods.

 

'Initialization:

!START=1959

!END=2001

!LAGSTRUCTURE=1

%MODNAME="Ver5_MODEL_200"

%SYSNAME="SYS_200"

!NVAR=200

!NROWS=!NVAR+2

%SIMULATIONID="_0"

!NSTAT=23

!NCOLS=!NSTAT+3

!MAXIT=50000

!PRECISION=1E-07

!MED=0

!VARIANCE=0

!NOBS= !END-!START+1

!PERIOD=1

 

SUBROUTINE LOCAL MEDIAN(SERIES DUMMY ,SCALAR !MED, SCALAR !NOBS)

!NOBS1= !NOBS-1

FOR !I=1 TO !NOBS1

       !M=!I+1

       FOR !J=!M TO !NOBS

             IF DUMMY(!I) > DUMMY(!J) THEN !D=DUMMY(!I)

             DUMMY(!I)=DUMMY(!J)

             DUMMY(!J)=!D

             ELSE

             ENDIF

       NEXT !I

NEXT !J

!M=0

FOR !N=0 TO !NOBS

       !M=!M+2

       IF !M>=!NOBS THEN EXITLOOP

       ENDIF

NEXT !N

IF !M=!NOBS THEN !K= !NOBS/2

!MED=(DUMMY(!K)+DUMMY(!K+1))/2

ELSE

!K= !NOBS1/2   

!MED=DUMMY(!K+1)

ENDIF

ENDSUB

 

 SMPL !START !END

TABLE(!NROWS,!NCOLS) SIMSTAT

SETCOLWIDTH(SIMSTAT,1,5)

SETCOLWIDTH(SIMSTAT,2,16)

SETCOLWIDTH(SIMSTAT,3,16)

SETCOLWIDTH(SIMSTAT,4,14)

SETCOLWIDTH(SIMSTAT,5,14)

FOR !J=6 TO !NCOLS

        SETCOLWIDTH(SIMSTAT,!J,16)

NEXT !J

FOR !J=1 TO !NCOLS

       SETCELL(SIMSTAT,1,!J,0,"C")

NEXT !J

SETLINE(SIMSTAT,2)

FOR !I=3 TO !NROWS

          %NUMBER=@STR(!I-2)+" "

         SETCELL(SIMSTAT,!I,1,%NUMBER,"R",4.0)

         SETCELL(SIMSTAT,!I,2,0,"L")

         SETCELL(SIMSTAT,!I,3,0,"L")

         SETCELL(SIMSTAT,!I,4,0,"R",14.0)

         SETCELL(SIMSTAT,!I,5,0,"R",14.0)

         FOR !J= 6 TO !NCOLS      

               SETCELL(SIMSTAT,!I,!J,0,"R",16.5)

         NEXT !J

NEXT !I

SHOW SIMSTAT

GROUP TEMPGROUP

DELETE TEMPGROUP

SOLVE(M=!MAXIT,C=!PRECISION) %MODNAME

{%MODNAME}.MAKEGROUP(A,N) TEMPGROUP @ENDOG

TABLE TEMPTAB

DELETE TEMPTAB

FREEZE(TEMPTAB) TEMPGROUP

FOR   !I=1 TO !NVAR

       SIMSTAT(!I+2,3)=TEMPTAB(1,!I+1)+"_0"

       SIMSTAT(!I+2,2)=TEMPTAB(1,!I+1)

NEXT !I

%SIMTAG="_"+@STR(!PERIOD)

!IDLEPERIOD=0

 

FOR !N=!END TO !START+!LAGSTRUCTURE STEP -!PERIOD

               IF !N-!PERIOD<!START+!LAGSTRUCTURE-1 THEN EXITLOOP

ELSE

               !IDLEPERIOD=!N-!PERIOD+1

               ENDIF

        SMPL !N-!PERIOD+1 !N

        SOLVE(M=!MAXIT,C=!PRECISION) %MODNAME

FOR !I=3 TO !NROWS

                %PERIODSIMULATED=SIMSTAT(!I,2)+%SIMTAG

                %SIMULATED=SIMSTAT(!I,3)

                SERIES  %PERIODSIMULATED

                SERIES  %SIMULATED

                GENR {%PERIODSIMULATED}={%SIMULATED}

NEXT !I

NEXT !N

 

!START=!IDLEPERIOD

!END= !END

SMPL !START !END

SIMSTAT(1,1)="No."

SIMSTAT(1,2)="Actual"

SIMSTAT(1,3)="Simulated"

SIMSTAT(1,4)="Observations"

SIMSTAT(1,5)="Non_zero obs"

SIMSTAT(1,6)="Mean actual"

SIMSTAT(1,7)="Mean simulated"

SIMSTAT(1,8)="Mean error"

SIMSTAT(1,9)="VAR(error)"

SIMSTAT(1,10)="SDV(error)"

SIMSTAT(1,11)="Median(error)"

SIMSTAT(1,12)="Max(error)"

SIMSTAT(1,13)="Min(error)"

SIMSTAT(1,14)="Skewness(error)"

SIMSTAT(1,15)="Kurtosis(error)"

SIMSTAT(1,16)="RMS Error"

SIMSTAT(1,17)="M percent error"

SIMSTAT(1,18)="RMS percent error"

SIMSTAT(1,19)="M absolute error"

SIMSTAT(1,20)="MA percent error"

SIMSTAT(1,21)="Corr(act,sim)"

SIMSTAT(1,22)="Cov(act,sim)"

SIMSTAT(1,23)="Theil U-Stat."

SIMSTAT(1,24)="Theil U-Bias"

SIMSTAT(1,25)="Theil U-Var"

SIMSTAT(1,26)="Theil U-Cov"

FOR !I=3 TO !NROWS

       SMPL !START !END

       %ACTUAL=SIMSTAT(!I,2)

       %SIMULATED=SIMSTAT(!I,2)+%SIMTAG

       SIMSTAT(!I,3)=%SIMULATED

       %ERROR="E_"+%ACTUAL

       %PERROR="P_"+%ACTUAL

       %APERROR="A_"+%ACTUAL

       SERIES %ACTUAL

       SERIES  %SIMULATED

       SERIES  %ERROR

       GENR {%ERROR}={%SIMULATED}-{%ACTUAL}

       SIMSTAT(!I,4)=@OBS({%ACTUAL})

       !AUX0=@OBS({%ACTUAL})

       SMPL !START !END  IF ({%ACTUAL})<>0

       SIMSTAT(!I,5)=@OBS({%ACTUAL})

       SMPL !START !END  IF ({%ACTUAL})>0

       !AUX1=@OBS({%ACTUAL})

       IF !AUX1=!AUX0 THEN

       GENR {%PERROR}={%ERROR} /{%ACTUAL}

       GENR {%APERROR}=ABS({%ERROR} /{%ACTUAL})

       ELSE 

       GENR {%PERROR}=NA

       GENR {%APERROR}=NA

       ENDIF

       SMPL !START !END

       GENR TEMP1=({%ERROR}-@MEAN({%ERROR}))^3

       GENR TEMP2=({%ERROR}-@MEAN({%ERROR}))^4

       SIMSTAT(!I,6)=@MEAN({%ACTUAL})

       SIMSTAT(!I,7)=@MEAN({%SIMULATED})

       SIMSTAT(!I,8)=@MEAN({%ERROR})

       !VARIANCE=@VAR({%ERROR})*@OBS({%ERROR})/(@OBS({%ERROR})-1)

       SIMSTAT(!I,9)=!VARIANCE

       SIMSTAT(!I,10)=SQR(!VARIANCE)

       CALL MEDIAN({%ERROR}, !MED, !NOBS)

       SIMSTAT(!I,11)=!MED

       GENR {%ERROR}={%SIMULATED}-{%ACTUAL}

       SIMSTAT(!I,12)=@MAX({%ERROR})

       SIMSTAT(!I,13)=@MIN({%ERROR})

       IF !VARIANCE<>0 THEN

       SIMSTAT(!I,14)= @MEAN(TEMP1)/(!VARIANCE^1.5)*@OBS({%ERROR})/(@OBS({%ERROR})-1)

       SIMSTAT(!I,15)=@MEAN(TEMP2)/(!VARIANCE^2)*@OBS({%ERROR})/(@OBS({%ERROR})-1)

       ELSE

       ENDIF

       SIMSTAT(!I,16)=SQR( @SUMSQ({%ERROR})/@OBS({%ERROR}))

       SMPL !START !END IF ({%ACTUAL})<>0

       IF !AUX1=!AUX0 THEN

       SIMSTAT(!I,17)=@MEAN({%PERROR})

       SIMSTAT(!I,18)=SQR(@SUMSQ({%PERROR})/@OBS({%PERROR}))

        ELSE

       SIMSTAT(!I,17)="NA"

       SIMSTAT(!I,18)="NA"

       ENDIF

       SMPL !START !END

       SIMSTAT(!I,19)=@SUM(ABS({%ERROR}))/@OBS({%ERROR})

       SMPL !START !END IF ({%ACTUAL})<>0

       IF !AUX1=!AUX0 THEN

       SIMSTAT(!I,20)=@SUM(ABS({%APERROR}))/@OBS({%ERROR})

       ELSE

       SIMSTAT(!I,20)="NA"

       ENDIF

       SMPL !START !END

       SIMSTAT(!I,21)=@COR({%ACTUAL},{%SIMULATED})

       SIMSTAT(!I,22)=@COV({%ACTUAL},{%SIMULATED})

       SIMSTAT(!I,23)=SQR( @SUMSQ({%ERROR})/@OBS({%ERROR}))  / (SQR(@SUMSQ({%SIMULATED})/@OBS({%ERROR})) +  SQR(@SUMSQ({%ACTUAL})/@OBS({%ERROR})) )

       IF !VARIANCE<>0 THEN

       SIMSTAT(!I,24)= ( (@MEAN({%SIMULATED})-@MEAN({%ACTUAL}))^2 ) /  ( @SUMSQ({%ERROR})/@OBS({%ERROR}) )

       SIMSTAT(!I,25)= ( (SQR(@VAR({%SIMULATED}))-SQR(@VAR({%ACTUAL})))^2 ) /( @SUMSQ({%ERROR})/@OBS({%ERROR}) )

       SIMSTAT(!I,26)= ( 2*(1-@COR({%SIMULATED},{%ACTUAL}))*( SQR(@VAR({%SIMULATED}))*SQR(@VAR({%ACTUAL})))  ) /  ( @SUMSQ({%ERROR})/@OBS({%ERROR}) )

       ELSE

       SIMSTAT(!I,24)=0

       SIMSTAT(!I,25)=0

       SIMSTAT(!I,26)=1

       ENDIF

'       DELETE {%SIMULATED}

       DELETE {%ERROR}

       DELETE {%PERROR}

       DELETE {%APERROR}

NEXT  !I

SETLINE (SIMSTAT,!NROWS+1)

SHOW SIMSTAT

DELETE TEMP1 TEMP2

DELETE TEMPTAB

 

 


'PROGRAM     SHOCK200.PRG

 

'This program evaluates the ex-post policy shock analysis of the MODEL_200.   By defining different individual shock policies this program creates new simulated values and compares them with control solution created by solution of the MODEL_200 with no policy shock.

 

'Initialization:

!START=1959

!END=2001

!SIMSTART=1998

!SIMEND=2001

%MODNAME="ver5_model_200_shk"

%SYSNAME="SYS_200"

%SOLUTIONID="_1"

!NVAR=200

!NROWS=!NVAR+6

!MAXIT=50000

!PRECISION=1E-07

!NOBS= !SIMEND-!SIMSTART+1

!NCOLS=!NOBS+2

 

SUBROUTINE SHOCKTABLE(STRING %SOLUTION)

DELETE {%SOLUTION}

COPY TABFORM  {%SOLUTION}

{%SOLUTION}(1,1)=%SOLUTION+" SOLUTION TABLE"

{%SOLUTION}(2,1)="Dynamic solution of the model "+ %MODNAME+ " for the period of "+@STR(!SIMSTART)+ " to "+@STR(!SIMEND)

{%SOLUTION}(3,1)=%DESCRIPTION

SMPL !SIMSTART !SIMEND

SOLVE(M=!MAXIT,C=!PRECISION) %MODNAME

{%MODNAME}.MAKEGROUP TEMPGROUP @ENDOG

TABLE TEMPTAB

DELETE TEMPTAB

FREEZE(TEMPTAB) TEMPGROUP

DELETE TEMPGROUP

 FOR !I=1 TO !NVAR

     !SUMSOLUTION=0

     FOR !J=1 TO !NOBS

          {%SOLUTION}(!I+6,!J+2)=@VAL(TEMPTAB(!J+2,!I+1))

     !SUMSOLUTION=!SUMSOLUTION+{%SOLUTION}(!I+6,!J+2)  

     NEXT !J

     {%SOLUTION}(!I+6,!NCOLS+1)=!SUMSOLUTION/!NOBS

NEXT !I

DELETE TEMPTAB  

'SHOW %SOLUTION

ENDSUB

SUBROUTINE SHOCKSTAT(STRING %SHOCK,  STRING %DIFFERENCE, STRING %PERCENTCHANGE)

DELETE {%DIFFERENCE}

DELETE {%PERCENTCHANGE}

COPY  TABFORM {%DIFFERENCE}

COPY  TABFORM {%PERCENTCHANGE}

{%DIFFERENCE}(1,1)=%DIFFERENCE+"  TABLE"

{%DIFFERENCE}(2,1)="Difference of shocked solution from control solution"

{%DIFFERENCE}(3,1)=%DESCRIPTION

{%PERCENTCHANGE}(1,1)=%PERCENTCHANGE+"  TABLE"

{%PERCENTCHANGE}(2,1)="Percentage change of shocked solution from control solution (%)"

{%PERCENTCHANGE}(3,1)=%DESCRIPTION

FOR  !I=7 TO !NROWS

     !SUMDIF=0

     !SUMPCH=0

     %FLAG="NO"

     FOR  !J=3 TO !NCOLS      

          {%DIFFERENCE}(!I,!J)=@VAL({%SHOCK}(!I,!J)) -@VAL(CONTROL(!I,!J))

          !SUMDIF=!SUMDIF+{%DIFFERENCE}(!I,!J)

          IF @VAL(CONTROL(!I,!J)) > 0 THEN

          {%PERCENTCHANGE}(!I,!J)=100*{%DIFFERENCE}(!I,!J) /(@VAL(CONTROL(!I,!J)))

          !SUMPCH=!SUMPCH+{%PERCENTCHANGE}(!I,!J)

          ELSE

          %FLAG="YES"

          {%PERCENTCHANGE}(!I,!J)=NA

          ENDIF

     NEXT !J

     {%DIFFERENCE}(!I,!NCOLS+1)=!SUMDIF/!NOBS

      IF %FLAG="NO" THEN

     {%PERCENTCHANGE}(!I,!NCOLS+1)=!SUMPCH/!NOBS

     ELSE

     {%PERCENTCHANGE}(!I,!NCOLS+1)=NA

     ENDIF

NEXT !I

'SHOW %DIFFERENCE

SHOW %PERCENTCHANGE

SMPL !START !END

ENDSUB

TABLE TABFORM

DELETE TABFORM

TABLE(!NROWS,!NCOLS+1) TABFORM

SETCOLWIDTH(TABFORM,1,5)

SETCOLWIDTH(TABFORM,2,16)

FOR !J=3 TO !NCOLS+1

      SETCOLWIDTH(TABFORM,!J,12)

NEXT !J

SETLINE(TABFORM,4)

SETLINE(TABFORM,6)

FOR !J=3 TO !NCOLS+1

     SETCELL(TABFORM,5,!J,!J+!SIMSTART-3,"C",4.0)   

NEXT !J

FOR !I=7 TO !NROWS

      %NUMBER=@STR(!I-6)+" "

     SETCELL(TABFORM,!I,1,%NUMBER,"R",4.0)

     SETCELL(TABFORM,!I,2,0,"L")

           FOR !J= 3 TO !NCOLS+1      

                   SETCELL(TABFORM,!I,!J,0,"R",12.3)

           NEXT !J

NEXT !I

TABFORM(5,1)="No."

TABFORM(5,2)="Variabe Name"

TABFORM(5,!NCOLS+1)="Period Mean"

SETLINE (TABFORM,!NROWS+1)

{%MODNAME}.MAKEGROUP TEMPGROUP2 @ENDOG

TABLE TEMPTAB

DELETE TEMPTAB

FREEZE(TEMPTAB) TEMPGROUP2

DELETE TEMPGROUP2

FOR   !I=1 TO !NVAR

     TABFORM(!I+6,2)=TEMPTAB(1,!I+1)

NEXT !I

DELETE TEMPTAB

TABLE CONTROL

%DESCRIPTION="Pre-shock solution"

CALL  SHOCKTABLE("CONTROL")

 

TABLE SHK_IRWPOIL

SMPL !SIMSTART !SIMEND

GENR TEMP=IRWPOIL

GENR IRWPOIL=IRWPOIL+1

%DESCRIPTION="Policy shock: 1 dollar increase in foreign price of oil"

CALL  SHOCKTABLE("SHK_IRWPOIL")

SMPL !SIMSTART !SIMEND

GENR IRWPOIL=TEMP

TABLE DIF_IRWPOIL

TABLE PCH_IRWPOIL

CALL SHOCKSTAT("SHK_IRWPOIL", "DIF_IRWPOIL","PCH_IRWPOIL")

 

TABLE SHK_IRYOILB

SMPL !SIMSTART !SIMEND

GENR TEMP=IRYOILB

GENR IRYOILB=IRYOILB*(1+0.10)

%DESCRIPTION="Policy shock:  %10 increase in production of oil"

CALL  SHOCKTABLE("SHK_IRYOILB")

SMPL !SIMSTART !SIMEND

GENR IRYOILB=TEMP

TABLE DIF_IRYOILB

TABLE PCH_IRYOILB

CALL SHOCKSTAT("SHK_IRYOILB", "DIF_IRYOILB","PCH_IRYOILB")

 

TABLE SHK_IREO

SMPL !SIMSTART !SIMEND

GENR TEMP=IREO

GENR IREO=IREO*(1+0.10)

%DESCRIPTION="Policy shock:  %10 devaluation of official exchange rate against dollar"

CALL  SHOCKTABLE("SHK_IREO")

SMPL !SIMSTART !SIMEND

GENR IREO=TEMP

TABLE DIF_IREO

TABLE PCH_IREO

CALL SHOCKSTAT("SHK_IREO", "DIF_IREO","PCH_IREO")

 

TABLE SHK_IREX

SMPL !SIMSTART !SIMEND

GENR TEMP=IREX

GENR IREX=IREX*(1+0.10)

%DESCRIPTION="Policy shock:  %10 devaluation of export exchange rate against dollar"

CALL  SHOCKTABLE("SHK_IREX")

SMPL !SIMSTART !SIMEND

GENR IREX=TEMP

TABLE DIF_IREX

TABLE PCH_IREX

CALL SHOCKSTAT("SHK_IREX", "DIF_IREX","PCH_IREX")

 

TABLE SHK_IRKAD

SMPL !SIMSTART !SIMEND

GENR TEMP=IRKAD

GENR IRKAD=IRKAD+1000

%DESCRIPTION="Policy shock:  1000 million dollars increase in capital account"

CALL  SHOCKTABLE("SHK_IRKAD")

SMPL !SIMSTART !SIMEND

GENR IRKAD=TEMP

TABLE DIF_IRKAD

TABLE PCH_IRKAD

CALL SHOCKSTAT("SHK_IRKAD", "DIF_IRKAD","PCH_IRKAD")

 

TABLE SHK_OECDP

SMPL !SIMSTART !SIMEND

GENR TEMP=OECDP

GENR OECDP=OECDP*(1+0.10)

%DESCRIPTION="Policy shock:  %10 increase in domestic prices of industrial countries"

CALL  SHOCKTABLE("SHK_OECDP")

SMPL !SIMSTART !SIMEND

GENR OECDP=TEMP

TABLE DIF_OECDP

TABLE PCH_OECDP

CALL SHOCKSTAT("SHK_OECDP", "DIF_OECDP","PCH_OECDP")

 

TABLE SHK_IRCIFP

SMPL !SIMSTART !SIMEND

GENR TEMP=IRCIFP

GENR IRCIFP=IRCIFP*(1+0.10)

%DESCRIPTION="Policy shock:  %10 increase in CIF import prices"

CALL  SHOCKTABLE("SHK_IRCIFP")

SMPL !SIMSTART !SIMEND

GENR IRCIFP=TEMP

TABLE DIF_IRCIFP

TABLE PCH_IRCIFP

CALL SHOCKSTAT("SHK_IRCIFP", "DIF_IRCIFP","PCH_IRCIFP")

 

TABLE SHK_LIBOR

SMPL !SIMSTART !SIMEND

GENR TEMP=LIBOR

GENR LIBOR=LIBOR+1.00

%DESCRIPTION="Policy shock:  %1 increase in London inter bank offer rate"

CALL  SHOCKTABLE("SHK_LIBOR")

SMPL !SIMSTART !SIMEND

GENR LIBOR=TEMP

TABLE DIF_LIBOR

TABLE PCH_LIBOR

CALL SHOCKSTAT("SHK_LIBOR", "DIF_LIBOR","PCH_LIBOR")

 

TABLE SHK_IRFEOAV

SMPL !SIMSTART !SIMEND

GENR TEMP=IRFEOAV

GENR IRFEOAV=IRFEOAV+1000

%DESCRIPTION="Policy shock:  1000 billion rials increase in foreign exchange obligation account"

CALL  SHOCKTABLE("SHK_IRFEOAV")

SMPL !SIMSTART !SIMEND

GENR IRFEOAV=TEMP

TABLE DIF_IRFEOAV

TABLE PCH_IRFEOAV

CALL SHOCKSTAT("SHK_IRFEOAV", "DIF_IRFEOAV","PCH_IRFEOAV")

 TABLE SHK_IROLGV

SMPL !SIMSTART !SIMEND

GENR TEMP=IROLGV

GENR IROLGV=IROLGV+1000

%DESCRIPTION="Policy shock:  1000 billion rials increase in government budget government obligation loans"

CALL  SHOCKTABLE("SHK_IROLGV")

SMPL !SIMSTART !SIMEND

GENR IROLGV=TEMP

TABLE DIF_IROLGV

TABLE PCH_IROLGV

CALL SHOCKSTAT("SHK_IROLGV", "DIF_IROLGV","PCH_IROLGV")

 TABLE SHK_IROLPV

SMPL !SIMSTART !SIMEND

GENR TEMP=IROLPV

GENR IROLPV=IROLPV+1000

%DESCRIPTION="Policy shock:  1000 billion rials increase in  government budget private obligation loans"

CALL  SHOCKTABLE("SHK_IROLPV")

SMPL !SIMSTART !SIMEND

GENR IROLPV=TEMP

TABLE DIF_IROLPV

TABLE PCH_IROLPV

CALL SHOCKSTAT("SHK_IROLPV", "DIF_IROLPV","PCH_IROLPV")

 

TABLE SHK_IRGRDSV

SMPL !SIMSTART !SIMEND

GENR TEMP=IRGRDSV

GENR IRGRDSV=IRGRDSV+1000

%DESCRIPTION="Policy shock:  1000 billion rials increase in dollar sale revenue"

CALL  SHOCKTABLE("SHK_IRGRDSV")

SMPL !SIMSTART !SIMEND

GENR IRGRDSV=TEMP

TABLE DIF_IRGRDSV

TABLE PCH_IRGRDSV

CALL SHOCKSTAT("SHK_IRGRDSV", "DIF_IRGRDSV","PCH_IRGRDSV")

 

TABLE SHK_IRGECV

SMPL !SIMSTART !SIMEND

GENR TEMP=IRGECV

GENR IRGECV=IRGECV*(1+0.10)

%DESCRIPTION="Policy shock:  %10 increase in government current expenditures"

CALL  SHOCKTABLE("SHK_IRGECV")

SMPL !SIMSTART !SIMEND

GENR IRGECV=TEMP

TABLE DIF_IRGECV

TABLE PCH_IRGECV

CALL SHOCKSTAT("SHK_IRGECV", "DIF_IRGECV","PCH_IRGECV")

 

TABLE SHK_IRGEDV

SMPL !SIMSTART !SIMEND

GENR TEMP=IRGEDV

GENR IRGEDV=IRGEDV*(1+0.10)

%DESCRIPTION="Policy shock:  %10 increase in government development expenditures"

CALL  SHOCKTABLE("SHK_IRGEDV")

SMPL !SIMSTART !SIMEND

GENR IRGEDV=TEMP

TABLE DIF_IRGEDV

TABLE PCH_IRGEDV

CALL SHOCKSTAT("SHK_IRGEDV", "DIF_IRGEDV","PCH_IRGEDV")

 

'TABLE SHK_IRGESPV

'SMPL !SIMSTART !SIMEND

'GENR TEMP=IRGESPV

'GENR IRGESPV=IRGESPV+1000

'%DESCRIPTION="Policy shock:  1000 billion rials increase in government special payments"

'CALL  SHOCKTABLE("SHK_IRGESPV")

'SMPL !SIMSTART !SIMEND

'GENR IRGESPV=TEMP

'TABLE DIF_IRGESPV

'TABLE PCH_IRGESPV

'CALL SHOCKSTAT("SHK_IRGESPV", "DIF_IRGESPV","PCH_IRGESPV")

 

TABLE SHK_IRPDOIL

SMPL !SIMSTART !SIMEND

GENR TEMP=IRPDOIL

GENR IRPDOIL=IRPDOIL*(1+0.10)

%DESCRIPTION="Policy shock:  %10 increase in domestic prices of oil products"

CALL  SHOCKTABLE("SHK_IRPDOIL")

SMPL !SIMSTART !SIMEND

GENR IRPDOIL=TEMP

TABLE DIF_IRPDOIL

TABLE PCH_IRPDOIL

CALL SHOCKSTAT("SHK_IRPDOIL", "DIF_IRPDOIL","PCH_IRPDOIL")

 

'TABLE SHK_IRGEFIV

'SMPL !SIMSTART !SIMEND

'GENR TEMP=IRGEFIV

'GENR IRGEFIV=IRGEFIV+100*IREO

'%DESCRIPTION="Policy shock:  100 million dollars increase in government foreign investment"

'CALL  SHOCKTABLE("SHK_IRGEFIV")

'SMPL !SIMSTART !SIMEND

'GENR IRGEFIV=TEMP

'TABLE DIF_IRGEFIV

'TABLE PCH_IRGEFIV

'CALL SHOCKSTAT("SHK_IRGEFIV", "DIF_IRGEFIV","PCH_IRGEFIV")

 

TABLE SHK_IRIRL

SMPL !SIMSTART !SIMEND

GENR TEMP=IRIRL

GENR IRIRL=IRIRL +1

%DESCRIPTION="Policy shock:  %1 increase in banking loans interest rate"

CALL  SHOCKTABLE("SHK_IRIRL")

SMPL !SIMSTART !SIMEND

GENR IRIRL=TEMP

TABLE DIF_IRIRL

TABLE PCH_IRIRL

CALL SHOCKSTAT("SHK_IRIRL", "DIF_IRIRL","PCH_IRIRL")

 

TABLE SHK_IRIRS

SMPL !SIMSTART !SIMEND

GENR TEMP=IRIRS

GENR IRIRS=IRIRS +1

%DESCRIPTION="Policy shock:  %1 increase in saving deposits interest rate"

CALL  SHOCKTABLE("SHK_IRIRS")

SMPL !SIMSTART !SIMEND

GENR IRIRS=TEMP

TABLE DIF_IRIRS

TABLE PCH_IRIRS

CALL SHOCKSTAT("SHK_IRIRS", "DIF_IRIRS","PCH_IRIRS")

 

TABLE SHK_IRMACHIMV

SMPL !SIMSTART !SIMEND

GENR TEMP=IRMACHIMV

GENR IRMACHIMV=IRMACHIMV+0.01

%DESCRIPTION="Policy shock:  %1 increase in import share of machinary and equipments"

CALL  SHOCKTABLE("SHK_IRMACHIMV")

SMPL !SIMSTART !SIMEND

GENR IRMACHIMV=TEMP

TABLE DIF_IRMACHIMV

TABLE PCH_IRMACHIMV

CALL SHOCKSTAT("SHK_IRMACHIMV", "DIF_IRMACHIMV","PCH_IRMACHIMV")

 

FOR   !I=1 TO !NVAR

     %CLEAN=@MID(TABFORM(!I+6,2),1,16)

     DELETE %CLEAN

NEXT !I

DELETE TEMP TABFORM


فهرست منابع و مآخذ:

ـ فارسي:

1ـ بيدآباد، بيژن. معادلات ديفرانسيل و ثبات پوياي تعادل. آماده چاپ.

 

2ـ بيدآباد، بيژن. (1369). رگرسيون‌هاي نرم L1  گسسته و پيوسته (پيشنهاد الگوريتم‌هاي تقريب گسسته و برازش پيوستة رويه تمركز). ترجمة رسالة دكتري. تهران: واحد تحصيلات تكميلي و دورة عالي تحقيقات دكتري، دانشگاه آزاد اسلامي.

 

 بيدآباد، بيژن. (1373). ارتباط اجزاء منابع و مصارف بانك‌ها با بخش‌هاي پولي، ارزي و مالي و مغايرت‌هاي موجود در گزارش اقتصادي و ترازنامه بانك مركزي، تهران:  معاونت امور اقتصادي، وزارت امور اقتصادي و دارايي.

 

4ـ بيدآباد، بيژن. (1373). سنجش اهداف كمّي كلان برنامه پنجساله دوم توسعه اقتصادي، اجتماعي و فرهنگي جمهوري اسلامي ايران. تهران: معاونت امور اقتصادي، وزارت امور اقتصادي و دارايي.

 

5ـ بيدآباد، بيژن. (1374). برخي ناهمخواني‌ها در حساب‌هاي پولي، ارزي و مالي گزارش اقتصادي و ترازنامة بانك مركزي. تهران: معاونت اقتصاد و تكنولوژي، مركز تحقيقات استراتژيك نهاد رياست جمهوري.

 

6ـ بيدآباد، بيژن. (1375). طراحي مدل اقتصادسنجي براي تبيين روند واردات و صادرات در بخش صنعت و ارائه نتايج حاصله در: بررسي آثار عضويت جمهوري اسلامي ايران در سازمان جهاني تجارت بر بخش صنعت. تهران: سازمان مديريت صنعتي، وزارت صنايع.

 

7ـ بيدآباد، بيژن. (1377). الگوي اقتصادسنجي كلان ايران: شبيه‌سازي و پيش‌بيني. ارائه شده به همايش مدلسازي براي اقتصاد ايران. چاپ شده در كتاب مدلسازي اقتصاد ايران، گردآورنده: محمد جعفر مجرد. تهران: معاونت اقتصادي، بانك مركزي جمهوري اسلامي ايران، صفحات: 127-232.

 

8ـ بيدآباد، بيژن. (1378). بررسي اجمالي الگوي اقتصادسنجي كلان برنامه پنجساله سوم توسعه اقتصادي، اجتماعي، فرهنگي جمهوري اسلامي ايران، تهران: مركز پژوهش‌هاي مجلس شوراي اسلامي، دفتر بررسيهاي اقتصادي. تجديد نظر و چاپ مجدد آن در مجلة تازه‌هاي اقتصاد، ماهنامة علمي، اقتصادي و بانكي. مؤسسه تحقيقات پولي و بانكي، بانك مركزي جمهوري اسلامي ايران، شمارة 87، فروردين 1379، صفحات: 7-4.

 

9ـ بيدآباد، بيژن و خوشنويس يزدي، سهيلا. (1378). الگويي براي تبيين بازار موازي ارز در ايران. مجموعه مقالات نهمين كنفرانس سياست‌هاي پولي و ارزي، پژوهشكده پولي و بانكي، بانك مركزي جمهوري اسلامي ايران، صفحات: 208-187. چاپ مجدد در سياست‌هاي ارزي (3) تدوين شده توسط عليرضا رحيمي بروجردي، مؤسسه تحقيقات پولي و بانكي، بانك مركزي جمهوري اسلامي ايران، بهار 1379. صفحات: 270-247.

 

10ـ بيدآباد، بيژن و بيدآباد، فرانك. (1375). الگوي اقتصادسنجي كلان ايران. ويرايش دوم. تهران: مؤسسه تحقيقات پولي و بانكي، بانك مركزي جمهوري اسلامي ايران.

 

11ـ بيدآباد، بيژن و بيدآباد، فرانك. (1375). الگوي اقتصادسنجي كلان ايران. جلد اول مستندات اصلي الگو، ويرايش سوم. تهران: مؤسسه تحقيقات پولي و بانكي، بانك مركزي جمهوري اسلامي ايران.

 

12ـ بيدآباد، بيژن و بيدآباد، فرانك. (1375). الگوي اقتصادسنجي كلان ايران. جلد دوم نتايج شبيه‌سازي و پيش‌بيني الگو، ويرايش سوم، تهران: مؤسسه تحقيقات پولي و بانكي، بانك مركزي جمهوري اسلامي ايران.

 

13ـ بيدآباد، بيژن و بيدآباد، فرانك. (1375). الگوي اقتصادسنجي كلان ايران. مستندات تفصيلي، ويرايش چهارم. تهران: مؤسسه تحقيقات پولي و بانكي، بانك مركزي جمهوري اسلامي ايران، اسفند.

 

14ـ بيدآباد، بيژن و بيدآباد، فرانك. (1376). الگوي اقتصادسنجي كلان ايران، ويرايش چهارم. تهران: مؤسسه تحقيقات پولي و بانكي، بانك مركزي جمهوري اسلامي ايران.

 

15ـ بيدآباد، بيژن. اربابي، فرزين و بيدآباد، فرانك. (1375). الگوي اقتصادسنجي كلان ويرايش يكم. تهران: مؤسسه تحقيقات پولي و بانكي، بانك مركزي جمهوري اسلامي ايران.

 

16ـ بيدآباد، بيژن و بيدآباد، بهروز. (1368). Functional form for Estimating Lorenz Curve ارائه شده به گردهمايي جامعه اقتصادسنجي، استراليا.

 

17ـ كميجاني، اكبر. بيدآباد، بيژن. (1373). مروري بر الگوهاي پژوهش يافته پيرامون سياست‌هاي پولي مناسب جهت تثبيت فعاليت‌هاي اقتصادي در برنامة پنجساله دوم توسعه اقتصادي، اجتماعي، فرهنگي جمهوري اسلامي ايران. ويژه برنامه پنجساله دوم توسعه اقتصادي، اجتماعي، فرهنگي جمهوري اسلامي ايران. مجلس و پژوهش، مجلة مركز پژوهش‌هاي مجلس شوراي اسلامي، شماره نهم سال دوم، خرداد، صفحات: 95-59. 

 

18ـ كميجاني، اكبر. بيدآباد، بيژن.  طباطبايي، رويا. بهرامي، جاويد. معدلت، كورش و شكرآبي، فيروزه. (1371). سياست‌هاي پولي و ارزي مناسب جهت تثبيت فعاليت‌هاي اقتصادي در ايران، گزارش مرحلة دوم. تهران: معاونت امور اقتصادي، وزارت امور اقتصادي و دارايي. چاپ مجدد توسط معاونت امور اقتصادي وزارت امور اقتصادي و دارايي، 1374. خلاصة اين تحقيق در مجلة پژوهش‌ها و سياست‌هاي اقتصادي، معاونت امور اقتصادي، وزارت امور اقتصادي و دارايي سال سوم شمارة 1 و 2 پاييز و زمستان 1374، صفحات: 71-30 آمده است.

 

19ـ كميجاني، اكبر. بيدآباد، بيژن. طباطبايي، رويا. فرجي، يوسف. شكرآبي، فيروزه و معدلت، كورش. (1370). سياست‌هاي پولي و ارزي مناسب جهت تثبيت فعاليت‌هاي اقتصادي در ايران گزارش مرحلة اول. تهران: معاونت امور اقتصادي، وزارت امور اقتصادي و دارايي. چاپ مجدد توسط معاونت امور اقتصادي، وزارت امور اقتصادي و دارايي، 1373. چاپ مجدد در شماره‌هاي مجلة اقتصادي، معاونت امور اقتصادي، وزارت امور اقتصادي و دارايي، شمارة 4 آبان 1375، صفحات: 14-2، شمارة 5 آذر 1375، صفحات: 12-2، شمارة 6 دي 1375، صفحات: 9-2، شمارة 7 اسفند 1375، صفحات: 7-2.

 

20ـ مجرد، محمد جعفر و بيدآباد، بيژن. (1375). سياست هدف گذاري براي كنترل تورم در ايران، ارائه شده در ششمين كنفرانس سياست‌هاي پولي و ارزي، ارديبهشت 1375، مجموعه مقالات ششمين كنفرانس سياست‌هاي پولي و ارزي، مؤسسه تحقيقات پولي و بانكي، بانك مركزي جمهوري اسلامي ايران، صفحات: 57-21، تابستان 1375. تجديد نظر و چاپ مجدد بخش‌هايي از آن تحت عناوين كنترل قيمت از طريق هدف گذاري تورمي و تجربه‌هاي اخير برخي از كشورها در مورد سياست هدف‌گذاري تورمي در مجلة تازه‌هاي اقتصاد، ماهنامة علمي، اقتصادي و بانكي. مؤسسة تحقيقات پولي و بانكي، بانك مركزي جمهوري اسلامي ايران، شمارة 79، مرداد 1378، صفحات: 14-10 و 27-22.

 


ـ انگليسي:

1-         Chris, Allen and Hall ,Stephen. (1996). Macroeconomic Modeling in a Changing World. New York: John Wiley.

 

2-         Bidabad, bijan. (1981). Estimation of the Engel's Curves of Iran (Urban & Rural). M.S. dissertation, Shiraz University, Shiraz.

 

3-         Bidabad, bijan. (1987). Least Absolute Error Estimation I, Submitted to the 1st International Conference on Statistical Data Analysis Based on the L1 Norm and Related Methods. Neuchatel, Switzerland.

 

4-         Bidabad, bijan. (1987). Least Absolute Error Estimation II, Submitted to the 1st International Conference on Statistical Data Analysis Based on the L1 Norm and Related Methods. Neuchatel, Switzerland.

 

5-         Bidabad, bijan. (1988). A Proposed Algorithm for Least Absolute Error Estimation I, Proceedings of the 3rd Analysis Seminar, May 18-19, Shiraz University, Shiraz, pp.24-34.

 

6-         Bidabad, bijan. (1988). A Proposed Algorithm for Least Absolute Error Estimation II, Proceedings of the 3rd Analysis Seminar, May 18-19, Shiraz University, Shiraz, pp.35-50.

 

7-         Bidabad, bijan. (1989). Functional form for Estimating the Lorenz Curve, Submitted to the Australasian Econometric Meeting, Australian National University, Astralia.

 

8-         Bidabad, bijan. (1989). Discrete and Continuous L1 Norm Regressions (Proposition of Discrete Approximation Algorithms and Continuous Smoothing of Concentration Surface). Ph. D Dissertation, Islamic Azad University, Tehran.

 

9-         Bidabad, B. Continuous L1 Norm Smoothing of Concentration Surface.

 

10-     Bidabad, B. Estimating Lorenz Curve for the United States by Using Continuous L1 Norm Estimation Method.

 

11-     Bidabad, B. General Monetary Equilibrium.

 

12-     Bidabad, B. Introducing New Algorithms for the L1 Norm Regression.

 

13-     Bidabad, B. L1 Norm Solution of Over Determined System of Linear Equations.

 

14-     Bidabad, B. Macroeconomics Needs Fresh Methodology of Theorization.

 

15-     Bidabad, B. Money - Transaction - Income (Quantification of Quantity Theory of Money).

 

16-     Bidabad, B. Survey of Literature on the L1 Norm Data Analysis and Related Methods.

 

17-     Bidabad, B. (1991). Dependence of Research Methodology to Labaratory Tools in Economics. Method. Bulletin of the International Network for Economic Method, Vol. 3, No. 1, June, pp. 129-130.

 

18-     Bidabad, B. (1993). Estimating Lorenz Curve for Iran by Using Continuous L1 Norm Estimation Method. Economics and Management journal, Islamic Azad University, No. 19, Winter, pp. 83-101.

 

19-     Bidabad, B. (2004). Survey of Literature on the L1 Norm Regression.

 

20-     Bidabad, B. Kalbasi Anaraki,N.(2004). Effects of Iran's WTO Accession on the Cement Industry. 4th European Cement Conference. Barcelona, 14-17 March .

 

21-     Black, Richard. Laxton, D. Rose,D. and  Tetlow,R. (1994). The Steady-State Model: SSQPM, The Bank of Canada’s New Quarterly Projection Model, Bank of Canada Technical Report, No. 72, Part 1.

 

22-     Bodkin, R.G. Lawrence R., Klein and Kanta, Marwah. (1991). A History of Macroeconometric Model Building. Aldershot: Edward Elgar.

 

23-     Brayton, F. and Tinsley, P. (1996). A Guide to FRB / US: A Macroeconomic Model of the United States. Federal Reserve Finance and Economics Discussion Papers, October.

 

24-     Brayton, F. Levin, A. Tryon, R. and Williams, J.C. (1997). The Evolution of Macro Models at the Federal Reserve Board. Carnegie-Rochester Conference Series on Public Policy, 47,pp. 43-81.

 

25-     Brayton, F. Mauskopf, E. Reifschneider, D. Tinsley, P. and Williams, J. (1997). The Role of Expectations in the FRB/US Macroeconomic Model, Federal Reserve Bulletin, 83.

 

26-     Brayton,F. and Mauskopf,E. (1985). The Federal Reserve Board MPS Quarterly Econometric Model of the U.S. Economy. Economic Modelling , 2,pp. 170-292.

 

27-     Britton, A. (ed.).(1988). Policymaking with Macroeconomic Models. Britton, E. and Whitley, J., Comparing the Monetary Transmission Mechanism in France, Germany and the United Kingdom: Some Issues and Results, Bank of England. Quarterly Bulletin, May.

 

28-     Bryant, R. C. and Portes, R. (eds.). (1987). Global Macroeconomics: Policy Conflict and Cooperation. New york: Stmartin's Press.

 

29-     Bryant, R. C. Currie, D. Frenkel, J. Masson, P. and Portes, R. (eds.). (1989). Macroeconomic Policies in an Interdependent World. Washington, D. C.: Brookings Institution.

 

30-     Charemza W.W. and Deadman, D.F. (1997). New Directions in Econometric Practice,2/e. Cheltanham: Edward Elgar.

 

31-     Christ, C.F. (1968). A Simple Macroeconomic Model with a Government Budget Restraint. Journal of Political Economy, 76,pp. 53-67.

 

32-     Clements and Herny. (1998). Forecasting Economic Times Series. Cambridge: Cambridge University Press.

 

33-     Davidson, Russell and  MacKinnon, James. (1993). Estimation and Inference in Econometrics. Oxford: Oxford University Press.

 

34-     Deutsche, Bundesbank. (1989). Macro-economic Forecasting with the Econometric Model of the Deutsche Bundesbank, Monthly Report, May, pp. 27-33.

 

35-     Deutsche, Bundesbank. (1982). Structure and Properties of a New Version of the Econometric Model of the Deutsche Bundesbank, Monthly Report, August, pp. 29 - 37.

 

36-     Deutsche, Bundesbank. (1994). Macro-Econometric Model of the German Economy. Frankfurt: Aam Main.

 

37-     Diebold, F. (1998). The Past, Present and Future of Macroeconomic Forecasting. Journal of Economic Perspectives, Vol. 12, No. 2.

 

38-     Edison, H. J. Marquez, J. R. and Tryon, R. W. (1987). The Structure and Properties of the Federal Reserve Board Multi-country Model. Economic Modelling, 4.

39-     Engle, Robert and Daniel, L. McFadden. (1994). Handbook of Econometrics, Volumes IV. Amsterdam: North-Holland.

 

40-     Eric, M. Leeper. Tao, Zha. (2001). Assessing Simple Policy Rules: A View from a Complete Macroeconomic Model. Review – Federal Reserve Bank of St.Louis, v. 83, no. 4, pp. 83-110.

 

41-     Fair, Ray C. (1987). Macroeconometric Models. in J. Eatwell, M.Millgate and P. Newman (eds.) Palgrave Dictionary of Economics. PP. 269–273, London: Macmillan.

 

42-     Fair, Ray C. (1994). Testing Macroeconometric Models. Cambridge, Mass: Harvard University Press.

 

43-     Fair, R. (1984). Specification, Estimation, and Analysis of Macroeconometric Models. Cambridge: Harvard University Press.

 

44-     Favero, Carlo A. (2001). Applied Macroeconometrics. Oxford: Oxford University Press.

 

45-     Fisher, F.M. Klein, L.R. and Shinkai,Y. (1965). Price and output aggregation in the Brookings econometric model, in: J.S. Duesenberry, G. Fromm, L.R. Klein and E. Kuh (eds.), The Brookings Quarterly Econometric Model of the United States, Rand McNally Company, Chicago.

 

46-     Goldberger, Arthur. (1991). A Course in Econometrics. Cambridge: Harvard University Press.

 

47-     Gourieroux, Christian and Monfort, Alain. (1995). Statistics and Econometric Models: Volumes I and II. Cambridge