From 60e900e43aeaca993d011e3d3040b220abf03311 Mon Sep 17 00:00:00 2001 From: jgrusewski Date: Sun, 7 Jun 2026 19:51:37 +0200 Subject: [PATCH] =?UTF-8?q?spec:=20adaptive=20multi-strat=20book=20?= =?UTF-8?q?=E2=80=94=20deployable=20(the=20honest=20endpoint)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Diversified, edge-decay-adaptive, adaptively-risk-managed, UNLEVERED multi-asset ETF book (SPY/IEF/GLD/PDBC/DBMF + small BTC). ~0.5-0.7 Sharpe, ~-7-12% maxDD, ~$2-3k/yr on $35k, scales with capital. Edge-decay-trust allocation + adaptive risk layer (EMA vol, Kelly-floor, continuous self-recovering DD de-lever, z-score corr, leverage-floor) = the foxhunt engine as risk/allocation brain (validated). Unlevered because retail financing (6-7%) kills the leverage benefit (1x Sharpe +0.48 vs 2x +0.14); the hedge-fund moat is cheap prime-brokerage financing, structural not algo. Premium harvest, not alpha; engine value = risk-mgmt. Phased rollout: paper-forward -> micro-live -> scale. The honest deployable endpoint of the whole search. Co-Authored-By: Claude Opus 4.8 (1M context) --- ...daptive-multistrat-book-deployable-spec.md | 159 ++++++++++++++++++ 1 file changed, 159 insertions(+) create mode 100644 docs/superpowers/specs/2026-06-07-adaptive-multistrat-book-deployable-spec.md diff --git a/docs/superpowers/specs/2026-06-07-adaptive-multistrat-book-deployable-spec.md b/docs/superpowers/specs/2026-06-07-adaptive-multistrat-book-deployable-spec.md new file mode 100644 index 000000000..ea7c7b4ed --- /dev/null +++ b/docs/superpowers/specs/2026-06-07-adaptive-multistrat-book-deployable-spec.md @@ -0,0 +1,159 @@ +# Adaptive Multi-Strat Book — Deployable Spec + +**Date:** 2026-06-07 +**Status:** Validated design, pre-deployment (paper-forward running) +**Branch:** surfer-universe +**Engine:** `scripts/surfer/multistrat_book_v3.py` (validated), `sixtyforty_paper.py` (baseline, live) + +--- + +## 1. Executive summary + +A **diversified, edge-decay-adaptive, adaptively-risk-managed, unlevered** multi-asset book — the +honest endpoint of an exhaustive search. It is *not* alpha; it is **premium harvesting with superior +risk management** (the foxhunt engine's genuine, validated strength). Realistic **~0.5–0.7 Sharpe, +~−7% max drawdown**, ~$2–3k/yr on $35k, scales linearly with capital. + +**Why this and not the alternatives** (all tested to OOS exhaustion, all in memory): +- Single predictive edges (equities, futures, ML, AI4Finance, PEAD): no OOS alpha for non-colocated retail. +- Crypto funding (single-venue): hedgeability-blocked. Cross-venue: marginal/breakeven OOS (the +14.9 Sharpe was a max-min artifact; honest fixed-pair = ~breakeven). +- Leverage: **doesn't pay at retail financing** (6–7% margin vs prime-brokerage SOFR+1–2%) — adaptive 1x Sharpe +0.48 vs 2x +0.14. The hedge-fund moat is *cheap financing*, not the strategy. + +**What we keep** (validated, measurable): the **edge-decay-adaptive allocation** (+0.11 Sharpe, lower +DD vs static risk-parity) and the **adaptive risk layer** (beat the static one decisively; halves +drawdown). The engine's value is *risk management + adaptive allocation*, and that is real. + +--- + +## 2. Strategy overview + +Hold a small set of **uncorrelated return streams**, each vol-normalized to equal risk, weighted by +a **per-stream edge-health trust** (down-weight decaying streams, resurrect recovered ones), combined +and run through an **adaptive risk-management layer**, **unlevered (~1x)**, rebalanced on a schedule. + +Return source = the structural premia (equity, term, gold/inflation, commodity, trend/crisis-alpha, +a small crypto sleeve). The *alpha* is the disciplined, adaptive risk allocation — not prediction. + +--- + +## 3. Instruments (deployable at $35k via fractional-share ETFs + small crypto) + +| Stream | ETF | Role | +|---|---|---| +| Equity | **SPY** (or VTI) | equity risk premium | +| Bonds | **IEF** (7–10y Treasuries) | term premium, equity diversifier | +| Gold | **GLD** (or IAU) | inflation/crisis diversifier | +| Commodity | **PDBC** (or DBC) | inflation/commodity premium | +| Trend / managed futures | **DBMF** (or KMLM) | crisis-alpha, uncorrelated (use the *real* CTA ETF — our DIY trend was ~0 Sharpe) | +| Crypto (small) | **BTC spot** (or IBIT) | high-return uncorrelated sleeve; trust-layer auto-caps it (currently down-weighted in deleverage) | + +All ETFs are marginable, fractional-shareable, ~zero commission. **Unlevered** (cash account is fine; +no margin needed). Crypto held separately (spot/IBIT), sized small. + +--- + +## 4. Allocation engine — edge-decay-adaptive trust (foxhunt idea, validated) + +For each stream `i`, maintain a **trust** `θᵢ ∈ [0.1, 1]`: +- Compute trailing-126d risk-adjusted return (Sharpe) of the stream. +- Map: Sharpe ≥ +0.5 → θ=1.0; ≤ −0.5 → θ=0.1 (floored — **resurrection-capable**); linear between. +- EMA-smooth (α≈0.06) so it adapts gradually, not jumpily. + +Weight each (vol-normalized) stream by `θᵢ`, normalize to sum 1. This **down-weights decaying premia +and re-weights recovered ones** automatically — currently: equity 0.73, commod 1.00, trend 0.79 +(healthy) vs bond 0.11, crypto 0.10 (correctly de-emphasized). Validated: +0.11 Sharpe, lower DD vs +static equal-risk. Source: `pearl_edge_decay_detection_is_a_missing_abstraction_layer`, +`pearl_dead_signal_resurrection_discipline`. + +--- + +## 5. Risk-management layer — adaptive controllers (the foxhunt port; the load-bearing piece) + +Static thresholds **crush returns** (one-way latch, `pearl_cmdp_consec_loss_counter_is_one_way_latch`). +The adaptive layer (validated: beat static +0.03→+0.14 Sharpe, maxDD −18.7%→−14.5%). Daily leverage +`L = clip( min(L_vol, L_kelly) × dd_mult × corr_mult , LEV_FLOOR, MAXLEV )`, applied to the combination: + +1. **EMA online vol** (α≈0.03) → `L_vol = TARGET_VOL / realized_vol` (responsive, no window edges). +2. **Kelly with floor + bootstrap** → `L_kelly = clip(EMA_mean·252 / EMA_var·252, KELLY_FLOOR=0.5, MAXLEV)` — adapts to edge strength, **never dies** (`pearl_bootstrap_must_respect_clamp_range`). +3. **Drawdown de-lever, CONTINUOUS + self-recovering** → `dd_mult = clip(1 − 3·max(0, −dd − 0.05), 0.40, 1.0)` — scales down as drawdown deepens, **recovers immediately as it heals** (NOT a latch — this is the fix). +4. **Correlation de-risk, z-scored** → when avg cross-stream correlation is unusually high vs its own trailing distribution (diversification breaking in a crisis), reduce: `corr_mult = clip(1 − 0.2·max(0, z), 0.5, 1.0)`. +5. **Leverage floor** `LEV_FLOOR=0.3`, **MAXLEV=1.0** (unlevered — see §8). + +Defaults: `TARGET_VOL=10%`. The whole layer is the engine's true job — *survive and adapt*, not maximize. + +--- + +## 6. Rebalance & execution + +- **Weekly rebalance** (fixed-phase): recompute vol-normalization, trust weights, and `L`; trade to target. +- **Hysteresis / no-churn:** only trade a stream if its target weight moved > ~2% (cut turnover/cost). +- **Cost budget:** ETFs ~0 commission; the only friction is spread/slippage (minimal on SPY/IEF/GLD/DBMF). Crypto sleeve: small, spot. +- **Cash account, unlevered** — no financing cost, no liquidation risk. + +--- + +## 7. Expected performance (honest) + +| Metric | Realistic | +|---|---| +| Sharpe | **~0.5–0.7** (regime-dependent; premium-harvest reality) | +| Annual return (1x) | ~5–8% | +| Max drawdown | ~−7 to −12% (adaptive layer controls it; 60/40 alone was ~−21%) | +| On $35k | **~$2–3k/yr** | +| On $500k | ~$30k/yr (Sharpe is scale-invariant — capital is the lever) | + +Honest caveats: it's **long beta** (falls in everything-down 2022-style, though trend + adaptive +de-lever cushion it); returns are *modest* in dollars at small capital (the lever is capital, not +Sharpe); crypto sleeve validated on one window — keep it small and let the trust layer cap it. + +--- + +## 8. Why unlevered (the key finding) + +Leverage scales return but **at retail financing (6–7%) it lowers risk-adjusted return**: adaptive 1x +Sharpe +0.48 vs 2x +0.14 — the financing drag eats the leverage benefit, while drawdown grows. Hedge +funds lever ~0.7-Sharpe books profitably **only because prime brokerage finances at ~SOFR+1–2%.** That +financing access is the institutional moat, and it's structural — not replicable at retail. **So: run +it 1x.** Re-evaluate leverage only if you ever access institutional-rate financing. + +--- + +## 9. Validation status + +**Validated:** edge-decay-adaptive allocation (>static), adaptive risk layer (>static, halves DD), +combination Sharpe ~0.5–0.72 across windows, the unlevered-is-best financing finding. Scripts: +`multistrat.py`, `multistrat_book.py`, `multistrat_book_v2.py`, `multistrat_book_v3.py`. +**Live baseline:** `sixtyforty_paper.py` paper-forward running (the 60/40 core). +**Not yet:** live execution of the full 6-stream adaptive book (paper-forward harness for it = next), +real ETF fills/spreads (minor), the crypto sleeve operationally. + +--- + +## 10. Phased rollout + +1. **Paper-forward (4–8 wk):** extend the live harness to the full 6-stream adaptive book (ETF closes + via Yahoo + BTC), logging target weights + realized — confirm the design forward. (60/40 core + already runs via `sixtyforty_paper.py`.) +2. **Micro-live (small):** deploy the ETF book unlevered at small size; validate rebalance discipline, + spreads, the trust/risk layer operating live. +3. **Scale:** full capital, same unlevered book. Returns scale with capital, Sharpe unchanged. + +Gate each phase: forward Sharpe ~consistent, drawdown controlled, trust/risk layer behaving. + +--- + +## 11. Go / no-go + risk limits + +- **Go:** you accept a modest (~0.5–0.7 Sharpe, ~$2–3k/yr on $35k) but *robust, well-risk-managed, + unlevered* diversified book whose return scales with capital — and that the engine's role is risk + management, not alpha. +- **No-go / reconsider:** if you need higher absolute return at $35k (then the lever is *more capital*, + not more strategy), or if you want market-neutral (this is long-beta — accept the equity-correlated + drawdowns). +- **Risk limits:** unlevered (MAXLEV 1.0); crypto sleeve ≤ ~15% target (trust-capped); weekly rebalance; + the adaptive layer de-risks automatically in vol spikes / correlation crises / drawdowns. + +**The honest bottom line:** after exhausting every alpha avenue (incl. the engine's own advanced +ideas), this is what's real and deployable — a simple, diversified, adaptively-risk-managed harvest. +The engine earns its keep as the risk/allocation brain, not as an oracle. The path to *meaningful* +money is capital, not a better signal.