Fig. 1: Sinusoidal wave with wavelength 100 units, amplitude 10. |
Actually, the equation used here (and for subsequent figures) was negative cosine, rather than sine, because I wanted the cycle to be at a bottom at timestamp 0. This cycle behaves as any such sinusoidal wave should: it bottoms at 0, 100, 200, 300 etc. at a value of -10, reaches its top at 50, 150, 250, 350, etc. at a value of +10, and passes through zero at 25, 75, 125, 175, etc.
Now let's suppose I add a 50-year cycle, with the same amplitude and with its phase set so that its bottom is also at timestamp 0:
Fig. 2: 50-unit and 100-unit cycles combined |
Now, for fun and to illustrate how tricky cycles can become even when there are just a handful, I combine cycles of 100, 64, 36, 16, and 9 units. They are all of the same amplitude (10) and are all in phase at time unit 0.
Fig. 3: Several cycles, all in phase, all same amplitude. |
But would you have been able to figure those cycles out if I hadn't already told you what they were, and if so, how long would it have taken?
Now let's make things more complicated by putting the cycles out of phase at timestamp 0.
Fig. 4: Like figure 3, but cycles out of phase. |
In this instance I have helpfully included the magnitude of the phase shifts. Notice how the graph has changed compared to Figure 3 - there's no true "triple top" anymore. Now, what happens if I mess with the cycles' amplitudes, and add a secular "bullish" linear trend y=0.25*t, where t is the timestamp?
Fig. 5: As graph title implies. |
Now, to further complicate things, let's add some noise. Using Random.org, I generate for each time stamp a uniformly distributed random number between -15 and +15, and add it to the cycles. I do this with four different sets of random numbers, which you can consider to refer to different market indices. These random numbers are supposed to represent smaller variations in the market. Take their cause how you will - smaller-scale cycles, earnings reports, fundamentals, the psychology of the collective investors, the whims of central bankers, etc.
Fig. 6: As graph titles imply. |
Obviously, you'd need to use a smoothing algorithm to determine the time cycles from this; the questions, of course, are (1) would you get the right period for the cycles? (2) would you be able to tell which are of the greatest magnitude? (3) would your smoothing algorithm catch cycles that aren't there (or ignore cycles that are)? And it might create more problems if the "noise" is patterned (e.g. Elliott waves) rather than purely random.
Now take into account that I have:
- assumed that the cycles are all sinusoidal in nature
- assumed that the amplitude, phase, and wavelength of each separate cycle are all constant