๐Ÿ‘€ PairScan

ยท 3 min read ยท #practical #pair-selection #mean-reversion

How to choose pairs for ratio trading

Practical selection criteria for ratio mean-reversion pairs โ€” what to look for, what to avoid, and why.

Once you understand mean reversion in principle, the next question is: which pairs do you actually trade?

The screener at PairScan does this automatically across 170+ pairs. But understanding the selection logic is useful even if you let the algorithm pick โ€” knowing why a pair was chosen helps you trust (or distrust) the signal.

Three families of pairs that work

1. Same-sector pairs. Two assets driven by the same narrative. Layer-1 alts (AVAX, NEAR, SOL, SUI). LSDs (LDO, RPL, FXS). DEX tokens (JUP, RAY, ORCA, UNI). Memes (DOGE, SHIB, PEPE, FLOKI). Within a sector, a temporary divergence is almost always a liquidity event, not a fundamental shift โ€” so it tends to mean-revert.

2. Cross-asset pairs with shared underlying. This is where tokenized equities open new ground. ETH/MSTRx works because MicroStrategy holds 818,334 BTC, so MSTR tracks BTC with leverage. The ETH/MSTR ratio oscillates as BTC dominance moves up and down relative to ETH โ€” same fundamental driver, different magnitudes. Similarly: BTC/COINx (Coinbase as crypto-exchange exposure), SOL/COINx, ETH/QQQx (eth as risk-on asset, QQQ as risk-on benchmark).

3. Crypto vs commodity. BTC/PAXG (gold-backed token), ETH/PAXG. Gold and crypto don't share the same drivers, but they both respond to USD strength and inflation expectations. Their ratio reflects "crypto premium over gold" โ€” a metric that, historically, oscillates in a usable range during low-inflation regimes.

Pairs to avoid

Different-regime pairs. BTC vs SOL (mostly works) becomes unreliable when one of them enters a sustained one-way trend the other doesn't share. We saw this in 2023-Q4 when SOL went 8ร— while BTC went 2.6ร— โ€” BTC/SOL ratio dropped 67% monotonically and any mean-reversion entry was a trap.

Stablecoin pairs. USDC/USDT, DAI/USDC, BUSD/USDT โ€” these don't oscillate enough to give edge. The ratio sits at ~1.000 ยฑ 0.5%; even perfect timing won't beat round-trip fees.

Dead-coin pairs. AGIX after the Singularity merger. MATIC after the POL transition. Volume crater + price discovery fragmentation = historical data is worthless. Filter on $1M+ daily volume and watch for "monitoring tag" announcements.

Pairs with insufficient history. Need at least 540 days of clean data to test mean-reversion reliably. Tokens that launched recently (or had a major migration) don't qualify.

The four-filter checklist

For any candidate pair, answer four questions before trading:

  1. Does the log-ratio mean-revert? Hurst < 0.5, ADF p < 0.7.
  2. Is the range wide enough? 40%+ of historical range. Otherwise fees eat the edge.
  3. Has it actually oscillated? โ‰ฅ 2 alternating boundary touches per side. Otherwise one extreme might be a one-time anomaly.
  4. Is liquidity sufficient? $1M+ daily spot volume on both legs. Without this, slippage destroys the math.

If all four pass, the pair is a candidate. Then walk-forward backtest 360 days and look at:

  • How many trades fired (more than 10 = probably too noisy, less than 2 = probably not enough to matter)
  • Final accumulation on each leg (positive on at least one is the minimum)
  • Max drawdown (anything > 50% means the pair is too volatile for the size you'd trade)

Position-sizing per pair

Even when a pair passes all filters, treat liquidity as a hard cap:

  • For trades up to $10k, $1M daily volume is fine
  • For $10-50k trades, want $5M+
  • For $50k+, want $25M+

Below these thresholds, slippage on entry+exit erases the edge. This is the most common reason "the math worked but I lost money" happens to people who actually try this.

Cross-asset specifically

For tokenized equity pairs (xStocks), three additional checks:

  • Pyth peg-check passes (DEX price within 3% of canonical equity price)
  • Both legs trade 24/7 (xStocks on Solana DEXes do, this is the whole point of using them instead of Yahoo data)
  • Treat as experimental: tokenized equities are < 12 months old. Trade smaller sizes than on pure crypto pairs.

Where the screener helps

Manually evaluating 170+ pairs across all four filters every 6 hours is impractical. The screener at pairscan.io does this automatically and shows you the qualifying pairs ranked by backtest growth. Free tier gives you the top 3, which is usually enough to understand which sectors are mean-reverting right now.

What the screener doesn't do: position sizing, regime judgment, delisting awareness. Those stay your job โ€” and ours, in the where-it-fails post.

The strategy works because it's mechanical at the entry/exit level and humanly judged at the regime/sizing level. That's a feature, not a bug.