Jeff Racine, "Feasible Cross-Validatory Model Selection for General Stationary Processes", Journal of Applied Econometrics, Vol. 12, No. 2, 1997, pp. 169-181. Everything is zipped in the file racine.zip. Unzip it (using the -rp option if you use pkunzip) to create several directories. Do not replace this readme.jr file; an earlier version is in the zip file. Source code written in ANSI C can be found in the source directory along with a makefile for gcc and a makefile for Microsoft Visual C++. Instructions for using the program can be found at the top of the file feas_cv.c in the source directory, and are reproduced below. Binaries can be compiled for any system for which you have an ANSI C compiler. Binaries for Windows NT or 95 are included in the binaries directory. To run the demo under unix, compile the binaries and copy them into a directory along with the data files in the example directory, then enter the name of the compiled binaries, feas_cv and standard. For an example which can be run under Windows NT or 95, go to the example directory and run the file test.cmd. /* Instructions for use: Program for the computationally efficient h-block cross-validation algorithm by J. Racine, (C) 1996. This code is not optimized for speed. It simply demonstrates how an O(T^2) algorithm can be converted into an O(T) one. If you wanted to implement this for commercial real-time applications, the matrix routines and implementation could be tweaked a fair bit (e.g. taking advantage of symmetric nature of various matrices etc.) This code uses modified versions of the matrix routines coded by Patrick Ko Shu Pui from `Mathematical Methods in the Physical Sciences', John Wiley and Sons, 2nd Ed., 1983, Chap 3. I am indebted to him for his code. INSTRUCTIONS FOR USE: COMPILING - the code is written in ANSI C. This code has been compiled using gcc 2.7.2, MS C++ for NT 4.0, and SUNOS's cc. Makefiles are included for gcc and MSVC C++. To enable debugging, define DEBUG in the makefile. To enable timing with the system clock (seconds), enable SECS_TIME in the makefile, while for milliseconds using gcc, enable MILLI_TIME DATA FILES - this file expects a disk file named data.dat which contains k+1 columns, the first being the dependent variable Y and the next K being the matrix of regressors, X. The file is expected to be Tx(K+1), that is, T observations (T lines long) by K+1 columns. AUXILIARY FILES - num_reg.dat - one line containing the number of regressors, K. num_obs.dat - one line containing the number of observations, T. h_block.dat - one line containing h - the size of the removed data set will be 2h+1. */ Jeff Racine. August, 1996. racine@groucho.bsn.usf.edu