Advertisement IC Markets

Autocorrelation at one second

Share, develop, and backtest custom MQL4/MQL5 Expert Advisors, Python data-scraping scripts, trading bots, and automated market alert systems.
Post Reply
Fairman
Posts: 6757
Joined: Tue Jul 21, 2026 7:11 am
Location: Abuja

Autocorrelation at one second

Post by Fairman »

Autocorrelation at one second

Autocorrelation measures whether a price change tends to be followed by a change in the same direction or the opposite one. At one-second intervals on a liquid pair, the result is a small negative number, due to the bid-ask bounce discussed earlier.

At 10 to 60 seconds, it can turn slightly positive in some conditions, when orders are executed in slices and push price in one direction for a while. At longer horizons, it drifts toward zero.

The structure explains why different strategies work at different speeds. Mean reversion exploits negative correlation at very short scales, but costs consume most of it. Momentum exploits positive correlation at medium scales.

The numbers are tiny, 0.02 or 0.05, but over millions of observations, they're significant. Looking at how they change by hour and by event shows when the market trends and when it chops.

A common use is as a regime indicator: rolling autocorrelation turning positive suggests a trending condition, turning negative suggests chop.

At what sampling interval does the sign of the autocorrelation flip on the pairs followed here?
It’s Fairman :geek:
Recommended broker for automated trading & scalping IC Markets
Amanhasnoname
Posts: 1506
Joined: Fri Oct 30, 2026 9:45 am

Re: Autocorrelation at one second

Post by Amanhasnoname »

When I ran this on EURUSD tick data from a raw account, the negative value at one second was there almost every hour, and it got stronger during the Asian session when quotes were just flicking between the same two prices. Around London and the New York overlap it shrank but did not disappear at that interval.

On my data the flip came somewhere between 15 and 30 seconds on EURUSD during the busy hours, and noticeably later on USDJPY, closer to a minute. Outside of the main sessions I never saw a clean positive reading at all, it just went from slightly negative straight to noise. I sampled on mid prices, by the way, because using bid only gave me a bounce effect that was mostly an artefact of spread changes.

I tried the rolling version as a regime filter for a breakout system and it helped a little, mainly by keeping me out of the dead lunch hours. The problem was lag. By the time a thirty minute rolling window turned positive, a good part of the move was already gone.
Post Reply