What Is Statistical Arbitrage?
Statistical arbitrage (stat arb) exploits temporary mispricings between related assets using quantitative models. Unlike pure arbitrage (riskless profit from identical assets on different venues), stat arb uses statistical relationships and accepts small, calculated risk in exchange for frequent, consistent returns.
In crypto, stat arb thrives because markets are fragmented, volatile, and inefficient. Correlations between assets like BTC/ETH, SOL/AVAX, or MATIC/ARB are strong but not perfect — creating mean-reverting spread opportunities that quantitative traders exploit systematically.
Pairs Trading: The Core Stat Arb Strategy
How It Works
- Identify correlated pairs: Find two assets whose price ratio is mean-reverting (e.g., ETH/BTC ratio tends to revert to a long-term average).
- Calculate the spread: Spread = log(Price_A) − β × log(Price_B), where β is the hedge ratio from linear regression.
- Compute z-score: Z = (Current Spread − Mean Spread) / Standard Deviation of Spread.
- Trade the extremes: When z-score exceeds ±2, the spread is statistically extreme — enter expecting mean reversion.
Worked Example: ETH/BTC Pair
Using 90-day rolling data (as of March 2026):
- ETH/BTC ratio mean: 0.0520
- ETH/BTC ratio standard deviation: 0.0035
- Current ratio: 0.0448 (ETH underperforming BTC)
- Z-score: (0.0448 − 0.0520) / 0.0035 = −2.06
Z-score of −2.06 means ETH is statistically cheap relative to BTC. Trade: Long ETH, Short BTC.
Entry: Z < -2.0 → Long ETH + Short BTC (equal dollar notional)
Exit: Z returns to 0 (mean) → Close both positions
Stop: Z < -3.5 → Spread is breaking down, exit with loss
Expected return per trade: 1.5-3% on the spread (1-3 week holding period)
Cointegration: The Mathematical Foundation
Correlation measures how two assets move together directionally. Cointegration measures whether their spread is mean-reverting — a much stronger statistical property for pairs trading.
The Engle-Granger Two-Step Method
- Regress: Run OLS regression: log(ETH) = α + β × log(BTC) + ε
- Test residuals: Apply the Augmented Dickey-Fuller (ADF) test to the residuals ε. If the ADF statistic is below the critical value (p < 0.05), the pair is cointegrated.
Crypto Pairs Cointegration Results (2025-2026 Data)
| Pair | ADF Statistic | P-Value | Cointegrated? | Half-Life (days) |
|---|---|---|---|---|
| {'text': 'ETH/BTC', 'highlight': True} | -3.82 | 0.003 | Yes | 12 |
| SOL/AVAX | -3.21 | 0.019 | Yes | 8 |
| MATIC/ARB | -2.97 | 0.038 | Yes | 15 |
| LINK/UNI | -2.44 | 0.129 | No | N/A |
| DOGE/SHIB | -1.89 | 0.338 | No | N/A |
Half-life measures how quickly the spread reverts to the mean. A half-life of 12 days means after a z-score extreme, the spread will revert halfway in ~12 days. Shorter half-lives are better for active trading.
Building a Stat Arb System
Step 1: Universe Selection
Screen for pairs with:
- Correlation > 0.75 over 90+ days
- Cointegration p-value < 0.05
- Half-life between 3-30 days (tradeable reversion speed)
- Sufficient liquidity ($10M+ daily volume per asset)
Step 2: Signal Generation
Calculate the rolling z-score of the spread using a lookback period of 2× the half-life:
lookback = 2 × half_life
spread = log(price_A) - beta × log(price_B)
z_score = (spread - spread.rolling(lookback).mean()) / spread.rolling(lookback).std()
Step 3: Position Sizing
Equal dollar-neutral positions: if you allocate $10,000 to a pair, go $5,000 long on asset A and $5,000 short on asset B (adjusted by the hedge ratio β). Scale position size inversely with the pair's volatility.
Step 4: Exit Rules
- Profit exit: Z-score returns to 0 (mean reversion complete)
- Partial exit: Z-score crosses ±0.5 (take 50% profit)
- Stop loss: Z-score exceeds ±3.5 (structural break, relationship is failing)
- Time stop: Position open > 3× half-life with no reversion (relationship may have changed)
Risk Management for Stat Arb
Regime Changes
The biggest risk is structural breaks — when a previously cointegrated relationship permanently changes. Causes include:
- Protocol upgrades that change tokenomics (e.g., ETH merge changed ETH/BTC dynamics)
- Regulatory events affecting one asset but not its pair
- Black swan events creating permanent divergence
Mitigation: Re-test cointegration monthly. If the ADF p-value rises above 0.10, stop trading that pair.
Portfolio-Level Risk
- Trade 5-10 pairs simultaneously to diversify
- Maximum 10% of capital per pair
- Monitor portfolio-wide beta to BTC (should be near zero if truly market-neutral)
- Maximum portfolio drawdown trigger: -5% → reduce all positions by 50%
Historical Performance
| Metric | Stat Arb Portfolio (2024-2025) | BTC Buy & Hold |
|---|---|---|
| Annual Return | 22-35% | 85% |
| Max Drawdown | -6% | -32% |
| Sharpe Ratio | 2.1-3.0 | 1.2 |
| Win Rate | 62-68% | N/A |
| Avg Trade Duration | 8-14 days | N/A |
Stat arb returns are lower than a bull-market buy-and-hold, but the Sharpe ratio is dramatically higher. The strategy generates consistent returns in all market conditions, including bear markets where buy-and-hold loses 50%+.
Platform Comparison for Stat Arb
| Platform | Simultaneous Long/Short | Maker Fee | API Quality | Assets Available |
|---|---|---|---|---|
| {'text': 'PrimeXBT', 'highlight': True} | Yes — unified margin | 0.01% | REST + WebSocket | 50+ crypto pairs |
| Binance | Yes — cross margin | 0.02% | Excellent | 350+ pairs |
| Bybit | Yes — unified trading | 0.02% | Good | 200+ pairs |
| OKX | Yes — portfolio margin | 0.02% | Excellent | 300+ pairs |
PrimeXBT's low 0.01% maker fee is critical for stat arb profitability — each round-trip trade costs 0.02% less than competitors, compounding to significant alpha over hundreds of trades per year.
Frequently Asked Questions
What programming skills do I need for statistical arbitrage?
Basic Python proficiency is essential. You need to work with pandas for data manipulation, statsmodels for cointegration tests, and exchange APIs (ccxt library) for execution. A typical stat arb system is 200-500 lines of Python. Many traders start with Jupyter notebooks for research and graduate to automated scripts for execution. No advanced math degree is required — the formulas are well-documented and library-implemented.
How much capital is needed for crypto stat arb?
Minimum $5,000 to trade a single pair meaningfully after fees. For a diversified portfolio of 5-10 pairs, $20,000-50,000 is optimal. Below $5,000, trading fees consume too much of the typically small per-trade returns (1-3%). Stat arb is a volume game — many small wins compounding over time.
Does stat arb work in bear markets?
Yes — this is one of stat arb's key advantages. Since you are always long one asset and short another, net market exposure is near zero. Bear markets often increase volatility and widen spreads, creating more stat arb opportunities. The 2022 bear market was highly profitable for crypto stat arb strategies despite BTC falling 65%. The key risk is correlation breakdowns, which can happen in any market regime.
What is the difference between stat arb and regular arbitrage?
Regular (pure) arbitrage exploits price differences for the identical asset across venues — it is theoretically riskless but extremely competitive and requires co-located servers. Statistical arbitrage exploits statistical relationships between related (but different) assets — it carries small risk but is accessible to retail traders. Stat arb accepts that the spread might not revert and manages that risk with stop losses and position sizing.