A two-step procedure for analyzing a univariate financial time series (A) use SCA to analyze the mean equation and to test the existence of ARCH effects. (B) use RATS to handle the volatility equation, if ARCH effects exist. ** Illustration: analyze the monthly excess returns of S&P 500 index ** ** I edited out some of the unnecessary output ** -- input sp5. file 'sp500.dat' -- iden sp5. maxl 12. NAME OF THE SERIES . . . . . . . . . . SP5 TIME PERIOD ANALYZED . . . . . . . . . 1 TO 792 MEAN OF THE (DIFFERENCED) SERIES . . . 0.0061 STANDARD DEVIATION OF THE SERIES . . . 0.0584 T-VALUE OF MEAN (AGAINST ZERO) . . . . 2.9592 AUTOCORRELATIONS 1- 12 .09 -.03 -.13 .02 .07 -.04 .00 .05 .09 .00 -.02 -.00 ST.E. .04 .04 .04 .04 .04 .04 .04 .04 .04 .04 .04 .04 Q 6.4 7.0 19.8 20.2 24.4 26.0 26.0 27.8 33.9 33.9 34.4 34.4 -1.0 -0.8 -0.6 -0.4 -0.2 0.0 0.2 0.4 0.6 0.8 1.0 +----+----+----+----+----+----+----+----+----+----+ I 1 0.09 + IXX 2 -0.03 +XI + 3 -0.13 X+XI + 4 0.02 + IX+ 5 0.07 + IXX 6 -0.04 +XI + 7 0.00 + I + 8 0.05 + IX+ 9 0.09 + IXX 10 0.00 + I + 11 -0.02 +XI + 12 0.00 + I + PARTIAL AUTOCORRELATIONS 1- 12 .09 -.04 -.12 .04 .06 -.07 .02 .06 .06 -.01 .00 .01 ST.E. .04 .04 .04 .04 .04 .04 .04 .04 .04 .04 .04 .04 -1.0 -0.8 -0.6 -0.4 -0.2 0.0 0.2 0.4 0.6 0.8 1.0 +----+----+----+----+----+----+----+----+----+----+ I 1 0.09 + IXX 2 -0.04 +XI + 3 -0.12 X+XI + 4 0.04 + IX+ 5 0.06 + IXX 6 -0.07 XXI + 7 0.02 + IX+ 8 0.06 + IXX 9 0.06 + IX+ 10 -0.01 + I + 11 0.00 + I + 12 0.01 + I + -- tsm m1. model (1,2,3)sp5=c+noise. -- estim m1. hold resi(r1). SUMMARY FOR UNIVARIATE TIME SERIES MODEL -- M1 ----------------------------------------------------------------------- VARIABLE TYPE OF ORIGINAL DIFFERENCING VARIABLE OR CENTERED SP5 RANDOM ORIGINAL NONE ----------------------------------------------------------------------- PARAMETER VARIABLE NUM./ FACTOR ORDER CONS- VALUE STD T LABEL NAME DENOM. TRAINT ERROR VALUE 1 C CNST 1 0 NONE .0066 .0021 3.17 2 SP5 AR 1 1 NONE .0882 .0354 2.49 3 SP5 AR 1 2 NONE -.0233 .0355 -.66 4 SP5 AR 1 3 NONE -.1230 .0354 -3.48 EFFECTIVE NUMBER OF OBSERVATIONS . . 789 R-SQUARE . . . . . . . . . . . . . . 0.023 RESIDUAL STANDARD ERROR. . . . . . . 0.577465E-01 -- tsm m1. model (1,3)sp5=c+noise. <== refine the model by removing the <== insignificant parameters. -- estim m1. hold resi(r1). SUMMARY FOR UNIVARIATE TIME SERIES MODEL -- M1 ----------------------------------------------------------------------- VARIABLE TYPE OF ORIGINAL DIFFERENCING VARIABLE OR CENTERED SP5 RANDOM ORIGINAL NONE ----------------------------------------------------------------------- PARAMETER VARIABLE NUM./ FACTOR ORDER CONS- VALUE STD T LABEL NAME DENOM. TRAINT ERROR VALUE 1 C CNST 1 0 NONE .0065 .0021 3.13 2 SP5 AR 1 1 NONE .0860 .0352 2.44 3 SP5 AR 1 3 NONE -.1252 .0352 -3.55 EFFECTIVE NUMBER OF OBSERVATIONS . . 789 R-SQUARE . . . . . . . . . . . . . . 0.022 RESIDUAL STANDARD ERROR. . . . . . . 0.577622E-01 -- acf r1. maxl 12. NAME OF THE SERIES . . . . . . . . . . R1 TIME PERIOD ANALYZED . . . . . . . . . 4 TO 792 MEAN OF THE (DIFFERENCED) SERIES . . . 0.0000 STANDARD DEVIATION OF THE SERIES . . . 0.0578 T-VALUE OF MEAN (AGAINST ZERO) . . . . 0.0000 AUTOCORRELATIONS 1- 12 .01 -.01 -.01 .04 .08 -.06 .00 .05 .08 -.01 -.03 .02 ST.E. .04 .04 .04 .04 .04 .04 .04 .04 .04 .04 .04 .04 Q .1 .2 .3 1.6 7.2 9.9 9.9 11.8 17.3 17.3 18.0 18.2 -1.0 -0.8 -0.6 -0.4 -0.2 0.0 0.2 0.4 0.6 0.8 1.0 +----+----+----+----+----+----+----+----+----+----+ I 1 0.01 + I + 2 -0.01 + I + 3 -0.01 + I + 4 0.04 + IX+ 5 0.08 + IXX 6 -0.06 +XI + 7 0.00 + I + 8 0.05 + IX+ 9 0.08 + IXX 10 -0.01 + I + 11 -0.03 +XI + 12 0.02 + I + -- p=1-cdfc(18.2,10) -- print p P IS A 1 BY 1 VARIABLE .052 -- y=r1*r1 <== To test the existence of ARCH effects. -- iden y. maxl 12. NAME OF THE SERIES . . . . . . . . . . Y TIME PERIOD ANALYZED . . . . . . . . . 4 TO 792 MEAN OF THE (DIFFERENCED) SERIES . . . 0.0033 STANDARD DEVIATION OF THE SERIES . . . 0.0105 T-VALUE OF MEAN (AGAINST ZERO) . . . . 8.9525 AUTOCORRELATIONS 1- 12 .21 .21 .21 .14 .08 .13 .18 .30 .34 .17 .24 .16 ST.E. .04 .04 .04 .04 .04 .04 .04 .04 .04 .05 .05 .05 Q 34.3 69.5 103 119 124 138 163 234 325 348 396 416 -1.0 -0.8 -0.6 -0.4 -0.2 0.0 0.2 0.4 0.6 0.8 1.0 +----+----+----+----+----+----+----+----+----+----+ I 1 0.21 + IX+XXX 2 0.21 + IX+XXX 3 0.21 + IX+XXX 4 0.14 + IX+XX 5 0.08 + IXX 6 0.13 + IX+X 7 0.18 + IX+XX 8 0.30 + IX+XXXXX 9 0.34 + IX+XXXXXX 10 0.17 + IX+XX 11 0.24 + IX+XXXX 12 0.16 + IX+XX PARTIAL AUTOCORRELATIONS 1- 12 .21 .18 .14 .05 -.01 .07 .12 .24 .24 -.01 .08 .00 ST.E. .04 .04 .04 .04 .04 .04 .04 .04 .04 .04 .04 .04 -1.0 -0.8 -0.6 -0.4 -0.2 0.0 0.2 0.4 0.6 0.8 1.0 +----+----+----+----+----+----+----+----+----+----+ I 1 0.21 + IX+XXX 2 0.18 + IX+XX 3 0.14 + IX+XX 4 0.05 + IX+ 5 -0.01 + I + 6 0.07 + IXX 7 0.12 + IX+X 8 0.24 + IX+XXXX 9 0.24 + IX+XXXX 10 -0.01 + I + 11 0.08 + IXX 12 0.00 + I + -- stop <== Completed the analysis of Step A. (B) Use RATS to handle the volatility models (*** I used runrats program to create the command file for RATS program ***) gsbmba% runrats data file name: sp500.dat Number of columns in the data file: 1 Number of data points = 792 Specification of the mean equation: Use a constant term (1=yes): 1 Menu for the mean equation: 0 for no AR,; 1 for AR(1) model,; 2 for AR(2) model,; 3 for AR(3) model. Your choice: 3 Menu for volatility model choice: 1 for ARCH models; 2 for GARCH models; (* output edited *) 9 for Thr-GARCh-M models: Your choice of vol. model: 2 Menu for conditional distribution: 1 for Gaussian dist.; 2 for Student-t dist. Your choice of distribution: 1 Choice of GARCH model: 1 for GARCH(1,1); 2 for GARCH(2,1); 3 for GARCH(1,2): 1 The run-stream of RATS is in the file fort.22 Use RATS fort.22 to run the RATS program **** Run the RATS program **** gsbmba% rats fort.22 out.lis gsbmba% type out.lis UNIX RATS 4.30. Run on Apr 23 2002 (c) 1992-7 Thomas A. Doan. All rights reserved all 0 792:1 open data fort.24 data(org=obs) / rt set h = 0.01 nonlin p0 p1 p2 p3 $ a0 a1 b1 frml at = rt(t) - p0 - p1*rt{1} - p2*rt{2} - p3*rt{3} frml gvar = a0+a1*at(t-1)**2+b1*h(t-1) frml garchln = -0.5*log(h(t)=gvar(t))-0.5*at(t)**2/h(t) smpl 6 792 compute p0 =0.1, p1 =0.1, p2 =0.2, p3 = 0.1 compute a0 = 0.1, a1 = 0.1, a2 = 0.01, b1 = 0.8, b2 = 0.01 compute v = 10, g0 = 0.1,a3=0.1,a4=0.1,a5=0.1 maximize(method=bhhh,recursive,iterations=150) garchln Estimation by BHHH Iterations Taken 32 Usable Observations 787 Degrees of Freedom 780 Function Value 1981.12930419 Variable Coeff Std Error T-Stat Signif ******************************************************************************* 1. P0 0.007509449 0.001611945 4.65863 0.00000318 2. P1 0.033364047 0.039086350 0.85360 0.39332754 3. P2 -0.031449824 0.038786563 -0.81084 0.41745567 4. P3 -0.009369507 0.036007702 -0.26021 0.79470302 5. A0 0.000082616 0.000024761 3.33652 0.00084835 6. A1 0.126649071 0.021127449 5.99453 0.00000000 7. B1 0.849521969 0.019610576 43.31958 0.00000000 (** output edited **) Ljung-Box Q-Statistics Q(10) = 11.6097. Significance Level 0.31203005 Q(20) = 24.6898. Significance Level 0.21355642 * Descriptive statistics of standardized residuals * stats resid Statistics on Series RESID Observations 787 Sample Mean -0.0284462306 Variance 0.990749 Standard Error 0.9953639805 SE of Sample Mean 0.035481 t-Statistic -0.80173 Signif Level (Mean=0) 0.42294929 Skewness -0.39782 Signif Level (Sk=0) 0.00000543 Kurtosis 1.31187 Signif Level (Ku=0) 0.00000000 * Checking squared standardized residuals (** output edited **) Ljung-Box Q-Statistics Q(10) = 10.2574. Significance Level 0.41820793 Q(20) = 16.9490. Significance Level 0.65628495 *** Refine the model by simplifying the mean equation *** *** I used runrats again to prepare the new command file *** gsbmba% runrats data file name: sp500.dat Number of columns in the data file: 1 Number of data points = 792 Specification of the mean equation: Use a constant term (1=yes): 1 Menu for the mean equation: 0 for no AR,; 1 for AR(1) model,; 2 for AR(2) model,; 3 for AR(3) model. Your choice: 0 Menu for volatility model choice: 1 for ARCH models; 2 for GARCH models; (* output edited *) 9 for Thr-GARCh-M models: Your choice of vol. model: 2 Menu for conditional distribution: 1 for Gaussian dist.; 2 for Student-t dist. Your choice of distribution: 1 Choice of GARCH model: 1 for GARCH(1,1); 2 for GARCH(2,1); 3 for GARCH(1,2): 1 The run-stream of RATS is in the file fort.22 Use RATS fort.22 to run the RATS program gsbmba% rats fort.22 out1.lis gsbmba% type out1.lis UNIX RATS 4.30. Run on Apr 23 2002 (c) 1992-7 Thomas A. Doan. All rights reserved all 0 792:1 open data fort.24 data(org=obs) / rt set h = 0.01 nonlin p0 $ a0 a1 b1 frml at = rt(t) - p0 frml gvar = a0+a1*at(t-1)**2+b1*h(t-1) frml garchln = -0.5*log(h(t)=gvar(t))-0.5*at(t)**2/h(t) smpl 3 792 compute p0 =0.1, p1 =0.1, p2 =0.2, p3 = 0.1 compute a0 = 0.1, a1 = 0.1, a2 = 0.01, b1 = 0.8, b2 = 0.01 compute v = 10, g0 = 0.1,a3=0.1,a4=0.1,a5=0.1 maximize(method=bhhh,recursive,iterations=150) garchln Estimation by BHHH Iterations Taken 18 Usable Observations 790 Degrees of Freedom 786 Function Value 1988.64736534 Variable Coeff Std Error T-Stat Signif ******************************************************************************* 1. P0 0.0074480821 0.0015558208 4.78724 0.00000169 2. A0 0.0000864520 0.0000248544 3.47834 0.00050453 3. A1 0.1286308707 0.0208245274 6.17689 0.00000000 4. B1 0.8463488227 0.0190382936 44.45508 0.00000000 set fv = gvar(t) set resid = at(t)/sqrt(fv(t)) set residsq = resid(t)*resid(t) * Checking standardized residuals (** output edited **) Ljung-Box Q-Statistics Q(10) = 11.5452. Significance Level 0.31664905 Q(20) = 25.1571. Significance Level 0.19548712 * Descriptive statistics of standardized residuals * stats resid Statistics on Series RESID Observations 790 Sample Mean -0.0286064815 Variance 0.990620 Standard Error 0.9952989006 SE of Sample Mean 0.035411 t-Statistic -0.80784 Signif Level (Mean=0) 0.41942713 Skewness -0.42158 Signif Level (Sk=0) 0.00000138 Kurtosis 1.40297 Signif Level (Ku=0) 0.00000000 * Checking squared standardized residuals (** output edited **) Ljung-Box Q-Statistics Q(10) = 9.9989. Significance Level 0.44059237 Q(20) = 16.8304. Significance Level 0.66395608 * Last few observations needed for forecasts set shock = at(t) print 787 792 rt shock fv ENTRY RT SHOCK FV 787 0.044900000000 0.037451917920 0.0020872437231 788 0.019600000000 0.012151917920 0.0020334119036 789 -0.019100000000 -0.026548082080 0.0018264226164 790 0.011900000000 0.004451917920 0.0017229017937 791 -0.043900000000 -0.051348082080 0.0015471773533 792 0.111600000000 0.104151917920 0.0017350552092