Files
siloqy/prod/docs/VIOLET_FINDING__MODULATION_LAYER_VS_UNDERUTILIZATION.md
Codex 1a449074ae VIOLET V3d: base-sizer parity harness + gate vs recorded BLUE
parity_harness.py: median-curve parity of V3a VioletBetSizer vs recorded
dolphin.trade_events (vel_div->leverage), restricted to short-signal domain.
GATE PASSES on prod host: pearson 0.9998, max_abs_err 0.238 (budget 1.0) over
23 bins -> base conviction sizer reproduces BLUE's central tendency. Per-trade
scatter is the deferred SC/ACB/OB/gold modulation layer (separate finding doc).
3 unit + 1 gate green.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-13 20:26:08 +02:00

4.1 KiB
Raw Blame History

VIOLET Finding — The Sizing-Modulation Layer vs. the Capital-Under-Utilization Result

Status: Finding / caveat, 2026-06-13. Separate doc by operator request. Qualifies (does NOT overturn) the blue_margin_envelope_study and constrains the VIOLET_STUDY_SPEC__BASE_FRACTION_SIZING.md (#3) and any pre-V4 sizing work.

TL;DR

The newly-isolated downstream sizing-modulation layer (SC-haircut / ACB / OB-cascade / "gold" — the organs that ride along ACBv6) does not counter the margin study: that study used actual recorded notionals, which are already post-modulation. But it sharpens what "under-utilized capital" means, and makes the modulation layer a required pre-execution component for VIOLET — not optional.

1. Why the margin study is NOT contradicted

The margin/viability study computed our_leverage = entry_price·quantity / capital_before from dolphin.trade_events — i.e. from the notionals BLUE actually traded, haircuts and boosts already baked in. The modulation is therefore inside the measured numbers, not a missed factor. Conclusions stand on the as-traded data:

  • max realized our_leverage1.81
  • 100% of trades margin-feasible at 2× exchange leverage
  • +$47k clean deduped edge

2. How recorded leverage decomposes (the discovery)

Recorded conviction leverage is NOT the base bet-sizer output alone:

recorded_leverage(trade)  =  base_sizer(vel_div)  ±  modulation(SC, ACB, OB, gold)
  • base_sizer(vel_div) — cubic-convex strength³ curve; VIOLET's V3a VioletBetSizer reproduces it (validated on binned MEDIANS: vd 0.03→0.83, 0.04→2.78, 0.05→9.0 with max_leverage=9 / thr 0.02 / extreme 0.05 / convexity 3).
  • modulation — mostly downward haircuts (mins far below the median per vel_div bin), with some upward boosts to the 9 cap. This is the per-trade scatter that drops exact per-trade parity to ~34% while the median curve matches.

3. The sharpening (this is the load-bearing part)

The study's median wallet utilization was ~6.8% (our_leverage p50 ≈ 0.068). That low median is largely the haircut layer at work — BLUE deliberately sized most trades far below the base curve. The max 1.81 is the un-haircut, base-saturated tail.

Consequences:

  1. Margin feasibility is robust even if the haircuts are later dropped: the study's worst case (1.81) already equals the base-saturated value, and 2× covers it. Sizing at full base does not break margin.
  2. "Under-utilized ⇒ free ROI" is now GUARDED. Much of the idle ~93% is not waste — it is the modulation layer deliberately de-risking (cutting size on lower-conviction / higher-risk setups). It is risk knowledge encoded as size.

4. Binding implications

  • #3 base-fraction study MUST NOT read the 6.8% median as free headroom. A large part of it is risk-management. Any base-fraction increase must be evaluated with the modulation layer modeled, conditioned on the regime-robustness work — never by naively reclaiming the idle capital.
  • The modulation layer is REQUIRED before live execution (V4). VIOLET running the base sizer alone would size bigger than BLUE did on exactly the trades BLUE chose to haircut → utilization jumps from ~7% median toward the base, and realized risk/return diverges from the recorded +$47k (more variance, possibly worse risk-adjusted). Median-curve base parity (V3d) is necessary but not sufficient for faithful BLUE replication.
  • New deferred task (pre-V4): wrap the SC-haircut / ACB / OB-cascade / "gold" modulation organs as a VIOLET sizing-modulation layer on top of the base VioletBetSizer, with its own per-trade parity gate vs recorded leverage.

blue_margin_envelope_study · violet_v3_alpha_doctrine (#9 keystone, #11 parity finding) · VIOLET_STUDY_SPEC__BASE_FRACTION_SIZING.md · prod/clean_arch/violet/alpha_wrappers.py (base sizer) · live organs in prod/nautilus_event_trader.py (_apply_sc_entry_size_multiplier, _record_sc_haircut, AdaptiveCircuitBreaker).