Statistical Arbitrage: Scalping the BTC/ETH Spread (MT4 Code Included)
Posted: Mon Aug 31, 2026 8:49 pm
Hey traders,
Today I want to share a mean-reversion strategy that doesn't care whether the crypto market is in a bull run or a crypto winter. It relies entirely on the historical correlation between the two largest assets in the space: Bitcoin (BTC) and Ethereum (ETH).
When we treat BTC and ETH as a "pair," we can trade the divergence between them. If BTC pumps aggressively and ETH lags behind, the spread between them widens. Eventually, either ETH catches up or BTC pulls back to restore the historical balance. This is known as Statistical Arbitrage or Pairs Trading. Research shows that analyzing the short-term price difference (spread) between two co-moving assets can be highly effective, even if crypto spreads occasionally display "fat-tail" behavior rather than perfectly normal distributions.
The Logic: The Z-Score
We can't just look at the raw price difference because prices fluctuate widely over time. Instead, we use a statistical measurement called a Z-Score to normalize the data.Here is the exact math we will use in our indicator:Calculate the Spread (Ratio): Let's use BTC_Price / ETH_Price.Calculate the Moving Average (MA) of that spread over $n$ periods.Calculate the Standard Deviation ($\sigma$) of the spread over those same periods.Calculate the Z-Score:
The Z-score tells us exactly how many standard deviations the current spread has drifted away from its historical average.Explore how manipulating the Z-score threshold and moving average lookback period changes your trading frequency:
The Trading Rules (Scalping)
Timeframe: M5 or M15 (We want to scalp the intraday noise).
SHORT SIGNAL (Z-Score > +2.0):
BTC is historically overvalued relative to ETH.
Action: Sell BTCUSD and Buy ETHUSD simultaneously (using equal dollar amounts).
LONG SIGNAL (Z-Score < -2.0):
BTC is historically undervalued relative to ETH.
Action: Buy BTCUSD and Sell ETHUSD simultaneously.
EXIT (Z-Score = 0):
The spread has reverted to the mean. Close both positions for a net profit.
Today I want to share a mean-reversion strategy that doesn't care whether the crypto market is in a bull run or a crypto winter. It relies entirely on the historical correlation between the two largest assets in the space: Bitcoin (BTC) and Ethereum (ETH).
When we treat BTC and ETH as a "pair," we can trade the divergence between them. If BTC pumps aggressively and ETH lags behind, the spread between them widens. Eventually, either ETH catches up or BTC pulls back to restore the historical balance. This is known as Statistical Arbitrage or Pairs Trading. Research shows that analyzing the short-term price difference (spread) between two co-moving assets can be highly effective, even if crypto spreads occasionally display "fat-tail" behavior rather than perfectly normal distributions.
The Logic: The Z-Score
We can't just look at the raw price difference because prices fluctuate widely over time. Instead, we use a statistical measurement called a Z-Score to normalize the data.Here is the exact math we will use in our indicator:Calculate the Spread (Ratio): Let's use BTC_Price / ETH_Price.Calculate the Moving Average (MA) of that spread over $n$ periods.Calculate the Standard Deviation ($\sigma$) of the spread over those same periods.Calculate the Z-Score:
The Z-score tells us exactly how many standard deviations the current spread has drifted away from its historical average.Explore how manipulating the Z-score threshold and moving average lookback period changes your trading frequency:
The Trading Rules (Scalping)
Timeframe: M5 or M15 (We want to scalp the intraday noise).
SHORT SIGNAL (Z-Score > +2.0):
BTC is historically overvalued relative to ETH.
Action: Sell BTCUSD and Buy ETHUSD simultaneously (using equal dollar amounts).
LONG SIGNAL (Z-Score < -2.0):
BTC is historically undervalued relative to ETH.
Action: Buy BTCUSD and Sell ETHUSD simultaneously.
EXIT (Z-Score = 0):
The spread has reverted to the mean. Close both positions for a net profit.