'Universal' Filter - Not quite a Holy Grail but useful

Hi folks, hope you are staying safe in this COVID pandemic.

I thought this might be helpful on this forum so I will make a quick post about how you can use Auto Correlation to improve the performance of almost any trading system.

An Auto Correlation, is the correlation of a signal with a delayed copy of itself. (Autocorrelation - Wikipedia).

I have found that you can considerably increase the win rate within a trading system, by choosing to enter trades only when the Auto Correlation of the change in price from one time period to the next is high.

In this case the change in price at the end of each bar is the signal (property) and you are comparing the change in price as a time series to a copy of itself that is one bar behind to find the Auto Correlation.

If (ch1, ch2, ch3, ch4, ch5, ch6) represents the change in price for last the 6 bars of AUDUSD in sequential order (as a time series) . Then the Auto Correlation of AUDUSD for the last 5 bars is the correlation of this time series with a delayed copy of itself as below:

(ch2, ch3, ch4, ch5, ch6) - Fast (Original Version)
(ch1, ch2, ch3, ch4, ch5) - Slow (Delayed Copy)

Like correlation between 2 different pairs, the Auto Correlation tells us the extent to which the two time series move in tandem. If 2 different pairs have a correlation equal to 1 you would expect a price increase in 1 pair to be closely followed by a price increase in the other. That is; the price movement on one pair is a good predictor of price movement on the other

With an Auto Correlation of 1 on a single pair, the price movement in a previous period is a good predictor of price movement in the future; prices change in tandem from bar to bar in terms of direction and magnitude.

The moment in which a single pair has a high price change Auto Correlation is the moment in which you can most reliably predict future Price Action based on recent Price Action.

You can apply that principle to most trading styles where the take profit is a relatively short distance (will close in 1 or 2 future bars). As with most signals; there is a decay in the predictive quality as you move further away, so you could not use it for long term trend trades (unless you use AutoCorr on a higher time frame…and time an entry on a lower time frame…), but you could mange the risk in longer term trades better by reliably predicting a shorter term profit point to adjust the Stop Loss

I have found that you can look at the Auto Correlation for mostly any property that you rely on to succeed with your trading style. For example, if you make direction neutral, straddle style trades which rely on high volatility. Then you could look at the Auto Correlation of the change in volatility (ATR…), when it is rising.

Or you might look at (Close[0] - Close[14])/ATR[14] - the fraction of the volatility that is in 1 direction (call it Directness…) and review the Auto Correlation of a change in the Directness, when it is rising; to predict if it was likely to continue to rise.

Here is an example back test of a simple buy only trade signal on AUDUSD from 2004 - 2019 (Every Tick 99% model quality). With 2:1 Risk:Reward which needs a Win Rate > 66.67% to have Edge.

Before Auto Correlation Filter

  • Filter - Auto Correlation Last 12 Bars H1 >= -100 ( -1 x 100 no filter)
  • 2279 Trades.
  • 67.88% Win Rate

1. After Auto Correlation Filter

  • Filter - Auto Correlation Last 12 Bars H1 >= 30 (0.3 x 100)
  • 193 Trades.
  • 73.58% Win Rate

2. After Auto Correlation Filter

  • Filter - Auto Correlation Last 12 Bars H1 >= 50 (0.5 x 100)
  • 29 Trades.
  • 82.76% Win Rate

As you can see: the win rate increases linearly with the filter level of the Auto Correlation. You get similar results in most cases on buy only and sell only on 35 pairs.

1 Like

Can you give an example of a trade?

1 Like

Hi there. How do you currently trade.

I use technicals only on smaller timeframes. Just wanted an example.

Hi, I found the correlations work better on time frames H1 and above; the lower ones tend to be too noisy. A technical Indicator represents the price action but in a clearer way. The reliability of its signals depends on the reliability of the underlying price action.

Below is a simple Indicator (MT4) that will display the Auto Correlation (“AC”) of the change in RSI as an example.

RSI Change Auto Correlation.zip (1.2 KB)

Observe the RSI readings when the AC is above 30. And compare the RSI reading/prediction at these points to what subsequently took place in the Price Action. Best used in H1 and above. Hope that is clear?

Would you please post screen shots? I don’t use MT4/5.

An explanation of how to trade the chart in the screen shot, using the indicator would also be appreciated.

…below is the reply

Hi, thanks for the post. It’s hard to explain in the way that you asked because this post is not about a specific system or indicator, but how to use the general principle of auto correlations to improve the performance in what you are already doing by taking indicator/signal readings at the moments when they are most reliable.

Ok. But surely there is a visual representation that helps drive the concept home. As it stands, your post looks interesting but I have no clue how to implement what you’re stating.

Hi, sorry for the delay.

I suggest; use Multiple Linear Regression for your model to find out the exact nature of the relationship between the auto-correlation (predictor variable) and win rate (response variable) for your trading style.

It is definitely worth the effort.