Thanks for the compliments. I feel that since the cycle periods do slowly vary, but are fairly consistent and we really don’t (and probably can’t) accurately predict the composite price into the future a way to get an a good idea of when a nest of cycles will occur is using statistics. So that’s where the statistical summary arises. I look for a “future cycle trough zone” using an average cyle and standard deviation with a 95% confidence interval (about 1.645x the s.d.) to define the width of the expected trough zone.
That’'s why I started those summaries. It seemed an obvious way to me to take advantage of the pseudo-normal filter lengths.
I agree Fourier is somewhat unreliable. I’m not even sure how much to trust the Lanczos method either. Currently I only have it programmed into VB/OpenOffice. I think I’ll try to create an Octave version as Dion has done to test how it compares to the built in versions. Zero padding seems to create certain artifacts in the FFT method built into Octave/Matlab similar to the ringing effect in bandpass filters outside of the cutoff range. What do you typically use for your Fourier length? I’ve been using anywhere from 4096 to 8000 data points.
In terms of calendar vs trading days. I’ve found that adjusting for the effect of the difference between the two is fairly effective using scale factors. For instance there’s approximately 4.8155 trading days per calendar week on average. This is a about 0.69 times a calendar period so it works out to something like this in terms of Hurst’s nominal model…
% Frame 18y 9y 4.5y 80w 40w 20w 10w 5w 20d 10d 5d % Monthly 215.10 107.55 53.78 17.93 8.96 4.48 2.24 1.12 0.54 0.28 0.14 % Weekly 935.31 467.66 233.83 77.94 38.97 19.49 9.74 4.87 2.36 1.23 0.62 % Daily 6547.2 3273.60 1636.80 545.60 272.80 136.40 68.20 34.10 16.50 8.60 4.31 % Trd Day 4504.01 2252.00 1126.00 375.33 187.67 93.83 46.92 23.46 11.35 5.92 2.96
This seems to work out well, although if you are using timeframes shorter than 5 weeks or so I think the error could be significant.
Curious how you use the Fourier analysis to determine your filter cutoffs. My thoughts were use the troughs in the Fourier to create a bandpass filter to pick up the cycle between them. It doesn’t seem to work so well all the time and the “right” troughs are not always obvious. I also am unsure how to select the “dominant” wave.
Good discussion. Thanks.