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.