Digital Signal Processing in Trading

  • There is a concept of trading or observing the market with signal processing originally created by John Ehler. He wrote three books about it.
    Cybernetic Analysis for Stocks and Futures
    Rocket Science for Traders
    MESA and Trading Market Cycles

    There are number of indicators and mathematical models that are widely accepted and used by some trading software (even MetaStock), like MAMA, Hilbert Transform, Fisher Transform (as substitutes of FFT), Homodyne Discriminator, Hilbert Sine Wave, Instant Trendline etc. invented by John Ehler.

    But that is it. I have never heard of anybody other than John Ehler studying in this area. Do you think that it is worth learning digital signal processing? After all, each transaction is a signal and bar charts are somewhat filtered form of these signals. Does it make sense?

    Im not sure that just because Ehler's indicators are included in trading software means widely accepted. I dont think there is an objective way to answer this, especially the part about getting a masters degree.

    @stephenw: I have removed that part but have you googled "hilbert sine wave" and seen the results?

    Marcos Lopez de Prado and Riccardo Rebonato worked on something similar recently called Kinetic Component Analysis. I tried to make an algo out of it on Quantopian to backtest because in the paper they offer python code. I could not get anything sensible out of it but that may have been my execution.

  • Wavelets are just one form of "basis decomposition". Wavelets in particular decompose in both frequency and time and thus are more useful than fourier or other purely-frequency based decompositions. There are other time-freq decompositions (for instance the HHT) which should be explored as well.

    Decomposition of a price series is useful in understanding the primary movement within a series. In general with a decomposition, the original signal is the sum its basis components (potentially with some scaling multiplier). The components range from the lowest frequency (a straight-line through the sample) to the highest frequency, a curve that oscillates with a frequency maximum approaching N / 2.

    How this is useful

    • denoising a series
    • determining the principal component of movement in the series
    • determining pivots

    Denoising is accomplished by recomposing the series by summing up the components from the decomposition, less the last few highest frequency components. This denoised (or filtered) series, if chosen well, often gives a view on the core price process. Assuming continuation in the same direction, can be used to extropolate for a short period forward.

    As the timeseries ticks in real-time, one can look at how the denoised (or filtering) price process changes to determine whether a price movement in a different direction is significant or just noise.

    One of the keys, though, is determining how many levels of the decomposition to recompose in any given situation. Too few levels (low freq) will mean that the recomposed price series responds very slowly to events. Too many levels (high freq) will mean for fast response but , perhaps too much noise in some price regimes.

    Given that the market shifts between sideways movements and momentum movements, a filtering process needs to adjust to regime, becoming more or less sensitive to movements in projecting a curve. There are many ways to evaluate this, such looking at the power of the filtered series versus the power of the raw price series, targeting a certain % depending on regime.

    Assuming one has successfully employed wavelet or other decompositions to yield a smooth, appropriately reactive signal, can take the derivative and use to detect minima and maxima as the price series progresses.


    • One needs a basis that has "good behavior" at the endpoint so that the slope of the curve at the endpoint projects in an appropriate direction.
    • The basis needs to provide consistent results at the endpoint as the timeseries ticks and not be positionally biased

    Unfortunately, I am not aware of any wavelet basis that avoids the above problems. There are some other bases that can be chosen that do better.

    If you want to pursue Wavelets and build trading rules around them, expect to do a lot of research. You may also find that though the concept is good, you will need to explore other decomposition bases to get the desired behavior.

    I don't use decompositions for trade decisions, but I have found them useful in determining market regime and other backward looking measures.

    Could u elaborate a bit more, or provide references, on the above problems with wavelets? And if i am not too intrusive, what tools do u use for trade decisions?

License under CC-BY-SA with attribution

Content dated before 7/24/2021 11:53 AM