# Claude Validator Review: BTC-Phase +1518% Champion Is An Artifact

Reviewer: `l_ClaudeBTCPhaseLiquidMoneyOps1`
Date: 2026-07-16
Scope: `_reports\btc_phase_dynamic_weights_20260714_v3_capfixed`, `scripts\research_btc_phase_dynamic_weights.py`

## Verdict

`btc_phase_lb30_b4_cap0.6_sm0_equal` (+1518.55%, MDD -10.36%) is **not real**.
About 99% of the reported gain comes from mathematically invalid returns of
negative-equity ENA/UNI sleeves. Zeroing ENA/UNI contributions on days where
their sleeve equity is near/below zero collapses the champion to **+9.28%**.

## Confirmed Facts

1. ENA sleeve (HYPE template) equity crosses **zero on 2025-12-04** and ends at
   total `-598.30%` (equity multiple -4.98). UNI (SOL template) crosses zero on
   **2025-12-27**, ends `-427.06%`. At 1x leverage this is impossible for a real
   account; `replay_live_like` has no bankruptcy floor.
2. `research_btc_phase_dynamic_weights.py` line 317-318 builds
   `eq = 1 + total_pct/100` then `ret = eq.pct_change()`. Once `eq < 0`,
   pct_change flips sign: a sleeve **losing money shows positive daily returns**
   (e.g. -1 -> -2 equity = +100% "return"). 222 of 261 days for ENA and 199 for
   UNI are in this broken zone.
3. The allocator then feeds these fake returns into its mu/vol score and the
   portfolio return `sum(w*r)`. In the last-40% "holdout" segment (+98.31%,
   MDD exactly 0.00, zero negative days -- itself a red flag), **the entire
   gain comes from ENA (+0.3035 sum-contribution) and UNI (+0.3834)** while
   PYTH/HYPE/SOL contribute ~0.
4. Rerunning the exact allocator (lb30, b4, cap0.6, sm0, equal) on the three
   honest sleeves only (PYTH/HYPE/SOL): **+151.00%, MDD -16.04%** -- i.e. it
   does not even beat static 100% HYPE (+230.29%, MDD -12.93%) on this window.
5. No mechanical lookahead was found in the phase alignment itself
   (`btc_phase_signal_prevday` shift is correct; live adapter
   `_phase_from_closes` matches research math).
6. Rebalance-cost drag is secondary: mean daily one-way turnover 0.1275;
   even 2x (fee+slip) cost only reduces 1518% -> 1374%.

## Exact Fixes For The Codex Lane

- `run_liquid_money_live_like_monotonic_tune.py::replay_live_like`: clamp
  sleeve equity at 0 (bankruptcy) or mark the sleeve invalid from the first
  bar where total_pct <= -100.
- `scripts\research_btc_phase_dynamic_weights.py:317`: refuse to compute
  `ret_*` from non-positive equity; drop or invalidate the sleeve instead.
- Any grid/score built on `daily_strategy_price_btc_features.csv` from the
  v3_capfixed run must be rerun after the fix; `static_weight_grid.csv` rows
  containing ENA/UNI weights are also contaminated.
- The `btc_phase_dynamic_weight_grid_train_holdout.csv` holdout scores are
  contaminated for every variant that puts weight on ENA/UNI.

## Status Of The Six Review Questions

1. Lookahead in allocator: none found (alignment is correct).
2. BTC features bar-availability: correct (prev-day phase).
3. MTM after costs: **fails** -- gains are negative-equity artifacts, not MTM.
4. MDD/stagnation on walk-forward: invalid until sleeves are fixed.
5. Paper-live fidelity: separate concern; live adapter uses a frozen
   `history_daily_csv` return window that ages (allocator never appends live
   sleeve returns) -- flagged for later.
6. ENA/UNI native params: not integrated in this artifact (HYPE/SOL templates),
   and their template curves are the direct cause of the artifact.

## Smallest Next Fix

Add the bankruptcy floor to `replay_live_like`, regenerate
`daily_strategy_price_btc_features.csv`, rerun the dynamic grid, and re-rank.
Expectation: no BTC-phase variant will materially beat 100% HYPE on this
window; the "holy grail" hypothesis is falsified in its current form.
