Price Movements in Trading Systems

Some models are based around an assumption of price movements being normally distributed, or Gaussian. For example, if a price has moved from a base by 3 standard distributions, based on statistical princples and assuming that price movements are normally distributed, it is unlikely to move further but revert to the mean.

However, if you actually chart price movements, you will find that they have a “fat tailed” distribution. There are a lot of large up and down price movements. If you build a model based on normal distributions, it is likely that you will suffer significant losses.

Identifying trends by removing noise

Any successful trading system must have the ability to let you to distinguish an actual trend from normal market “noise”. Noise is price movement that does not indicate a tradable trend.

Most technical indicators use some sort of filtering, typically a moving average or exponential moving average.

One way of doing this is the Breakout. A breakout occur when the price of a currency pair surpasses the high or low price of the pair from a specified number of days. The 20 Day Breakout is a commonly used model.

If your trading system used the 20 Day Breakout model for trend identification, it would automatically generate a buying signal when the price of the currency pair exceeded the 20 day high by a specified number of pips. If the price dropped below the 20 day high by the specified number of pips, the system would generate a sell signal. This is a filtering approach – the filter is that the price must rise or fall by a certain amount

Another common noise filtering approach is to use moving averages to smooth the data by removing noise to show long term trends. A moving average is simply the average of the last n trading periods, where n is number of periods. An exponential moving average is similar in practice, but uses a slightly different approach.

If you use a larger value of n in a simple moving average, the filtering will be greater, but the filtered data will lag the actual data. The lag is approximately ½ n. This is a problem, as your system will be unable to make timely trades – by the time the moving average detects that the trend has changed, most of the price movement has already happened.

You can use a moving average in two ways. You can either find a change in trend by comparing a smoothed data value with the previous one – if it is greater, then the trend is up, if it is less, then the trend is down (provided you have smoothed the data enough to remove random price movements).

The second, and more common way is to use a combination of two moving averages, one a long term average, the other a short term average. When they cross, that is a trading signal.

A more sophisticated filtering approach is to use digital signal processing algorithms such as Kalman filters to smooth the raw data. Typically, these algorithms smooth data with less lag than simple moving averages. One smoothing tool is JMA (from Jurik Research). This can be integrated into Excel or, more commonly into tools like Tradestation. These filters are typically proprietary, but can save you a lot of time and trouble during system construction.

There are other ways of identifying trends including momentum trading using moving averages, and generating trade signals based upon the identification of support and resistance levels.

Previous post:

Next post: