home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / CPM / MISC / FINANCE / INVEST.LBR / GAF.DZC / GAF.DOC
Text File  |  2000-06-30  |  7KB  |  131 lines

  1.  
  2.  
  3.         A Program for Generalized Adaptive Filtering
  4.  C Copyright 1984, American Association of Individual Investors
  5.  
  6. Several months ago, a reader asked if we could provide a program
  7. listing for, "generalized adaptive filtering (GAF)." (What in the
  8. world, you may ask, is, GAF?... Well read on.) It took us awhile to
  9. find a reference that had enough information from which to
  10. develop a sample program listing, and in the meantime I've
  11. misplaced the letter. But, for that reader, and, hopefully, for
  12. many others, here's the program.
  13.  
  14. Students of securities markets would like to be able to make
  15. predictions about future market prices, and there are numerous
  16. techniques, statistical and otherwise, for doing just that. GAF
  17. is one such technique; it's based on a method of optimization
  18. borrowed from control theory, which, in turn, is a branch of
  19. electrical engineering. The optimization employs what is called a
  20. "steepest descent algorithm" in order to generate an equation that
  21. makes a prediction of what future prices, or, for that matter, any
  22. future event which can be expressed as a numerical quantity.
  23. Using GAF we could just as well, for example, forecast interest
  24. rates or the expected inflation rate.
  25.  
  26. GAF is one of a class of forecasting techniques that fall into a
  27. category called time-series analysis. Times-series forecasts
  28. use data from past observations of the time-series under
  29. consideration to make a forecast of future values of the
  30. time-series. Interest rates, stock market prices and the money
  31. supply are all candidates for forecasting by time-series methods.
  32. Moving averages and exponential smoothing are techniques often
  33. used by securities market technical analysts. Under many
  34. circumstances GAF should, in theory, provide a better forecast.
  35.  
  36. In order to understand how GAF works, lets look at how a
  37. statistician or economist would view the problem of making a
  38. forecast. First, take the case of a set of numbers:
  39. 1,2,3,4,5,6,7,..? Based on past evidence, what is the next number
  40. likely to be? (Eight, you say. Good, you've passed the course.)
  41. If we have a completely determinate set of numbers, then we could
  42. forecast the next number. If our forecasting program is any good,
  43. it would also have come up with the number "eight." However, in
  44. the real world of investments, and other economic events, such as
  45. future interest rates, there's no necessity that the next number
  46. has to be "eight."
  47.  
  48. If a series of numbers, or economic events, was completely
  49. random, then we would like to make a forecast that was closest to
  50. the actual number that occurs when the event actually happens. In
  51. the case of a completely random set of events, or numbers, it
  52. turns out that the "best" forecast, the one that minimizes error,
  53. is the value of the last known data point in the time-series.
  54.  
  55. Economists and statisticians are in general agreement that there
  56. is a high degree of randomness in economic data. So researchers
  57. develop methods that will make forecasts that are as accurate as
  58. possible after taking into consideration the randomness of the
  59. data. GAF is one such method; as we previously stated it uses
  60. only the time series of the past data to make a prediction. The
  61. method searches for a forecasting equation by making a trial
  62. forecast equation from past data, measuring the error, then
  63. making a new trial forecast. This process proceeds until it is no
  64. longer possible to significantly reduce the error remaining after
  65. the forecast is compared with the actual data. The resulting
  66. forecasting equation is then used to make prediction of future
  67. values. For the investor, forecasts are most likely to be made
  68. for market prices.
  69.  
  70. GAF represents a relatively recent development in the forecasters
  71. toolkit. Since the computer does the searching for the forecast
  72. equation by successive approximation, there is no necessity to
  73. impose an explicit functional form, such as with exponential
  74. smoothing. The general form of the forecasting equation is:
  75.  
  76. X(t) = a(t-1)X(t-1) + a(t-2)X(t-2) +....+ a(t-n)X(t-n)
  77.  
  78. Given the general form, a GAF equation can have several lagged
  79. time periods and coefficients in the forecasting equation.
  80. Although, in practice usually one or two periods are specified.
  81. In some cases the program may not converge, i.e., settle down to
  82. an equation with minimum error. If this is the case, you might try
  83. taking the first differences of the original data and then using
  84. the last value of the time series plus the difference forecast by
  85. the program for a forecast one period ahead.
  86.  
  87. (GAF falls into a category of time series processes called
  88. auto-regression, which means that the time series is regressed
  89. (fitted) onto itself. The number of lagged periods being used is
  90. called the "order" of the process. The determination of the order
  91. of the process is called "model identification." Model
  92. identification is too complex a subject to be covered here. For a
  93. detailed discussion of model identification, as well as a detailed
  94. discussion of GAF, the reader is referred to: Forecasting Methods
  95. and Applications by Makridakis and Wheelwright, published by John
  96. Wiley, 1978.)
  97.  
  98. The program is written in a subset of Microsoft BASIC, and should
  99. run on a wide variety of computers with little or no
  100. modification. When you first run the program, you are asked to
  101. input your data, which may have up to 150 observations. Type in
  102. "X" if you wish to re-enter a data point and "F" when you are
  103. finished entering your data. (As written, the program will not
  104. work with lower case letters.) Next, you are asked for the number
  105. of parameters, which is the order of the time series or number of
  106. lagged data values to include in the estimation process. As
  107. written, the program makes a forecast for six time periods ahead.
  108. The forecast period can be changed by changing the value assigned
  109. to "M" in statement 610 of the program.
  110.  
  111. Although it may seem so, there is no magic in the forecasts
  112. generated by this program. If the data are highly random, as is
  113. likely to be the case with securities market data, the forecast
  114. value and the actual outcome will most likely be considerably
  115. different. (However, the forecast should, in theory, be better
  116. than with many other techniques.) Also, the accuracy of the
  117. forecast can be expected to deteriorate rapidly as the number of
  118. time periods being forecast increases.
  119.  
  120. A good method of testing the forecasts generated by this program
  121. is to initially use fewer than the total number of data points
  122. that you have collected to generate a forecast. Then make a
  123. comparison of the actual data and the forecasts. In this way the
  124. accuracy of the forecast can be measured and compared with
  125. forecasts generated by alternative methods.
  126.  
  127. As the program runs, it will go through cycles of successive
  128. approximations (iterations). The number of cycles has been set to
  129. 100, although this can be changed. At present, the program is
  130. really "barebones." We would like to hear about any additions
  131. that our readers make to the program.