Aaron Smith, "Partially Overlapping Time Series: A New Model for Volatility Dynamics in Commodity Futures", Journal of Applied Econometrics, Vol. 20, No. 3, 2005, pp. 405-422. There are two files in pots.zip. They are both ASCII files in DOS format. pots.src - GAUSS code for estimation of model corn.dat - space delimited ASCII file containing five columns of data; each row in the file corresponds to a particular futures contract on a particular day. variable 1: contract identifier (integer between 159 and 212 (excluding 207 and 209) that denotes the contract to which a particular price observation corresponds. variable 2: time to delivery in weekdays variable 3: date in YYYYMMDD format variable 4: futures settlement price variable 5: futures price change from previous day The data comprise 19,745 daily observations on corn futures contracts at the Chicago Board of Trade between Jan 1991 and Dec 2000. The source is Bridge/Commodity Research Bureau. pots.src program file contains documentation. Changes should only need to be made in the initial setup part of the program. The program can accommodate the following variations depending on chosen parameters: 1. gdim: 1 or 2 factors 2. connum: Arbitrary number of separate splines to capture seasonality (e.g., paper has 5 splines, one for each contract) 3. mix: In a 2-factor model, some contracts can be a mix of the two factors (e.g., Sept contract in paper) 4. knotnum & knot: Arbitrary number and placement of nodes in spline Except for during the final hill climbing component of the maximization algorithm (step 6 in paper), the parameter values and splines are global. This means that, once the user has a feel for the program, he/she can start and stop the algorithm by selecting and executing parts of the code. The following variables could be of interest for troubleshooting or if the user desires more output: 1. ga = vector of non-spline parameters 2. spline2 = vector of 2K free parameters of theta spline function 3. spline2u = vector of 2K free parameters of lambda spline function 4. est0 = parameter vector = ga|spline2|spline2u 5. epsilon = factor estimates from Kalman filter (one row for each unique date, t, in the sample) 6. ptt = factor precistion from Kalman filter (one row for each unique date, t, in the sample) 7. myh = GARCH conditional variance estimates (one row for each unique date, t, in the sample) 8. myspline = values of theta spline for each observation = xbig*wbig*spline2 (wbig expands 2k vector of free parameters up to full parameter vector) 9. mysplineu = values of lambda spline for each observation = xbigu*wbigu*spline2u (wbigu expands 2k vector of free parameters up to full parameter vector) 10. dspline_final = theta spline evaluated at designated times to delivery = x_out*wbig*spline2 (dspline_se is vector of associated standard errors) 11. dspline_finalu = lambda spline evaluated at designated times to delivery = x_outu*wbigu*spline2u (dspline_seu is vector of associated standard errors) 12 dspline_finalt = unconditional variance as a function of (d,t) = dspline_final^2 + dspline_finalu^2 (dspline_set is vector of associated standard errors) Approximate run time for 2-factor model in paper using 2.8 GHz Pentium 4 with 1 GB RAM is 180 minutes, including 121 EM iterations, and 249 optmum iterations. Approximate run time for 1-factor model in paper using 2.8 GHz Pentium 4 with 1 GB RAM is 70 minutes, including 141 EM iterations, and 56 optmum iterations. Run time shortens dramatically for smaller models, e.g., model with connum=1 (no seasonality), 1 factor, and only one knot point achieves the maximum less than 1 minute. In models with a large number of knots in the splines, the likelihood can be flat with respect to the spline parameters and the maximum can be elusive. One symptom of unsuccessful maximization is very large standard errors on the splines. It is worth repeating the estimation from several different starting values to ensure that a stable solution is found.