Dow Jones Index
Timing Solution Back Testing report
Any of the Back Tested solutions can by applied to any financial instrument with character/structure/movement similar to Back Tested instrument. For example, the Solution back tested for Dow Jones Industrial index can be applied to any security that is believed to be similar to Dow Jones Index (in other words, its changes coincide with DJ moves). The Solution will be adjusted to this chosen financial instrument, and the projection line generated by this Solution will provide the forecast for it.
We continue our study of models for Dow Jones
index. Earlier this year, we have discussed the model based on Japanese Candlestick
idea and
the results of its Back Testing. A new portion of Back Testing info is available
now, it has been done recently, within the last two months.
In this report, we discuss three analyzed models: spectrum, dynamic and
astronomical (FAM) models. Also, we describe in Ready Solutions ready to
use forecast techniques based on these models. Parameters to Vary will
give you some useful hints for Back Testing procedure. The last section of this
article, Back Testing
report, contains actual Back Testing reports for analyzed models, with many
tables. It was
not an easy thing to do as back testing is an extremely time consuming job:
several computers were working days and nights to get these results for you. We share here our
findings and describe the parameters that we think worth to play with. Using the
recommended values for these parameters and ready Solutions for these models, you will
be able to create in a
minute a projection line with best suited parameters though we have spent months to find and design
these solutions for you.
So, for Dow Jones Industrial index, we applied models of three different types. Let us look at each one of them.
The first one, Spectrum
model, is based on pure fixed cycles. We reveal these cycles through
the Spectrum module of the program. The Back Testing procedure for this model is concentrated
mostly on
finding the best parameters for this Spectrum. One of the GOOD news regarding
spectrum models is that the higher overtones are very important in
forecasting (see details *below*).
What do I mean? For example, let us say that we think that 5 days cycle is very
important for some financial data. There are two possible ways to reveal this
cycle: a) assuming that this 5 days cycle is a higher overtone of some
other, longer term, cycle (i.e., it might be the 24th overtone of 120 days cycle (5days x 24 = 120 days
cycle)). This is a sample of the cycle with "parents"; b) assuming
that this 5 days cycle is stand-alone, a
"single" cycle without any parents. In other words, we cannot find
long term cycles that "supervise" this short term
cycle.
From the point of view of mathematics, it is easier to deal with cycles that
have "good long term
parents". The reason is that it is very difficult to specify shorter term
cycles due to high frequency noise. Back Testing for this model shows that this parameter:

can be set to big value. As an example, see Back Testing results received by Ben Price
for Euro/USD. He has found that this model still provides a good projection
line for 32 overtones.
Another interesting finding is that the wavelet cycles do not improve
the forecast abilities of this model. It means that you may set it to
zero:

Best before: the prediction horizon of
spectrum based models is 25-50 price bars ahead. Because we analyze daily
data, this corresponds to forecast 1-2 months ahead.
Dynamic model.
This is another type of forecasting models. It is astronomy based (as the
third model FAM discussed below). We have improved the parameters for the dynamic model, so
our users get
the improved version of this model in the year 2006. It is definitely the best model,
and it is
the most reliable model. It took me one day only to optimize this model
(while it took me 2 months to do the same job for
Spectrum model, I have finished at the same moment when my wife told me to
turn off the computers for Christmas and New Year celebration). This
model deals with astronomical cycles, but it handles these cycles in a special
way. I can bet that the astronomy based model provides the better forecast
than any model based on fixed cycles; the dynamic model proves this fact.
Best before: this model still is able to
predict major tendencies for DJ for 1 year ahead, though its forecasting
ability for one month ahead is approximately two times better. Using the
analogy with technical analysis and fundamental analysis, this model is like
leading indicators of fundamental analysis.
FAM (floating angle model)
- astronomy based model. This is one more type of astronomy based
models. I would call it "phenomenological
model' - because it is extremely difficult to provide the correct Back Testing
procedure for this kind of models. The reason is the existence of "inverse" effect - sometimes the model shows upper turning
points instead of down ones, and vice versa. In any case, this model is helpful
in revealing
turning points. Thus, Timing Solution software provides just the algorithm
to create this
kind of models. The basic idea of FAM is that the stock market
has some kind of "memory", and this "memory" is
related to planets position and the angle configurations of the planets -
anything else is just math and only
math ...
These three types of models are a base for three Solutions
suggested by Timing
Solution program. To get the list of these Solutions, click on this button
.
Choose this Solution:

This Solution provides two projection lines: for Spectrum (red line) and Dynamic (blue line) models.
It took us almost a year to define the most
important/influential parameters in the process of creation of a reliable
projection line. Now all these parameters are present in Timing Solution
Styles.
Due to discussion of Spectrum and Astronomy based models and
their Back testing results in this report, we divide the parameters in question
on two groups: spectrum model parameters and astronomy based model parameters. When you run any
ready Solution, you can define yourself the style of this solution.
You will do it here:

Choosing a style, you set the most important parameters for the selected model. The actual values of these parameters have a great impact on the quality of the projection line. Definitely, you can adjust these parameters on your own. But, as I have already mentioned, it takes a lot of time especially if you would like to get solid statistically verified results. Any theory gives us the tips only. When we try to estimate true forecast abilities of any analyzed model, we have to make a lot of calculations which is not a simple task. To make the program being able to do that takes almost all my time now. The problem of finding the best parameters for any model is similar to finding a needle in a hay stack. Timing Solution is the only software that is able to solve this immense problem within a reasonable amount of time. There are still a lot of questions; however, now we are able to provide some useful solutions.
Let us discuss these parameters in detail. We begin with parameters for Spectrum based models:

There are two groups of parameters in this window: the first group belongs to the Spectrum module itself, these parameters describe the method of extracting fixed cycles. The second group combines parameters for Neural Net module that provides the projection line based on the cycles extracted through Spectrum module.
I would recommend to use Multiframe Spectrum algorithm:

Definitely, the cycles extracted through Multiframe Spectrum describe the stock market movements better. And I think this fact is
quite obvious: if you compare the effect of 7 days cycle (as in the example), it works
now in a different way than it has been working 20 years
ago; however, it has its impact on price in both cases.
One more benefit of using the Multiframe Spectrum is that it handles nonlinear effects in
the stock markets much better than the regular Spectrum, and this is very important. I
believe that any fixed
cycle has its own "life time"; this cycle impacts the stock market during
a certain period of time, then the cycle disappears or interacts with other cycles in a nonlinear manner.
This parameter
corresponds to the cycles "life time", I would call this parameter as stock
market memory (or, abbreviating, sm) in
respect to the fixed cycles. Thus we define how long the stock
market "remembers" and "recognizes" the certain cycle. This is
the parameter of extreme importance.
Other important parameters for Spectrum module are:

The amount of overtones shows how many overtones are used for each cycle extracted through Spectrum. For example, if we have found that 100 days cycle is important and decided to use 5 overtones, it means that we actually work with the following cycles: 100 days cycle, 50days cycle (2nd overtone), 30.333 days cycle (3rd overtone), 25 days and 20 days cycles (4th and 5th overtones accordingly).
Let's consider 11.7 years wave for monthly Dow Jones index. The pure 11.7 sinus wave looks:
If we would like to enrich this wave, we can take into account 12 overtones, and the wave will look like this:
Min overtone parameter allows us to exclude short term cycles. This parameter diminishes the short term noise.
So, these parameters are recommended to vary:
You can set all parameters for Spectrum module described above here:

Now let us look at the parameters for Neural Net module:
There are 5 different ways to train Neural Net:

We can train it using all price pars (before Learning Border Cursor (LBC), naturally). We can use certain amount of bars before LBC. Choice #3 provides an opportunity to apply Linear Distributed training when the "nearby" price bars (the bars that are closer to LBC) are used more often than distant price bars; thus we use the latest information regarding price movements more intensively. Choice #5, Multiframe training, applies different training intervals for different events (more price bars to train Neural Net for long term events).
It looks like, for Dow Jones Industrial Index, the best results are provided by the model that uses last 1000 price bars. It corresponds to 4 years of price history. In other words, it is of the similar length as Presidential cycle (at least, we can assume that this cycle works for Dow Jones index):
Some time ago I did the research as to finding the best training interval.
After that, I tried to apply different math methods to this problem. And it looks like
a real help in finding the best training
interval comes from "Chaos Theory". In the latest version of Timing
Solution, there is a new button:
.
Clicking on it, you will get the following window. First of all, you will see the diagram, so called R/S
analysis:

The maximum of the yellow curve (so called V Statistic) indicates the presence of a special kind of a cycle in Dow Jones index. This cycle is not a regular one provided by the sinus wave. It is not a periodical but a stochastic cycle. Its maximum corresponds to 4-5 years period, so I would recommend to use this value as the length of the training interval. More information regarding this issue is provided in this book: Fractal Market Analysis, Edgar E. Peters, John Wiley&Sons, Inc.
As an example, look at this R/S diagram for Euro/USD pair:

It seems that this pair has the 500d-2 years stochastic cycle. This fact has been provided by one of Timing Solution users who has obtained this result using Back Testing module of the program.
We did some research on the structure of the Neural Net itself, at least regarding the amount of Hidden Units (neurons). It looks like this parameter does not have a strong impact on the quality of the projection line (this research has been conducted for Spectrum model only). Here are the results of training the same Neural Net but with the different amounts of hidden units:
| Amount of hidden neurons | 5 | 10 | 20 | 30 |
| Statistics | +0,095
+41/-30 |
+0.117
+44/-27 |
+0.081
+41/-30 |
+0.055
+38/-31 |
Definitely, the results are changing but not drastically. Thus, I use in the continued research 5 hidden units because such Neural Net takes significantly less time for its training.
Statistical results are shown in this format:
The record
means the following: we have trained this Neural Net 71 times using different Learning Border
Cursors. 41 times the projection line created by this Neural Net has
shown the positive
correlation to real price movement, while 30 times the correlation has
been negative (we analyzed 25 price bars after LBC). The average correlation for
71 projection lines is +0.095.
You can find the astronomy based parameters to play with here, in this window:

Let's consider how the program finds the most important
astronomical cycle. As an example, let us take the Sun cycle (the annual cycle). First
of all, the program creates the projection line based on the Sun's position. To
calculate this projection line, we use 6 Sun cycles, or 6 years of price
history:
. This
parameter has exactly the same meaning as the stock market memory in Spectrum
module. The amount of overtones and min. overtone have the same meaning as in
Spectrum as well.
Next step is to verify the projection line. The program does it
itself - it analyses how well the
projection line based on the Sun position is able to forecast the stock market.
The program creates the projection line for some cycles ahead. You define the
number of these cycles here:
ahead.
In other words, if you choose "1.2". the program creates the forecast
for 1.2 years ahead and calculates
the correlation between the actual price and the projection line. The program performs
this procedure as many times as you set up here:
.
This number may start with "1" - it means that only one interval is
used for verification, and it is important to know that this interval is NOT the
same as the training interval - to avoid information leaks. You may use as many
INDEPENDENT intervals as you like; and always the program will calculate the
correlation on the intervals that do not coincide or interfere with the training
interval.
Astronomical cycles as opposed to Spectrum extracted cycles
(based on some periodicity that can be expressed as a formula) reflect the
actual planetary movements. We consider an astronomical cycle as an important
one if the
projection line based on this cycle provides the good fitness to the real price
movement. We use this parameter
to evaluate the fitness of this projection line. If the correlation calculated
on verified interval/intervals is higher than the critical value we consider this
astronomical cycle as important.
The FAM Model parameters define the orbs for astronomical cycles. The lesser the orb, the more details this model is able to "see", though the level of noise for this model is higher.
Astronomical cycles can serve as inputs for Neural Net, to create a projection line based on these selected astronomical cycles. The Neural Net parameters in this module have the same meaning as in Spectrum module.
Whatever module of the program you prefer to use to create a projection line, you will need to do Back Testing for it. There are some parameters in the Back Testing that are useful practically for any type of the model.
One important parameter (and it took me a lot of time to research it) is the way how the program chooses Learning Border Cursor while collecting the statistical information. There are 3 possibilities here:
1) Shift the LBC constantly, for the same interval.
In this example, we constantly shift LBC for 114 price bars ahead.
And we do it 50 times.
2) So called "normalized" LBC:

As LBC, we use “equilibrium points” – points where the
oscillator crosses zero:

3) Set LBC in a random way:

But I still do not know what
algorithm of setting LBC is more suitable for different data and different
models.
Daily data for Dow Jones Index from 1934 to 2005 years have been analyzed. Initial position of LBC is July 2, 1980. It means that we have 25 years of data to verify our Neural Network results.
In all examples, I tried to create the model that predicts Relative Price Oscillator (1,25,25):

The goal was to make the forecast 25 price bars ahead for all models (for daily data it corresponds to one month ahead approximately):

The training interval for Neural Net is 1000 price bars (approximately 4 years of price history):

I used "Constant Shift" and "Normalized (Zero Point)" LBC.
For Spectrum model, our goal is to find optimal values for three parameters: 1) stock market memory; 2) amount of overtones; and 3) minimal overtone:
These are the tables of results:
Stock Market Memory=3 (
) ,
hidden=5, training interval=1000 bars, forecast horizon=25 bars
Constant Shift LBC
| 4 overtones | 6 overtones | 10 overtones | 12 overtones | 15 overtones | 18 overtones | 24 overtones | |
| min cycle= 5 ticks | +40/-30 +0.096 |
+48/-22 +0.143 |
+44/-26 +0.154 |
+48/-22 +0.167 |
+50/-20 +0.218 |
+46/-24
+0.169 |
+50/-20
+0.188 |
| min cycle= 7 ticks | +40/-30 +0.104 |
+47/-23 +0.151 |
+45/-23 +0.168 |
+50/-20 +0.198 |
+50/-20 +0.222 |
+42/-24
+0.154 |
+43/-27
+0.149 |
| min cycle= 9 ticks | +37/-33 +0.073 |
+44/-26 +0.163 |
+47/-23 +0.175 |
+46/-24 +0.171 |
+39/-11 +0.217 |
+24/-12
+0.175 |
+49/-21
+0.191 |
Normalized (Zero Point) LBC:
| 4 overtones | 6 overtones | 10 overtones | 12 overtones | 15 overtones | |
| min cycle= 5 ticks | +28/-23
+0.056 |
+27/-29
+0.008 |
+19/-32
-0.114 |
+22/-29
+0.042 |
+29/-22
+0.022 |
| min cycle= 7 ticks | +30/-21
+0.090 |
+29/-22
+0.077 |
+26/-25
+0.027 |
+28/-23
+0.036 |
+22/-24
+0.015 |
| min cycle= 9 ticks | +25/-11
+0.061 |
+30/-21
+0.017 |
+30/-21
+0.135 |
+30/-21
+0.065 |
+22/-19
+0.037 |
So we can select this model: Stock Market Memory=3, amount of overtones=10, min cycle =10. This model is confirmed by both schemes of Back Testing - with constant shift and normalized LBC.
Here the record
| +47/-23 +0.175 |
means that we created the spectrum model for 70 different Learning Border Cursors. 47 times the correlation between the projection line and real price was positive (the correlation coefficient calculated for 25 price bars after LBC), while 23 times it was negative. The average correlation is 0.175.
Stock Market Memory=6,
hidden=5, training interval=1000 bars, forecast horizon=25 bars
Constant Shift LBC
| 4 overtones | 6 overtones | 10 overtones | 12 overtones | 15 overtones | 18 overtones | 24 overtones | |
| min cycle= 5 ticks | +40/-30 +0.106 |
+36/-30 +0.061 |
+40/-30 +0.095 |
+44/-26 +0.180 |
+43/-27 +0.183 |
+48/-22
+0.237 |
+41/-29
+0.147 |
| min cycle= 7 ticks | +37/-33 +0.104 |
+40/-30 +0.092 |
+32/-35 +0.088 |
+40/-30 +0.161 |
+40/-30 +0.215 |
+48/-22
+0.216 |
+47/-23
+0.199 |
| min cycle= 9 ticks | +40/-30 +0.098 |
+36/-34 +0.092 |
+40/-30 +0.147 |
+47/-23 +0.198 |
+45/-25 +0.175 |
+46/-24
+0.208 |
+41/-29
+0.163 |
Normalized (Zero Point) LBC:
| 4 overtones | 6 overtones | 10 overtones | 12 overtones | 15 overtones | |
| min cycle= 5 ticks | +30/-21
+0.037 |
+30/-21
+0.052 |
+37/-14
+0.158 |
+24/-27
-0.004 |
+29/-22
+0.039 |
| min cycle= 7 ticks | +27/-24
+0.058 |
+33/-18
+0.099 |
+27/-24
+0.073 |
+18/-10
+0.111 |
+10/-11
-0.021 |
| min cycle= 9 ticks | +31/-20
+0.078 |
+23/-28
-0.038 |
+30/-21
+0.073 |
+31/-20
+0.092 |
+32/-19
+0.111 |
Stock Market Memory=9,
hidden=5, training interval=1000 bars, forecast horizon=25 bars
Constant Shift LBC
| 4 overtones | 6 overtones | 10 overtones | 12 overtones | 15 overtones | 18 overtones | 24 overtones | |
| min cycle= 5 ticks | +38/-32 +0.068 |
+43/-27 +0.112 |
+42/-28 +0.131 |
+49/-21 +0.184 |
+46/-24 +0.178 |
+42/-28
+0.133 |
+49/-21
+0.194 |
| min cycle= 7 ticks | +40/-30 +0.060 |
+39/-31 +0.101 |
+47/-19 +0.174 |
+46/-24 +0.168 |
+42/-28 +0.108 |
+46/-24
+0.201 |
+43/-27
+0.164 |
| min cycle= 9 ticks | +41/-29 +0.077 |
+40/-30 +0.109 |
+46/-24 +0.160 |
+42/-28 +0.166 |
+26/-19 +0.158 |
+48/-22
+0.177 |
+45/-25
+0.162 |
Normalized (Zero Point) LBC:
| 4 overtones | 6 overtones | 10 overtones | 12 overtones | 15 overtones | |
| min cycle= 5 ticks | +18/-33
-0.14 |
+30/-21
+0.096 |
+37/-34
+0.017 |
+36/-35
+0.039 |
+20/-31
-0.038 |
| min cycle= 7 ticks | +20/-31
-0.113 |
+27/-29
-0.007 |
+35/-36
-0.039 |
+30/-16
+0.112 |
+29/-22
+0.09 |
| min cycle= 9 ticks | +27/-24
+0.024 |
+15/-13
-0.007 |
+17/-18
-0.024 |
+39/-32
+0.095 |
+16/-11
+0.064 |
Stock Market Memory=12,
hidden=5, training interval=1000 bars, forecast horizon=25 bars
Constant Shift LBC
| 4 overtones | 6 overtones | 10 overtones | 12 overtones | 15 overtones | 18 overtones | 24 overtones | |
| min cycle= 5 ticks | +39/-31 +0.092 |
+41/-24 +0.122 |
+42/-28 +0.112 |
+40/-30 +0.124 |
+45/-25 +0.141 |
+43/-27
+0.126 |
+42/-28
+0.176 |
| min cycle= 7 ticks | +41/-29 +0.074 |
+43/-27 +0.160 |
+43/-26 +0.112 |
+47/-23 +0.162 |
+48/-22 +0.203 |
+46/-24
+0.128 |
+35/-19
+0.212 |
| min cycle= 9 ticks | +37/-33 +0.041 |
+47/-23 +0.168 |
+41/-29 +0.098 |
+29/-24 +0.135 |
+42/-28 +0.139 |
+21/-13
+0.160 |
+45/-25
+0.140 |
Normalized (Zero Point) LBC:
| 4 overtones | 6 overtones | 10 overtones | 12 overtones | 15 overtones | 18 overtones | |
| min cycle= 5 ticks | +26/-25
+0.048 |
+18/-33
-0.088 |
+25/-26
+0.034 |
+20/-31
-0.073 |
+34/-17
+0.140 |
+31/-20
+0.138 |
| min cycle= 7 ticks | +28/-23
+0.017 |
+30/-21
+0.08 |
+23/-28
-0.007 |
+28/-23
+0.002 |
+32/-19
+0.122 |
+28/-23
+0.064 |
| min cycle= 9 ticks | +33/-18
+0.054 |
+27/-24
+0.002 |
+29/-22
+0.044 |
+27/-24
+0.030 |
+32/-19
+0.113 |
+33/-18
+0.111 |
Analyzing these tables, we can say that the best values for the stock market memory is 12, amount of overtones=15, min cycle=7.
This combination corresponds to this setting in Timing Solution Styles:

It looks like the higher value of stock market memory makes the higher overtones more active.
In the year 2006, we provide the improved Dynamic model.
First of all this model is oriented to predict longer cycles, so I would recommend to use longer term oscillator as the output for Neural Net:

Here is a table of results for different length of training interval and different forecasting horizons:
| Training interval=700 bars
~3 years |
Training interval=1000 bars
~4 years |
Training interval=2000 bars
~8 years |
Training interval=5000 bars
~20 years |
|
| Forecast Horizon 25 bars
~1 month |
+61/-39
+0.136 |
+56/-44
0.104 |
+52/-48
0.019 |
+67/-33
0.200 |
| Forecast Horizon 50 bars
~2 months |
+59/-41
+0.134 |
+57/-43
+0.144 |
+53/-47
+0.028 |
+63/-37
0.145 |
| Forecast Horizon 100 bars
~5 months |
+61/-39
+0.134 |
+62/-38
+0.150 |
+52/-48
+0.072 |
+53/-47
+0.050 |
| Forecast Horizon 250 bars
~1 year |
+62/-38
+0.097 |
+67/-33
+0.156 |
+62/-38
+0.108 |
+48/-52
-0.033 |
Thus, to make a forecast for one month ahead, I would recommend to use the training interval 5000 price bars (20 years) if this price history is available for analyzed data:

otherwise use 700 price bars:

For long term forecast, the best projection line is provided by 1000 price bars training interval, pretty close to Presidential Cycle.
It is very interesting that for long term forecast the bigger training interval does not improve the forecasting abilities of our model; it might be a kind of negative stock market memory. But this parameter is very important for short term forecast. In other words, the long term price history affects the price forecast for one month ahead and almost has no effect on the price forecast for one year ahead - this is a paradox! To forecast one month, we need to know 20 years history, while to forecast one year, it is enough to know only 4 years of price history.
How to create Astronomical Model (phenomenological scheme)
The biggest problem with the models based on astronomical cycles is inversions. Usually the inversions look like this:

There is one more problem related to inversions - skipped turning points; this is the mathematical result of the inversion effect. Right now, we do not provide an adequate Back Testing procedure due to these problems. So we have to show you how this FAM (floating angle model) is created.
Similar to the Dynamic model, FAM deals with astronomical cycles, but it handles these cycles in a different manner.
The process consists of two stages: 1) reveal the most important astronomical cycles; 2) create the Neural Net model based on these cycles.
Let's do these steps together:
Step #1: revealing astronomical cycles
Run the composite module:
.
Set this in "Options":

You will get the diagram similar to the shown below that reflects the impact of different planetary pairs on price movement:

This is the composite for Sun cycle, that is equal to annual cycle. To calculate this composite, we use ALL available price points before LBC (setting in "Options"). The three thin lines (red, blue and black ones) represent the composite diagrams calculated on three independent intervals (before LBC, definitely). If these three diagrams show similar movements, we can assume that this astronomical cycle is important. Clicking "+" button, we put this cycle into "Cycle Box".
We need to check all possible planetary pairs:

Three composite diagrams should be similar, but the "inversion" effect is allowed, like black diagram in this graph:

This is the main reason why this model is "phenomenological".
For Dow Jones Industrial index, I have found 9 important astronomical cycles. Here they are:

I do not recommend to use too many cycles - only the most important ones. Usually dozen or less planetary cycles is enough. The particular financial instrument is usually ruled by several planetary cycles. If you use about several dozens of cycles, you will get too much "noise", and it will be extremely hard to separate true market moves from this noise.
Now clicking on this button:

we put these cycles into "events clipboard". Here you can play with
value of the orb: ![]()
Step #2 creating Neural Net model:
Run Neural Net module. You can use these events (these astronomical events presented in FAM style) as inputs for Neural Net:

Let us make the forecast for the oscillator with the period=75 price bars:

Now we are ready to make the forecast for this model. This model provides a rather good projection line, but we should be ready to face with inversions effect:

November - December 2005
Edited January 2, 2006
Sergey Tarasov
Toronto, Canada