Autocorrelation Periodogram from John Ehlers's book
Convolution Indicator. Red plumes mean downtrend, green plumes mean uptrend. I found it easier to code when color interpolates between red and green using hsl. In Ehlers' book the background is black.
Fisher Transform of Normalized Prices
Fisher = 0.5*(Log((1+V)/(1-V))+Fisher),
Trigger = Fisher, where
V = (2/3)*((Price-MinPr)/(MaxPr-MinPr)-0.5+V),
MinPr, MaxPr - minimum and maximum prices at range from (i-Lenght+1) to (i),
Nice! Hey, I find you have to click on the "common" tab and adjust the fixed minimum and maximum values to avoid it looking like a straight line. This is I think due to the initial smoothing where values can be a bit weird. Can the first 100 calculations be somehow deleted from the display?
Edit - adjust min to be -4, max +4, and it is generally fine. I would also recommend increasing the length from the default 10 to maybe 26. Accords well with the normal probability distribution characteristics, which is what the Fisher transform is all about. I shall return to this after a little thought.
Here is a version which does not have that scaling problem : ftnp_1.01.mq4
Different methods for calculating dominant cycle periods
meanwhile I am a bit confused with the advantages/disadvantages of the different methods to determine the dominant cycle period. In addition it is not clear yet whether the different methods are all determining the same DC period. We have meanwhile at least
- Hilbert Transformation (that seems to be the first algo)
- Center of Gravity algo (from Skinning the Cat)
- Discrete Fourier Transformation approach (from Ehlers book "Cycle Analytics for Traders")
- Overlapping Band Pass Filter Approach (from Ehlers book "Cycle Analytics for Traders")
- Autocorrelation Periodogram approach (from Ehlers book "Cycle Analytics for Traders" - is Ehlers' favorite right now)
Ehlers claims the autocorrelation periodogram is the superior approach because the measurement has less latency, has a wider range of amplitude swings, does not require historical averaging, and does not require Spectrum Dilation compensation.
So what is your opinion what method is the best/correct one ?
Maybe it is a good idea to program the different methods within one DC period indicator to see the differences.
I have to revise my posting. We have to differentiate between spectrum analysis methods and dominant cycle (DC)determination.
DC methods are so far only
- Center of Gravity algo; this one is used by Ehlers to extract DC from a pre-determined spectrum
- Any more ? e.g. there are existing various spectrum peak selection algos
As spectrum determination methods we have:
- Autocorrelation Periodogram approach (from Ehlers book "Cycle Analytics for Traders")
- MESA method; a first implemtation of spectrum was made by richcap's mesavsgdft.pdfR-MESA-Instant_Spectrum v.1.2together with the R-MESA library . At least in his latest book "Cycle Analytics for Traders" Ehlers didn't consider MESA spectrum as 4th alternative for spectrum Generation, for what ever reason.
- Goertzel calc. (see Advanced Cycle Analysis) . Ehlers obviously don't like this great method for what ever reason. At least meyers claims that Goertzel is a superior method vs. MESA (see ) .
- FFT is also often mentioned, but for spectrum determination the above methods seem to be preferred.
Boxter - Ehlers has effectively ditched everything prior to his latest book on measuring the DC. He did say that in a presentation some time ago, possibly quite recently, which is available in Powerpoint. Sorry, I don't have the link, but it ought to be at Stockspotter.com somewhere.
I take cycle measurements with a grain of salt. Because, at any one point, there are dozens of cycles happening simultaneously. He admits this himself somewhere, maybe in another context when suggesting to build up a bank of band pass filters (Swiss Army Knife?). I have, and they all cycle nicely to the period they are tuned to. Generally.
In Excel, using 6,000 data points, I can make each bandpass filter to average the exact time period it is tuned to - and I experimented using about 20 - from 16 days to 36. Doesn't this strike anyone as being a bit odd? I tried it on a bunch of currencies, all going back to about 1990, same result.
I now take the Jurik approach to adaptable indicators - a pure form of measuring the fractal dimension, which Ehlers gets mathematically wrong. A much better approach is that of Sevcik approach which is what Jurik did. It might look complicated, but hey, I managed to code it into Metastock which is pretty easy to understand, albeit clunky. If you like I can provide the code.
Jean-Phillipe has provided an MT4 version in the link below - somewhere, you might have to search a bit, and there are a couple versions. But it cannot simply be used to make indicators adaptive, which is why I scratched my head a bit to code it into both Excel and Metastock. I have an aversion to Tradestation.
Oops, that link didn't work - sorry. Me newbie.
I now take the Jurik approach to adaptable indicators - a pure form of measuring the fractal dimension, which Ehlers gets mathematically wrong.
FYI: word is someone on this forum somewhere stated that Ehlers has his own unqiue formula for FD calculation, unreleased to the public. It was also awhile back that Ehlers seemed to prefer Bandpass filters, but now seems to prefer Autocorrelation Periodogram as Boxter says.
Please enable the necessary setting in your browser, otherwise you will not be able to log in.