Files
siloqy/prod/docs/VIOLET_STUDY_SPEC__BASE_FRACTION_SIZING.md
Codex 519565965e docs: Cubic→Linear translator fixes + Beads PASS tracker evaluation
- NEW_PINK_FORENSICS_DUAL_LEV_2026_SEARCH_RESULTS_SPEC.md:94 — 'cubic translator' → 'linear translator' (exchange mapping)
- VIOLET_STUDY_SPEC__BASE_FRACTION_SIZING.md:19 — 'cubic translator' → 'linear translator'
- VIOLET_V3_FINDINGS.md:51 — 'cubic translator' → 'linear translator'
- BEADS_PASS_TRACKER_EVALUATION.md: New evaluation recommending ADOPT for PASS tracking

Per Fable: exchange leverage mapping is LINEAR (round_half_even); cubic is conviction sizer only.
2026-07-08 17:48:38 +02:00

6.9 KiB
Raw Blame History

VIOLET Study Spec — Base-Fraction / Capital-Utilization Sizing Study

Status: TODO (research spec, written 2026-06-13). Gated AFTER the regime-robustness study (#1). Feeds VIOLET V3 Layer-3 sizing mechanics and any base-fraction change to the live PINK/BLUE AlphaBetSizer.

Owner intent: the blue_margin_envelope_study proved BLUE's capital is badly under-utilized (median trade ties up ~3.4% of wallet at 2× exchange leverage; 100% of trades feasible at 2×; max realized our_leverage = notional/capital ≈ 1.81). The ROI lever is the base fraction (currently base_fraction = 0.20 in AlphaBetSizer), NOT exchange leverage. Question this study answers: how far above 0.20 can base fraction be pushed for more ROI, risk-bounded, and where do hard constraints bind?


0. Doctrine / non-negotiables

  • ROI is driven by notional/capital = base_fraction × conviction_leverage, not by exchange leverage. Exchange leverage (PINK/VIOLET max-3× linear translator) is a margin-efficiency knob only. Confirmed empirically: notional = capital × 0.20 × leverage, leverage = cubic-convex conviction ∈ [0.5, 9].
  • The edge is regime-concentrated (≈95% of clean edge in choppy-bearish; bull is the separate EFSM long-reversal algo's domain). Therefore sizing-up amplifies exposure to the worst observed regime AND to the untested-by-this-strategy tails. This study MUST output a fraction recommendation conditioned on the regime-robustness result (#1), not a raw-ROI maximizer.
  • Counterfactual honesty: resizing past trades assumes the same trades would have filled at the larger size. That assumption degrades with size (market impact). The study MUST estimate and discount for slippage/impact, not assume linear scaling.

1. The hard constraint that binds first — the 3× translator ceiling

our_leverage = base_fraction × conviction, max conviction = 9.0. To finance a position the exchange leverage must satisfy exch_lev ≥ our_leverage. PINK/VIOLET's translator caps exchange leverage at 3×. Therefore the maximum financeable base fraction before the cap binds on the highest-conviction trades is:

base_fraction_max ≈ 3.0 / 9.0 ≈ 0.333    (i.e. our_leverage_max = 0.333 × 9 = 3.0 = cap)
  • At f = 0.20: max our_leverage 1.8 → 2× suffices, comfortable.
  • At f ≈ 0.333: max our_leverage 3.0 → exactly the 3× cap (no buffer on max-conviction trades).
  • At f > 0.333: highest-conviction trades CANNOT be financed at 3× → they clip (under-size) or require raising the translator cap (a separate margin-risk decision).

Deliverable 1: the exact binding curve f → fraction of trades that clip at 3× cap, using the real conviction distribution (most trades are low-conviction, so the cap may bind on very few trades well above 0.333 — quantify it, don't assume the 0.333 worst case dominates).

2. Method

Operate on the clean deduped trade set (one row per trade_id; drop HIBERNATE_HALT and bars_held = 0; see blue_margin_envelope_study for the cleaning that yields +$47k / 2121 trades). Required per-trade fields: pnl, pnl_pct, entry_price, quantity, capital_before, leverage (conviction), our_leverage, regime hash tags (join to maras_fingerprint.composite_hash), and execution-quality (slippage) from trade_execution_quality / execution_quality_json.

2a. Counterfactual resize grid

For f ∈ {0.20, 0.25, 0.30, 0.333, 0.40, 0.50} (and finer near the optimum):

  • Per trade, resized notional scales by f / 0.20; pnl_pct is size-invariant, so resized $pnl = pnl_pct × resized_notional before slippage discount.
  • Apply the §2c slippage discount.
  • Apply the §1 cap clip: if f × conviction > 3.0, clip notional to 3.0 × capital.

2b. Path-dependent equity reconstruction

Replay trades in time order, compounding each resized $pnl onto a running capital base (bigger size → bigger swings → different compounding path; do NOT just sum). Seed from the real starting capital of the tracked window. Produce per-f:

  • final capital, CAGR
  • max drawdown, Calmar/MAR (CAGR ÷ maxDD), longest-underwater days
  • Sharpe, Sortino, downside deviation
  • risk-of-ruin estimate

2c. Slippage / market-impact model (critical — do NOT skip)

The largest real-world degrader. From the maker-fill telemetry estimate whether larger notionals get worse fills / more requotes / more taker fallback:

  • regress realized fill slippage (and maker→taker fallback rate) against order notional / notional-vs-ADV where available
  • build a slippage_bps(notional) discount applied in §2a
  • if data is insufficient, state so and use a conservative parametric impact assumption (document it); flag the result as impact-uncertain

2d. Kelly / fractional-Kelly anchor

Estimate the growth-optimal fraction from the empirical win-rate + payoff distribution. Recommend fractional Kelly (¼–½) given the edge is non-stationary and regime-conditional — full Kelly assumes a stationary edge we have explicitly shown does not hold. Compare the Kelly-implied fraction to the §1 cap ceiling and the §2b drawdown-optimal fraction.

2e. Regime-conditioned drawdown (the binding test)

Re-run §2b conditioned on the regime hash buckets from #1 (NOT the MARAS label — the label is held untrusted; sub-regimes within choppy-bearish are expected). The binding drawdown is the worst-hash-bucket drawdown, not the aggregate. Add a stress scenario: inject a hypothetical adverse excursion sized to the worst plausible unsampled-regime loss and report each f's survival.

3. Deliverables

  1. Table: f × {final capital, CAGR, maxDD, Calmar, Sharpe, ruin-prob, %trades-clipped-at-3×}.
  2. The §1 cap-binding curve.
  3. The §2c slippage discount model + its effect on the optimum.
  4. A recommended base fraction (or a conviction-conditioned fraction schedule), with the explicit risk statement: how much extra ROI, at what extra drawdown, under what regime assumption.
  5. Machine-readable report → prod/VIOLET_dev/reports/base_fraction_study_<ts>.json; 1-page FINDINGS alongside.

4. Caveats to carry into every conclusion

  • Non-stationary, regime-concentrated edge — the optimum is conditional, not universal.
  • Counterfactual resizing assumes fillability at scale (mitigated by §2c, never eliminated).
  • Single-slot (no concurrency) — confirmed; if that ever changes, margin math changes.
  • The clean set still may carry minor residual pollution; corroborate against the corrected-capital trajectory as in the parent study.
  • Do not let raw-ROI maximization override drawdown/ruin constraints. The under-utilized capital is an opportunity bounded by regime risk, not free money.

blue_margin_envelope_study · violet_v3_alpha_doctrine · prod/bingx/leverage.py (translator) · nautilus_dolphin/nautilus/alpha_bet_sizer.py (base_fraction) · prod/clean_arch/dita_v2/blue_parity.py (PINK wrapper, note 8 vs 9 drift).