This is the program file for the September/October 2002 Review article "Stock Market Returns, Volatility, and Future Output" by Hui Guo. The programs are written for TSP. *-----------------* *--TABLES 1 to 3--* *-----------------* ?*********************************************************************************** ? This program generates Tables 1-3 (guo2a.tsp) ?*********************************************************************************** ?*****************data description******************* ?varq: realized stock market variance ?retq: realized excess stock market returns ?dgdp: growth rate of real gross domestic product ?dgnp: growth rate of real gross natinoal product ?**************************************************** options crt; ?*****************load data******************* freq q; smpl 1885:2 2000:4; noprint; load; print; ?********************************************* ?*****************downweight the 1987 stock market crash******************* freq q; smpl 1987:4 1987:4; genr varq=.016210; ?max before 1987 as in Campbell et al. (2001) ?************************************************************************** ?*****************Table 1******************* frml retqa retq=aa+bb*varq(-1); ?row 1 frml retqc retq=aa+bb*varq; ?row 2 frml retqb retq=aa+bb*varq(-1)+cc*varq; ?row 3 param aa, bb, cc; ? PANEL A: POST-WORLD WAR II SAMPLE smpl 1947:3 2000:4; gmm(inst=(c, varq(-1)), nma=11) retqa; gmm(inst=(c, varq), nma=11) retqc; gmm(inst=(c, varq(-1), varq), nma=11) retqb; ? PANEL B: CAMPBELL ET AL. (2001) SAMPLE smpl 1963:1 1997:4; gmm(inst=(c, varq(-1)), nma=10) retqa; gmm(inst=(c, varq), nma=10) retqc; gmm(inst=(c, varq(-1), varq), nma=10) retqb; ? PANEL C: LONG SAMPLE smpl 1885:4 2000:4; gmm(inst=(c, varq(-1)), nma=17) retqa; gmm(inst=(c, varq), nma=17) retqc; gmm(inst=(c, varq(-1), varq), nma=17) retqb; ?******************************************** ?*****************Table 2******************* frml reteq retq=(gam/(1-rho*beta))*(alfa+beta*varq(-1)-rho*beta*varq); ?RETURN EQUATION frml retvol varq=alfa+beta*varq(-1); ?VARIANCE EQUATION param gam, alfa, beta; const rho .99; ? PANEL A: POST-WORLD WAR II SAMPLE smpl 1947:3 2000:4; gmm(inst=(c, varq(-1), varq(-2)), nma=11) reteq retvol; ? PANEL B: CAMPBELL ET AL. (2001) SAMPLE smpl 1963:1 1997:4; gmm(inst=(c, varq(-1), varq(-2)), nma=10) reteq retvol; ? PANEL C: LONG SAMPLE smpl 1885:4 2000:4; gmm(inst=(c, varq(-1), varq(-2)), nma=17) reteq retvol; ?*****************Table 3******************* ? FORECASTING GDP GROWTH frml eq1a dgdp = C0 + g0*dgdp(-1) + r0*retq(-1); ?ROW 2 frml eq1b dgdp = C0 + g0*dgdp(-1) + v0*varq(-1); ?ROW 1 frml eq1c dgdp = C0 + g0*dgdp(-1) + r0*retq(-1) + v0*varq(-1); ?ROW 3 frml eq1d dgdp = C0 + g0*dgdp(-1) + r0*retq(-1) + v0*varq(-1) + v1*varq(-2); ?ROW 4 frml eq1e dgdp = C0 + g0*dgdp(-1) + r0*retq(-1) + v0*varq(-1) + r1*retq(-2) + v1*varq(-2); ?ROW 5 ? FORECASTING GNP GROWTH frml eq2a dgnp = C0 + g0*dgnp(-1) + r0*retq(-1); ?ROW 2 frml eq2b dgnp = C0 + g0*dgnp(-1) + v0*varq(-1); ?ROW 1 frml eq2c dgnp = C0 + g0*dgnp(-1) + r0*retq(-1) + v0*varq(-1); ?ROW 3 frml eq2d dgnp = C0 + g0*dgnp(-1) + r0*retq(-1) + v0*varq(-1) + v1*varq(-2); ?ROW 4 frml eq2e dgnp = C0 + g0*dgnp(-1) + r0*retq(-1) + v0*varq(-1) + r1*retq(-2) + v1*varq(-2); ?ROW 5 param c0 g0 r0 v0 r1 v1; ? PANEL A: POST-WORLD WAR II SAMPLE smpl 1947:3 2000:4; gmm(inst=(c,dgdp(-1), retq(-1)), nma=11) eq1a; gmm(inst=(c,dgdp(-1), varq(-1)), nma=11) eq1b; gmm(inst=(c,dgdp(-1), retq(-1), varq(-1)), nma=11) eq1c; gmm(inst=(c,dgdp(-1), retq(-1) ,varq(-1), varq(-2)), nma=11) eq1d; gmm(inst=(c,dgdp(-1), retq(-1) ,retq(-2), varq(-1), varq(-2)), nma=11) eq1e; ? PANEL B: CAMPBELL ET AL (2001). SAMPLE smpl 1963:1 1997:4; gmm(inst=(c,dgdp(-1), retq(-1)), nma=10) eq1a; gmm(inst=(c,dgdp(-1), varq(-1)), nma=10) eq1b; gmm(inst=(c,dgdp(-1), retq(-1), varq(-1)), nma=10) eq1c; gmm(inst=(c,dgdp(-1), retq(-1) ,varq(-1), varq(-2)), nma=10) eq1d; gmm(inst=(c,dgdp(-1), retq(-1) ,retq(-2), varq(-1), varq(-2)), nma=10) eq1e; ? PANEL C: LONG SAMPLE smpl 1885:4 2000:4; gmm(inst=(c,dgnp(-1), retq(-1)), nma=17) eq2a; gmm(inst=(c,dgnp(-1), varq(-1)), nma=17) eq2b; gmm(inst=(c,dgnp(-1), retq(-1), varq(-1)), nma=17) eq2c; gmm(inst=(c,dgnp(-1), retq(-1) ,varq(-1), varq(-2)), nma=17) eq2d; gmm(inst=(c,dgnp(-1), retq(-1), retq(-2) ,varq(-1), varq(-2)), nma=17) eq2e; ?************************************************** stop; end; *-----------------* *--TABLE 4 --* *-----------------* ?*********************************************************************************** ? This program generates Table 4. (guo2b.tsp) ?*********************************************************************************** OPTIONS CRT; FREQ N; SMPL 1 214; ?QUARTERLY POST-WW II SAMPLE, 1947:Q3 - 2000:Q4 NOPRINT; LOAD; PRINT; ?******************PARAMETERS OF FORECASTING MODEL************** ? INSAM IS THE LAST OBS OF THE INITIAL IN-SAMPLE ESTIMATION SET INSAM=71; ?INITIOAL IN-SAMPLE FORECASTING SAMPLE: 1947:3-1965:1 SET INSAM1=INSAM+1; SET PL=214-INSAM; ?NUMBER OF FORECAST SET PPI=PL/INSAM; ?RATIO OF NUMBER OF FORECAST TO NUMBER OF OBSERVATIONS IN THE INITIAL IN-SAMLE REGRESSION ?***************OUT-OF-SAMPLE FORECAST**************** ? IN THIS EXAMPLE, WE CONSIDER THE BENCHMARK OF VARIANCE ? OR PANEL A OF TABLE 4. WE NEED TO MAKE NECESSARY MODIFICATION ? TO OBTAIN RESULTS IN PANEL B OF TABLE 4, I.E., TAKE THE QUESTION ? MARK "?" AWAY FROM THE EQUATION BLOCKS UNDER "benchmark is return" ?***************************************************** ? benchmark is variance FRML EQBM DGDP=AA1+AA2*DGDP1+AA3*VARQ1+AA4*VARQ2; FRML EQR2 DGDP=CC1+CC2*DGDP1+CC3*VARQ1+CC4*VARQ2 +CC5*RETQ1+CC6*RETQ2; ? benchmark is return ?FRML EQBM DGDP=AA1+AA2*DGDP1+AA3*retq1+AA4*retq2; ?FRML EQR2 DGDP=CC1+CC2*DGDP1+CC3*VARQ1+CC4*VARQ2 +CC5*RETQ1+CC6*RETQ2; PARAM AA1 CC1 PARAM AA2 CC2; PARAM AA3 CC3; PARAM AA4 CC4; PARAM CC5; PARAM CC6; SET LL=INSAM; SET MM=LL+1; DO I=1 TO PL; SMPL 1 LL; LSQ(NOPRINT, SILENT) EQBM; LSQ(NOPRINT, SILENT) EQR2; SMPL MM MM; GENR EQBM FBM; ?THE FORECASTING ERROR FROM THE BENCHMARK MODEL GENR EQR2 FR2; ?THE FORECASTING ERROR FROM THE AUGMENTED MODEL SET LL=MM; SET MM=MM+1; ENDDO; ?**********CALCUATE SQUARED ERROR SMPL INSAM1 214; GENR FE2BM=(DGDP-FBM)^2; ?SQUARED FORECASTING ERROR GENR FE2R2=(DGDP-FR2)^2; ?SQUARED FORECASTING ERROR ?************CALCULATE THE COVARIANCE OF NESTED MODELS***** GENR FCOV2=(DGDP-FBM)*(FR2-FBM); MSD FE2BM FE2R2 FCOV2; SET MSER=@MEAN(2)/@MEAN(1); ?MEAN SQURED ERROR RATIO SET ENC_NEW=PL*@MEAN(3)/@MEAN(2); ?ENCOMPASSING TEST SET MSE_F=PL*(1/MSER-1); ?MSE-F TEST SET PRATIO=PL/INSAM; ?PI, NEEDED FOR THE CRITICAL VALUE TITLE "PI IS"; PRINT PRATIO; TITLE "MEAN SQUARED ERROR RATIO IS"; PRINT MSER; TITLE "ENC-NEW TEST STATISTIC IS"; PRINT ENC_NEW; TITLE "MSE_F TEST STATISTIC IS"; PRINT MSE_F; STOP; END;