KILLED · regime break
Hypothesis
BTC and ETH log-prices are cointegrated; the stationary spread mean-reverts, so trading the z-score of the residual yields market-neutral edge independent of direction.
Math — Engle–Granger two-step
Step 1 — estimate the hedge ratio $\beta$ by OLS on log-prices:
$$ \ln P^{ETH}_t = \alpha + \beta\,\ln P^{BTC}_t + \varepsilon_t $$
Step 2 — test the residual for stationarity (ADF). Trade the z-score:
$$ z_t = \frac{\varepsilon_t - \mu_\varepsilon}{\sigma_\varepsilon}, \qquad \text{enter when } |z_t| > 2,\ \text{exit at } z_t \to 0 $$
Method
Rolling 90-day window, refit $\beta$ daily, ADF gate at $p<0.05$. Path-dependent replay on 1h bars, funding + 6 bps round-trip fee applied to both legs. 2024–2026 out-of-sample.
Results
| ADF passes (window stationary) | 63% of windows |
| In-sample spread Sharpe | 1.4 |
| Out-of-sample spread Sharpe | 0.11 |
| Mean reversion half-life | 11–40h (unstable) |
| Net of 2-leg fees + funding | − EV |
Why it failed
- The hedge ratio $\beta$ is non-stationary — ETH/BTC structurally re-rates across regimes, so yesterday’s spread is not today’s spread.
- Cointegration that holds in calm regimes breaks exactly when it matters (trend onset), producing the worst losses when $|z|$ is largest.
- Two-leg funding + fees eat the thin residual; the edge is real gross, negative net.
The pair is correlated, not durably cointegrated. Spread half-life drifts and $\beta$ re-rates; net-of-cost EV is negative out-of-sample. Classic stat-arb decays once the relationship is widely known.
Cointegration is a property of a window, not of an asset pair. In-sample ADF passing tells you nothing about the next window. Always cost both legs.