SYSTEM DESIGN

Filters For Neural Net Trading Models


by Steve Helme

A filter such as a moving average removes noise from around the trend, leaving behind the important signal. Here's some insight about using filters to preprocess data for neural network trading models.

The behavior required of filters that preprocess data inputs for a neural network trading model differs from that for discretionary trading systems. Usually, discretionary traders who use filters such as moving averages are not dependent on the filter's precise characteristics. When looking for breakouts or trend changes, traders are concerned with the general performance of an indicator, not the relatively small deviations. On the other hand, mechanical systems, and neural network systems in particular, can be very sensitive to the precise characteristics of the filtered indicators used as system inputs.

FIGURE 1:  BEETHOVEN'S NINTH. The first 15 seconds of the Ninth Symphony are shown in time in the upper panel and in frequency in the lower panel. The orchestra has hit the proper low frequencies with few errors at higher frequencies.
Usually, mechanical trading systems need inputs that respond consistently to similar patterns in price data, patterns that may have subtle differences in optimization and real-time use. Moreover, the detrimental effects of indicators that behave inconsistently can be magnified by the calculations used in mechanical trading systems. Compounded misinformation can cause trading signals to be inconsistent with the logic of the trading system.

What is true for mechanical systems is generally true for neural networks, but more so. Input quality and consistency are critical for traders using neural nets or other advanced algorithms. Even small changes to input values can cause large changes in output values. The potential for damage to the neural net performance is high, due to the inherent computational complexity. Thus, neural nets tend to perform better when filtered data is used as input. 

These filters should yield consistent values when faced with similar patterns. Reliability of filter response is especially important when the size of the training dataset is relatively small, such as when a neural net trading system is retrained. If you use a small training dataset, a neural net may even memorize historical patterns without being able to recognize them in the future, when the price action will be different from the historical action, especially if your preprocessing filter is inconsistent.

My experience is that a neural net may well perform better with filters that lag the price than with filters that don't. Let me provide some background and explain why.


Steve Helme is a veteran systems developer, CTA and principal of Cornice Research, LLC, which specializes in software and consulting for advanced traders. He can be reached at 360 779-8498 or at www.corniceresearch.com.
Excerpted from an article originally published in the November 1999 issue of Technical Analysis of STOCKS & COMMODITIES magazine. All rights reserved. © Copyright 1999, Technical Analysis, Inc.

Return to November 1999 Contents