GENHOL Purpose: To create file(s) of holiday-effect regressors for use with the X-12-ARIMA seasonal adjustment program. Separate regressors can be generated for the effect in intervals before and after holidays, as well as an intermediate effect around the holiday. More than one holiday can be specified, and the user can center these regressors using either their overall means or their calendar-month means (calendar- quarter means in the case of regressors for modeling quarterly data). X-12-ARIMA commands can be ouput that allow the user to easily use these regressors in a regARIMA model for an X-12-ARIMA run. For holidays whose dates are not available on the Internet site with this software, the user must supply a file of dates. Syntax: genhol infile where infile is a file that contains options for the holiday generating program. The general syntax of this file is similar to that of X-12-ARIMA's input specification file, see below: spec1{ argument = value } spec2{ argument = value } There are two types of "specs": a global spec (to specify global options) and holiday specs (to specify options for each of the holidays for which user defined regressors are to be generated). The global spec should appear first in the input file. Documentation for the arguments that can be specified in the global spec are given below. numhol = n Denotes the number of separate holidays to be specified by the user later in this file. The default is one. outfile = name Filename (with extension) where the final holiday regression variables will be stored This argument must be specified; there is no default. outspec = name Filename (with extension) where a regression spec will be stored that uses the user-defined regression variables generated by this program. If not specified, this file will not be generated. first = nnnn Denotes the first year that will be saved in the output file. The default is the first year common to all the data files specified by the file argument of subsequent holiday specs. last = nnnn Denotes the last year that will be saved in the output file. The default is the final year common to all the data files specified by the file argument of subsequent holiday specs. firstmean = nnnn Denotes the first year used in the calculation of the means of the holiday regressors. The default is the first year common to all the data files specified by the file argument of subsequent holiday specs. lastmean = nnnn Denotes the last year used in the calculation of the means of the holiday regressors. The default is the final year common to all the data files specified by the file argument of subsequent holiday specs. period = n Denotes the seasonal period assumed for the holiday regression variables being generated and stored. Only three values are allowed for this argument - period=12 (to generate regressors for monthly time series), period=6 (to generate regressors for bi- monthly series) and period=4 (to generate regressors for quarterly series). The default is 12. After the global spec, there should be as many holiday specs as specified in the numhol argument of the global spec. These specs should be numbered (ie, holiday1, holiday2, etc.). The arguments for the holiday specs are given below. name = string Name of the holiday. This name should not have any spaces (this name will be used in the regression spec generated by the program to distinguish between different holiday regressors). Default is the spec file name (holiday1, holiday2, etc.). infile = name Specifies the filename (with extension) where the holiday dates used to generate the holiday regressors are stored. Each date consists of a month, day, and four digit year separated by white space or tabs (example: 1 1 1990 for January 1, 1990), and each date should appear on its own line. This is a required entry. begbefore = n Denotes the position relative to the holiday of the beginning of the window used to generate the before holiday regressor. This value should be negative, and less than the value for the endbefore argument. The minimum value that can be specified is -42. endbefore = n Denotes the position relative to the holiday of the end of the window used to generate the before holiday regressor. This value should be negative. begafter = n Denotes the position relative to the holiday of the beginning of the window used to generate the after holiday regressor. Since this effect occurs after the holiday, the value should be non-negative. endafter = n Denotes the position relative to the holiday of the end of the window used to generate the after holiday regressor. This value should be positive, and greater than the value for the begafter argument. The maximum value that can be specified is 49. center = string Specifies the removal of the (sample) mean or the seasonal means from the user-defined regression variables. If center = mean, the mean of the user-defined holiday regressor is subtracted from the regressor. If center = calendar, means for each calendar month (or quarter) are subtracted from each of the user-defined holiday regressors. If this argument is not specified, the user-defined regressors are not modified. Note: This program creates holiday regressors using the same procedure as the X-12-ARIMA procedure to create regressors for the U. S. holidays of Easter, Labor Day, and Thanksgiving. For simplicity, only regressors for monthly data are discussed. The quarterly case is analogous. Before centering, each regressor is a proportionality regressor whose value in any month is the proportion of the days of the specified interval that belong to the month. For example, if the interval is 10 days long and, in a certain year, the first two days of the interval fall in January, then the value of the uncentered regressor is 2/10 in January and 8/10 in February that year. Its value in March-December is 0. Centering of the regressors is done to keep the yearly totals of the series obtained by removing the estimated holiday effects approximately equal to the yearly totals of the unadjusted data. If centering is not done, these two totals will differ by approximately the same amount each year, and user will conclude that combined seasonal and holiday adjustment is producing a biased estimate of the level of the observed series. (The bias is a crude estimate of what the data would be like if there were no holiday.) The type of holiday effect determines the type of centering. Centering by removing the calendar-month means is appropriate for holidays like Easter or the Chinese New Year whose regressors are always zero in some calendar months because the holiday can occur only in a few calendar months. The calendar-month-centered regressors will be zero in exactly the same months as the regressor, and no adjustment will be done to data from these months. Centering by removing the overall mean is attractive for holiday periods like Ramadan that move through all of the calender months over time. With mean centering, the centered regressor's adjustment for every month outside the specified interval in a given year always has the same value. To specify a regressor to estimate an effect before a holiday, the user must specify both the begbefore and endbefore arguments of the holiday spec. To specify a regressor to estimate an effect after a holiday, the user must specify both the begafter and endafter arguments. An interim regressor, using a window around a given holiday, will also be generated when the user specifies values for both the begafter and endbefore arguments. This effect will use a window that starts one position after the position given by endbefore and ends one position before the position given by begafter. There must be at least two observations in this window for the interim effect to be generated. If only the interim regressor is desired, the user should specify just the begafter and endbefore arguments. Example 1: This example will create a file containing user defined regressors for Chinese New Year and Idul Fitri, an Islamic holiday that marks the end of Ramadan. A sample input file (indhol.inp) is given below: global{ numhol = 2 outfile = "indhol.dat" outspec = "indhol.reg" } holiday1{ name = CNY begbefore = -10 endbefore = -1 begafter = 5 endafter = 14 infile = "cnyInd.dat" center = calendar } holiday2{ name = IdulFitri begbefore = -42 endbefore = -21 begafter = 1 endafter = 7 infile = "IFHolInd.dat" center = mean } To run this file, enter genhol indhol.inp This will generate six (6) holiday regressors and store them into the file indhol.dat - three Chinese New Year regressors (for before, after and intermediate holiday effects), and Idul Fitri regressors (for before, after and intermediate holiday effects). X-12-ARIMA commands to incorporate these regressors into a regARIMA model will also be stored into a file name indhol.reg. Disclaimer: This program was written with the Icon programming language, with special routines provided by the Icon program library. For more information on Icon, see "The Icon Programming Language, Third Edition" by Ralph E. Griswold and Madge T. Griswold, published by Peer-to-Peer Communications. The source code for this program is available upon request. Support: Contact Brian C. Monsell at any one of the following: Phone: 301-763-1721 (or 301-763-1649) FAX: 301-763-8863 email: brian.c.monsell@census.gov