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.
This commit is contained in:
Codex
2026-07-08 17:48:38 +02:00
parent 5607bfcc2c
commit 519565965e
4 changed files with 891 additions and 1 deletions

View File

@@ -0,0 +1,126 @@
# 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.
## 5. Related
[[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).