# Honest-Reference Pipeline for the Bybit Crypto Book — Design

**Date:** 2026-07-15
**Status:** Design (research/validation scope). Production gate-replacement is an explicit follow-on, NOT this spec.
**Author:** jgrusewski (+ Claude)

## 1. Problem

The Bybit 4-edge book is graded (recon gate) and sized against a backtest that is **optimistic on
exactly the days that drive its numbers**. Three linked modeling problems, all quantified 2026-07-15:

1. **Tail/capacity inflation.** Return is concentrated in a handful of microcap-pump days. Top-10 days
   (of ~1,300–2,000) drive **58%** of `unlock`'s return, **29%** of `positioning`'s. Under a P98 upside
   winsorize, `unlock` collapses (Sharpe 1.03 → **0.19**), `positioning` holds a real core (2.62 → 2.02),
   `xsfunding` is untouched (3.61 → 3.05). The equal-weight book drops from Sh 2.17 → 1.71.
2. **Leverage modeling.** The "levered" backtest shows a *lower* maxDD (−11.8%) than the naive book
   (−15.4%) — impossible from leverage; it is `carry-static` **re-weighting** flattering the curve, plus an
   implausibly low modeled vol (13.7% for a 1.5× crypto book). The smooth modeled drawdown understates the
   real fat-tail path.
3. **Cost/slippage.** A flat 5.5 bps applied to all history is a *current-liquidity snapshot* on 2021–22
   thinner markets, and — critically — is most wrong on the pump days (blown-out spreads), i.e. exactly the
   return-driving days.

All three inflate the **same** thing: the tail days. "The forward reconciles with the backtest" is only
meaningful if the backtest is honest on those days. It is not.

## 2. Goal

Build a **capacity-, cost-, and leverage-honest reference** for the crypto book at the coin level, and use
it to: (a) decide the honest sleeve **allocation**; (b) set an **ex-ante risk-management** layer; (c)
**falsification-test** candidate edges — including an "anomaly/pump-detection" edge — through the same
honest-cost machinery. **No live cockpit change in this spec** (see §9 scope).

Success = we can state, per sleeve and for the book, at a target AUM: honest **net** Sharpe / CAGR / vol /
maxDD, the honest allocation, the **capacity curve** (edge vs AUM), the **leverage ceiling**, and a
pass/fail verdict on the candidate pump edge — all reproducible from one pipeline.

## 3. Data feasibility (verified 2026-07-15)

- **Volume/ADV:** `bybit_features` feature `turnover` = USD volume per coin per day, **2021-01-01 →
  2026-07-14, 818 coins** (BTCUSDT ~$5.2 bn/day sanity-checks). → real ADV capacity + market-impact model.
- **Spread:** `bybit_real_spread(coin, spread_bps, fetched_at)` is a **single current snapshot**, NOT a
  daily history. Usable as a per-coin slippage floor; the pump-day spread must be **inferred**, not measured
  (§8 — the largest honesty gap).
- **Sleeve returns (aggregated):** `bybit_sleeve_ret(run_date, sleeve, ret)` — the *input* we are replacing
  with a coin-level recompute.
- **Coin features:** `bybit_features` also has `close/high/low/funding/open_interest/long_ratio/worst_basis`
  per coin — enough to reconstruct sleeve coin-weights.

## 4. Architecture

Instead of taking the aggregated `bybit_sleeve_ret` as given, **recompute each sleeve at the coin level**,
apply per-coin capacity + impact, re-aggregate, then risk-parity into a book, then grade against it.

```
coin features ──▶ [0a sleeve coin-weights] ──▶ [0b ADV capacity cap] ──▶ [0c impact slippage]
                                                                                │
                          honest daily sleeve returns ◀────────────────────────┘
                                    │
              [2 risk-parity weights] ──▶ honest book ──▶ [1 falsification gates]
                                    │                              │
              [3 ex-ante risk layer] ┘              [4 candidate edge #4 through the same pipeline]
```

## 5. Phase 0 — Honest-reference pipeline

- **0a — Coin-level sleeve recompute.** Surface each sleeve's *daily target coin weights* from the existing
  sleeve logic (`sleeve_returns_from_store` / the per-sleeve strategy). **Validation gate:** the recompute,
  *before* any haircut, must reproduce the stored `bybit_sleeve_ret` within tolerance (else the honest
  numbers are apples-to-oranges). If a sleeve's logic is not cleanly separable, that is a task blocker to
  surface, not paper over.
- **0b — Capacity model.** For each coin-day, cap the position at `min(target_notional,
  participation_cap × turnover_coin_day)`. **Parameterize by AUM** → output the **capacity curve** (honest
  Sharpe vs AUM). `participation_cap` = **3%** (a single global knob, documented; not per-sleeve tuned).
  **AUM series = {$35k, $100k, $350k}** (the realistic growth path) **+ {$1M, $10M}** (anchor points to
  *locate the ceiling* — at $35k–350k the 3% cap likely never binds on liquid coins, so the curve may be
  flat there; the high anchors reveal where the edge actually breaks). Report the full curve.
- **0c — Slippage model.** Market-impact per coin-position: `slippage_bps = k · sqrt(order_notional /
  turnover_coin_day)` (square-root impact law), floored at that coin's quoted spread from
  `bybit_real_spread`. `k` is one global constant, calibrated to the snapshot spreads (not per-sleeve).
  Applied to each coin-position's traded notional.
- **0d — Re-aggregate** to honest daily sleeve returns → honest sleeve stats (Sharpe/CAGR/vol/maxDD, net of
  capacity + cost, at the target AUM).

## 6. Phase 1 — Falsification gates (predetermined, before looking)

- **G1 (edge survives):** each sleeve's honest net Sharpe > **1.0** at the target AUM. (`unlock` expected to
  fail — do not rescue it.)
- **G2 (honest LOO):** each sleeve adds marginal Sharpe to the honest **risk-parity** book (drop-one test).
- **G3 (beats concentration):** honest book Sharpe > the best single sleeve (diversification is real, not a
  label). Prior estimate: xsf+pos ≈ 3.14 > xsfunding-alone 3.06 — must survive the coin-level model.
- **G4 (anti-reactive risk-management):** any proposed *de-risk* rule must beat "do nothing" in an honest
  A/B, else it is excluded. This gate exists specifically to keep reactive de-sizing out (§7).

## 7. Phase 2+3 — Allocation & ex-ante risk-management layer

**Phase 2 (allocation)** = the risk-parity/inverse-vol row below: sleeve weights are set by honest vol, not
by an in-sample Sharpe grid; `unlock` receives near-zero weight naturally if G1/G2 reject it.

Risk management is **baked into sizing**, not a reactive overlay bolted on top. Reactive de-sizing
(vol-targeting, drawdown-triggered cuts) has been **A/B-rejected 3× on this book** (pro-cyclical, cuts
before the bounce, vol-shrinkage not return) — see `pearl_fxhnt_reactive_risk_controllers_rejected`,
`pearl_fxhnt_voltarget_overlay_is_reactive_desizing_rejected`. That is out of scope by construction; G4
enforces it.

| Layer | Ex-ante hendel | Source |
|---|---|---|
| Position | per-coin **ADV cap** (hard backstop) **and** impact-slippage penalty (soft — sizing self-adjusts) | 0b/0c |
| Sleeve | **risk-parity / inverse-vol** on honest vol (adaptive, not tuned) | §2 decision |
| Book | **leverage ceiling anchored to the honest real DD** — O3: −9.7% @1×, ~linear → ~**1.5–1.75×** with a 2× stress buffer under a −35% hard limit. This is ex-ante K(D*). | O3 |
| Tail | `unlock` dropped/minimized per honest LOO (dead-weight fat-downside tail) | G1/G2 |
| Regime | **rare killswitch** for genuine structural breaks only (existing accepted design) | existing |

## 8. Phase 4 — Candidate edge #4: anomaly / pump-detection

The pump days that inflate the backtest are also a *hypothesised* edge: detect the anomaly, profit from it.
**Recognition ≠ profit** — the gap is the slippage/tail we just measured, and the recent precedent is
sobering: `unlock` *is* an explicit "detect the scheduled anomaly and short it" edge, and it collapses under
the honest haircut. P&D is a harder version (less predictable, worse execution, adversarial,
short-borrow-constrained). It is the **maximally tail-exposed** strategy — the opposite of §7.

Therefore: run it through the **same honest-cost pipeline** as a candidate, with predetermined skepticism:
- **G-detection:** a detectable, **out-of-sample** pump signal (volume/price/OI anomaly), not in-sample fit
  and not look-ahead (the signal must be knowable *before* the move it trades).
- **G-execution (the killer):** the edge survives the **real pump-day slippage** (§0c) + any borrow cost. ~90%
  of such ideas die here.
- **G-marginal:** it adds Sharpe *beyond* what `positioning` already harvests diffusely (same source →
  otherwise duplicate risk).

Verdict rule: passes all three → a **separate, hard-capped** sleeve (never risk-parity-core weight; too
tail-heavy). Fails → excluded, documented. Expectation is high bar / likely fail — but cheap to falsify on
the pipeline we build anyway.

## 9. Scope & deliverables

**In scope (this spec):** the Phase-0 pipeline, the capacity curve, the honest allocation recommendation,
gate verdicts G1–G4, the leverage-ceiling number, and the candidate-edge-#4 verdict. Pure research output.

**Out of scope (follow-on spec):** replacing the cockpit `backtest_summary` reference / recon-gate,
reweighting the live book, changing any live sizing. This spec must not alter live behavior.

**Deliverables:** a reproducible report (numbers + gate verdicts) + the pipeline code + tests. No cockpit
diff.

## 10. Critical review — where this could still fool us (be skeptical)

- **Recompute fidelity (0a).** If the coin-weight reconstruction doesn't reproduce `bybit_sleeve_ret`
  pre-haircut, every honest number is invalid. This is the load-bearing validation; treat a mismatch as a
  hard stop.
- **Slippage is modeled, not measured.** We have no historical spread — only a snapshot. The pump-day
  slippage (the crux of all three problems) is *inferred* via the impact law + snapshot floor. This is the
  biggest remaining honesty gap; the spec must state the slippage results as *model-dependent* and run a
  sensitivity (k × {1, 2, 4}) rather than a single number.
- **Survivorship.** If delisted microcaps (pumped-then-died coins) are absent from `bybit_features`, the
  pump edge is survivorship-inflated even after haircut. **Verify** `bybit_features` is survivorship-free
  (memory `project_fxhnt_bybit_ingestion_and_book` claims yes — confirm, don't assume).
- **AUM relevance.** At $35–100k the ADV cap barely binds — the honest picture is dominated by *slippage +
  repeatability*, not capacity. The capacity model's real value is the **future-growth ceiling**, not
  today's haircut. Say this plainly; don't oversell capacity at current size.
- **Still a backtest.** The honest reference de-inflates *known* problems; it cannot de-inflate unknown
  future regime change. The **forward gate remains the real arbiter** — this improves the reference it
  grades against, nothing more.
- **In-sample weighting risk.** Risk-parity uses realized vol; on the same sample it can still overfit.
  Weights must be set on a rule and validated on a held-out window, not grid-searched on Sharpe.

## 11. Decisions locked (from brainstorming)

- Capacity: **B** (coin-level ADV/impact), `participation_cap` **3%**, AUM curve **{35k, 100k, 350k, 1M,
  10M}**. Weighting: **risk-parity/inverse-vol**. Scope: **research now**.
- Exit-liquidity: **hard ADV cap + slippage penalty** (backstop + adaptive). `unlock`: **not hard-cut** —
  let G1/G2 decide (expected ≈ 0). Edge #4: **candidate, gated**, separate capped sleeve if it survives.
- Anti-reactive risk-management enforced by **G4**.
