Companion variant to the ETH/BTC z-score mean reversion strategy, adding a funding-rate regime filter to skip entries during crowded directional markets. Same base logic: 4h bars on Binance USD-M Futures, ratio = ETHUSDT_close / BTCUSDT_close, 20-period rolling z-score, entry at |z| > 2.0, exit at |z| < 0.5 or |z| > 3.5 (stop) or 7-day time stop. NEW: requires funding_rates supplementary data for both ETHUSDT and BTCUSDT. Compute funding_spread = funding_ETH - funding_BTC (annualized, in basis points). SKIP entries when |funding_spread| > 10 bps annualized OR when |funding_ETH| > 50 bps annualized OR |funding_BTC| > 50 bps annualized — these conditions indicate crowded directional positioning where mean reversion often fails (alt-season melt-ups, BTC capitulation, etc.). Also skip when the trade direction would be paying funding on BOTH legs (e.g., long ETH + short BTC when ETH funding positive AND BTC funding negative). Position sizing equal USD notional per leg, 1-2x leverage, capital-relative. Edge: avoid the ~20-30% of trades that are mean-reversion-against-the-tape and capture the cleaner reversion signals. Hypothesis: funding filter lifts Sharpe by 0.2-0.4 and reduces max DD by 25%+ vs base strategy. Risks: filter may be too restrictive in trending crypto markets (reduces sample size), funding data lookups must handle the 8h funding interval mapping correctly, parquet timestamp format is datetime64 not int ms.