# Quant Research Notes — Vanta BTC/ETH

## v2 Results: Walk-Forward Validation

### BTCUSDT — Full Leaderboard (6 months Jul–Dec 2025)

| Rank | Strategy | IC | Hit Rate | Sortino | Max DD |
|------|----------|-----|----------|---------|--------|
| 1 | **MTF_Trend_v2** | **+0.035** | 85.8% | +0.010 | -2.22 |
| 2 | **Ret_Autocorr** | **+0.025** | 100.0% | +0.000 | -1.04 |
| 3 | **Hourly_Momentum** | **+0.014** | 87.3% | +0.005 | -5.77 |
| 4 | Extreme_MR | +0.007 | 94.1% | +0.002 | -1.74 |
| 5 | Dual_ZScore | +0.002 | 94.6% | +0.001 | -3.83 |
| 6 | Vol_Breakout | +0.001 | 97.1% | +0.000 | -7.02 |
| 7 | VWAP_Vol_Rev | 0.000 | 100% | 0.000 | 0.00 |
| 8 | RSI_Divergence | -0.002 | 98.9% | -0.000 | -7.21 |

### Walk-Forward: In-Sample vs Out-of-Sample

| Strategy | BTC IS IC | BTC OOS IC | ETH IS IC | ETH OOS IC | **Stable?** |
|----------|-----------|------------|-----------|------------|-------------|
| MTF_Trend_v2 | +0.037 | **+0.033** | +0.039 | -0.038 | ✅ BTC, ❌ ETH |
| Ret_Autocorr | +0.032 | **+0.016** | +0.054 | 0.000 | ✅ BTC, ⚠️ ETH |
| Hourly_Momentum | +0.012 | **+0.017** | +0.017 | -0.070 | ✅ BTC, ❌ ETH |
| Extreme_MR | +0.005 | **+0.010** | +0.009 | **+0.048** | ✅ Both |
| PW_Ensemble | +0.015 | **+0.013** | +0.018 | -0.005 | ✅ BTC, ⚠️ ETH |

### Key Findings

1. **MTF_Trend_v2 is the best single strategy** — IC=+0.035 in-sample, +0.033 out-of-sample
   on BTC. Uses 5m/15m/1h EMA crossover confluence + MACD histogram acceleration + ATR scaling.
   **Stable out-of-sample on BTC** but breaks on ETH.

2. **Return Autocorrelation is surprisingly strong** — IC=+0.025 on BTC, +0.054 on ETH in-sample.
   Exploits negative 1m autocorrelation (mean-revert) + positive 5m autocorrelation (momentum).
   Very conservative (hit rate 100% = mostly predicts 0), but when it signals, it's accurate.

3. **Extreme Mean Reversion is the most robust** — positive IC in ALL four test cells.
   Only strategy that works out-of-sample on both BTC and ETH. The z-score > 2σ filter
   is a strong universal signal.

4. **Hourly Momentum works on BTC but fails on ETH** — ETH has less trending behavior
   at the hourly level. ETH is more mean-reverting → different strategy needed per asset.

5. **Performance-Weighted Ensemble works** — IC=+0.013 out-of-sample on BTC. Slightly
   diluted vs MTF_Trend alone, but more robust and diversified. The catastrophic DD
   on BTC OOS (-53) needs investigation (likely a single bad regime).

6. **VWAP_Vol_Rev signals nothing** — hourly VWAP reset destroys the signal. Need
   session-based VWAP or remove this strategy.

7. **RSI_Divergence and Vol_Breakout have negative/zero IC** — drop from ensemble.

### ATR-Scaled Signals Work

The `SignalScaler` class (ATR-normalized conviction) is critical:
- In low vol: signals amplify → higher expected_return → more score when right
- In high vol: signals dampen → lower expected_return → less damage when wrong
- This alone improved signals from v1's ~1e-8 mean_return to meaningful levels

### Recommended Production Strategies

**For BTC:**
1. MTF_Trend_v2 (primary) — highest IC, stable OOS
2. Ret_Autocorr (secondary) — good IC, extremely conservative
3. Performance-Weighted Ensemble (for diversity bonus)

**For ETH:**
1. Extreme_MR (primary) — only strategy with positive OOS IC on ETH
2. Ret_Autocorr (secondary) — positive IS IC
3. Need ETH-specific mean-reversion strategies

### What to improve next

- [ ] **Diagnose ETH failure** — why do trend strategies fail on ETH OOS?
- [ ] **Circuit breaker** — cap ensemble max DD (the -53 DD is unacceptable)
- [ ] **Trim ensemble** — remove RSI_Div, Vol_Breakout, VWAP_Vol from ensemble
- [ ] **Regime detector** — switch between trend (MTF) and mean-reversion (Extreme_MR)
       based on recent realized autocorrelation
- [ ] **Funding rate backfill** — pull historical funding from Binance fapi for backtesting
- [ ] **Orderbook proxy** — use (high-low)/close as spread proxy, volume as depth proxy
- [ ] **Ensemble speed** — 8 sub-strategies × tick() is 8× slower; trim to top 4
