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:
126
prod/docs/VIOLET_STUDY_SPEC__BASE_FRACTION_SIZING.md
Normal file
126
prod/docs/VIOLET_STUDY_SPEC__BASE_FRACTION_SIZING.md
Normal 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).
|
||||
Reference in New Issue
Block a user