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. 

Summary

    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.

  1. 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.

  2. 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.

  3. 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 ...    

 

Ready Solutions

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.

 

Parameters to Vary

    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. 

Spectrum Parameters

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.

 

Astro Parameters

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. 

 

 

General Back Testing Parameters

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. The experiments show that the Normalized LBC is much more strict for real Back Testing, usually the results provided by Normalized LBC reveal not much information.  It is obvious because predicting the price movements is much more difficult in “equilibrium points”, as any "trend following inertia" is diminishing here. So for real Back Testing I would like to recommend "Constant Shift" or "Random" algorithm. It is better to use the "Normalized" algorithm at the final stage to confirm our results; the small positive correlation is enough  to confirm that our model has some difficulties in forecasting. 

 

Back Testing report

 

Spectrum Model

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. 

 

Dynamic Model

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