Tuesday, March 9, 2010

Smoothing without lag penalty

As you probably are already aware, “smoothing” is of critical importance when dealing with the stock market, and particularly so when trying to figure out the turning points.

At its simplest form, CSSA provides a set of bandpass filters that can be used for smoothing. The extent of smoothing can be adjusted by tuning the GroupStart and GroupDepth parameters. It turns out that traditional indicators can be smoothed and enhanced with no lag penalty using CSSA making it attractive as an alternative to traditional digital methods.

Below are MetaStock Professional 10.0 chart examples to show you how this is done. The top panel shows the indicator we want to smooth using CSSA. Here we chose the Chante Momentum Oscillator and the TRIX indicator. The middle panel shows the indicator smoothed by taking the CSSA Cycles of the indicator. The bottom panel shows price.


Chart Example #1: Research In Motion Ltd. (RIMM)
Top chart: Chande Momentum Oscillator
Middle chart: CSSA Cycles(CMO)
CSSA Cycles parameters:
m-histories = 50 bars
GroupStart = 2
GroupDepth = 8


Chart Example #2: Research In Motion Ltd. (RIMM)
Top chart: TRIX indicator
Middle chart: CSSA Cycles(TRIX)
CSSA Cycles parameters:
m-histories = 50 bars
GroupStart = 2
GroupDepth = 10



As you can see the smoothed version of the indicators show small or no lag at all! This is a radical departure from traditional digital methods which lag by construction.

Note that CSSA does not use hindsight or forward-reference making it suitable for trading; it means that the CSSA cycles are not changed as new data comes in.

2 comments:

Unknown said...

I still cannot understand the concept of group start and group depth along with m-histories.. It would be great if you put an explaination how to select this inputs

Noxa Analytics, Inc. said...

m-histories = 100 for example means that the input series is decomposed into 100 components. CSSA sorts them from most significant (component with low ranking, #1) to least significant (component with high ranking, #100). Each component behaves as if it is a band pass filter. Now you can select a group of components (they will be contiguous) to build a band pass filter with a bandwidth of your choice. You can do that by setting the first component in the list (GroupStart) and the number of components from there (GroupDepth). Since CSSA looks at the variance to build the cycles from, your final setting will depend on your data.

I’ll be posting to the blog on this subject in the coming days.