Skip to content

CVN-N001-EK-S02 — Derivations cadrage (pre-registration)

What this is. A pre-registration of the method, inputs, parameters, and decision criteria for each of the seven D2 derivations — fixed before any data is inspected. Per the anti-snooping boundary (plan §8.1), (§8.1) calibration choices must rest on theory / defensibility, never on observed outcomes. This document is that prior-rationale record. No derivation has started; no outcome has been seen.

Review gate. The operator (and, if desired, the committee) reviews and ratifies this cadrage; only then do the read-only derivations begin. Any later change to a method here = a recorded amendment, not a silent edit.

0. Pre-registration discipline

  • Every parameter below is a proposal fixed ex-ante. Where the data later proves a method undefendable, the derivation returns a typed INFEASIBLE (it does not get re-tuned to "work").
  • Choices are recorded before looking at cost/predictive outcomes. If an existing exploratory result (e.g. the cost-sensitivity report) influenced any choice here, it is flagged as prior rationale in that section.
  • Analysis-only: each derivation is a read-only notebook/script over existing data. If any step needs a run / training / cluster / new data pull → STOP-and-ask (runbook §4).

1. Execution order

The cost/capacity chain is the first blocker and runs first; the rest only proceed if it yields a usable E_pred_min. On any typed INFEASIBLE, stop the chain and record it (a successful S02 outcome).

reference_capacity (§2) → p90_cost+tier (§3) → E_econ_min/E_pred_min mapping (§4)
   → power MDE/N_min (§5) → null_gate (§6) → budgets (§7) ; sortino_r1 (§8) independent

2. Reference capacity (§9.1) — non-deployment

Aspect Pre-registered choice (proposal)
Sampling window last N months of existing OHLCV cache (proposal: 6 months, the longest window with stable defi_top5 coverage)
Venue(s) inferred from the existing trade/cost (fill) logs, not the OHLCV cache alone (Binance spot). OHLCV cache ≠ fills/cost logs — see §3 evidence rule
Asset-level liquidity metric median hourly traded volume (robust to outliers vs ADV)
Sizing mode worst-asset-constrained equal-notional (conservative; the universe trades only as deep as its thinnest member)
Participation cap ≤ 1% of median hourly volume per asset (impact-minimising)
Minimum tradable notional a floor below which an asset is excluded (proposal: set from venue min-notional)
Missing / stale liquidity asset excluded from the reference universe for that window (recorded)
Aggregation per-asset P90 then portfolio aggregate (per-asset preserves the worst-asset constraint)
Tie-breaker if several rules defensible → most conservative satisfying the min-notional
INFEASIBLE-capacity no rule defensible without inspecting outcomes, or no asset clears min-notional

Operator decision D1 — ACCEPTED (median-hourly-vol + worst-asset-constrained equal-notional).

Operator decision D7 — ACCEPTED, conditional (window). 6 months only if it is verifiably the longest stable defi_top5 coverage window before any outcome inspection. If "stable coverage" is not verifiable, use the longest documented stable window, else return INFEASIBLE-capacity — never pick a window after seeing outcomes.

3. P90 cost + evidence tiers (§9.2)

Aspect Pre-registered choice (proposal)
Source existing trade/cost logs; if absent at the reference size, order-book/spread from the OHLCV cache
Cost components spread + impact + fees (maker/taker mix) + tail slippage
Tier A directly observed fills at comparable asset/venue/size/regime
Tier B observed fills × a pre-specified liquidity-impact model (e.g. square-root impact, Almgren-Chriss) with documented error + conservative stress factor; if error not conservatively bounded → downgrade to C
Tier C order-book/spread proxy × conservative stress multiplier — non-lockable, S03-blocked
Tier D unsupported → INFEASIBLE-cost-data (not even context)
P90 statistic 90th percentile of round-trip cost across the sampled fills/quotes at the reference size

Evidence rule (venue vs OHLCV). Tier is set by the fills/cost logs, not the OHLCV cache. If only OHLCV / quotes exist (no comparable fills), evidence cannot exceed Tier C unless adjusted by the pre-specified Tier-B model with conservatively bounded error; otherwise it is Tier C (non-lockable) or INFEASIBLE-cost-data.

Prior-rationale note: the cost-sensitivity report is used only to know that round-trip cost was never pinned (a failure-mode context, §8.1) — not to choose a cost value.

Operator decision D2 — ACCEPTED (Tier A/B lockable; Tier C non-lockable; Tier D INFEASIBLE). Tier B is lockable only if its adjustment model bounds the error conservatively (else downgrade to C).

4. E_econ_min / E_pred_min mapping (§10)

Cost is counted once (net-expectancy convention). To avoid double-counting, cost enters only the net-expectancy formula; the break-even is E_net ≥ 0, not E_net ≥ cost. E_econ_min names the cost to be overcome, it is not subtracted a second time.

Aspect Pre-registered choice
E_econ_min the round-trip P90 cost (Tier A/B) to be overcome at the reference size (long-only) — a label for the cost hurdle, not a second subtraction
Net expectancy E_net(p) = p·TP − (1−p)·SL − cost_P90 (cost subtracted once)
E_pred_min the smallest precision p* such that E_net(p*) ≥ 0 — i.e. gross expectancy covers E_econ_min
Units (compatibility) TP, SL, and cost_P90 MUST be in the same return/cost units (e.g. all in bps of notional, or all in log-returns) — no mixing ATR-units / bps / quote-currency
Monotonicity / stability check E_net is monotone increasing in p over the action-policy range; if not shown, the predictive metric (e.g. f1_buy) cannot be the primary gate
INFEASIBLE-mapping no defensible monotone mapping constructible from existing data

Operator decision D3 — ACCEPTED (precision-at-entry as the primary mapping metric). Caveat (recorded): precision-at-entry is not itself an economic edge until TP/SL/cost/frequency are integrated via E_net above — it avoids the AUC/f1→tradability non-transfer, it does not replace the economic test.

5. Power → MDE / N_min (§11)

Aspect Pre-registered choice (proposal)
Statistic powered precision-at-entry lift over the primary null, with threshold E_pred_min (D3-aligned); the economic interpretation is carried by the §4 mapping (E_net ≥ 0), not by this statistic directly
Resampling purged/embargoed moving-block bootstrap (Künsch / Politis-Romano) preserving temporal + cross-asset dependence and label base rate; purge/embargo applied inside each resample
Block length selected by a pre-declared rule (∝ label horizon H4 + autocorrelation length); sensitivity sweep over ≥ 3 settings: horizon-scaled baseline, shorter, longer
Replications ≥ 1000
Seed policy fixed, recorded in the derivation record
Power target ≥ 0.80
MDE_available / N_min MDE_available at current universe/folds; N_min = smallest config with MDE(N_min) ≤ E_pred_min
Sanity floor N_trades_min ≥ 30 (floor only; MDE decides)
INFEASIBLE-power MDE_available > E_pred_min and N_min not operationally feasible

Operator decision D4 — ACCEPTED (horizon-scaled + sensitivity sweep over ≥ 3 settings: short / central / long).

6. Null-gate (§12)

Candidate Role
Random-entry (matched count) diagnostic null (not primary)
Conservative purged/embargoed block null preserving asset/fold base rate, temporal dependence, trade-count/action-policy primary candidate
Stratified-by-regime block null alternative primary

Selection rule: most-conservative valid null; a more-conservative null is rejected only if it violates registered action-policy constraints, destroys base-rate structure, breaks purge/embargo comparability, or is economically non-comparable — rationale recorded. A tuple cannot PROMOTE on diagnostic nulls only. INFEASIBLE-null if no defensible null constructible.

Operator decision D5 — ACCEPTED (conservative block null preserving base rate + temporal dependence as primary; random-entry stays diagnostic; cannot PROMOTE on diagnostic nulls only).

7. Budgets proposal (§14) — not locked

Budget Pre-registered proposal
Family definition one family = {long-only ML entry edge on defi_top5, ATR-H4, GBT} (the program thesis)
Max registered tuples proposal: small (e.g. ≤ 8) — to be ratified at S03
Max ONE-ITERATION slots proposal: 1 per tuple
FDR method · level Benjamini-Hochberg, α = 0.10 (proposal)
Allocation per-tuple, per-stage. Structural change = consumes budget. A nested action-policy change is allowed only if declared inside the registered tuple and counted in that tuple's / the FDR budget per ADR-0102 (that is what "pre-paid" means)
Final-holdout access one touch per tuple, at verdict (logged)
Stop rule family budget exhausted without PROMOTE → KILL program thesis

Operator decision D6 — ACCEPTED provisionally (α = 0.10, ≤ 8 tuples) as an S02 proposal onlyS03 must explicitly ratify it and confirm the family budget is genuinely bounded. Not a lock.

8. Sortino R1 (§13) — definition note (not a gate)

Aspect Pre-registered choice (proposal)
First step read how existing reports compute Sortino (comparability of the ~1.0 floor) before fixing the convention
Input series per-period strategy returns
MAR 0 unless a risk policy defines otherwise
Annualisation only if the return periodicity is fixed and documented
Role comparability only — not an S02 gate; sub-floor statements remain non-actionable until resolved

9. Reproducibility tolerances (test strategy V11) — pre-declared per value

Value Determinism Tolerance
reference_capacity · p90_cost · mapping · budgets deterministic exact (≤ ±0.1% only if documented float non-determinism)
power MDE / N_min stochastic within the declared seed + ≥1000 reps + CI; report drift
null_gate · sortino_r1 deterministic (given seed where used) exact / declared CI

10. Operator decisions — RATIFIED (2026-06-19)

Operator review: PASS with P1 amendments, 4.65/5. All P1 edits applied (§§2–7 + this record).

# Decision Verdict
D1 liquidity metric + sizing mode (§2) ACCEPTED — median-hourly-vol + worst-asset-constrained
D2 lockable cost tier floor (§3) ACCEPTED — Tier A/B lockable (B only if error conservatively bounded); C non-lockable; D INFEASIBLE
D3 primary predictive metric (§4) ACCEPTED — precision-at-entry (not itself an economic edge until E_net)
D4 power block-length rule (§5) ACCEPTED — horizon-scaled + ≥3-level sensitivity
D5 primary null (§6) ACCEPTED — conservative block null (base-rate + temporal dep)
D6 FDR level + max tuples (§7) ACCEPTED provisionally — α=0.10, ≤8 tuples; S03 must ratify + bound family budget
D7 reference-capacity window (§2) ACCEPTED conditionally — 6 mo iff verifiably longest stable coverage, else longest documented or INFEASIBLE-capacity

P1 amendments applied: venue/cost-log vs OHLCV evidence rule (§2/§3) · net-expectancy mapping — cost counted once, no double-count (§4) · TP/SL/cost unit compatibility (§4) · powered statistic aligned to precision-at-entry (§5) · autocorrelation typo + ≥3-level block-length sensitivity (§5) · nested action-policy pre-paid budget semantics per ADR-0102 (§7).

11. What this cadrage does not do

It does not derive any value, run anything, inspect any outcome, lock the charter, or authorize trading. It pre-registers the method. After ratification, each derivation runs read-only and is recorded as a signed derivation (or a typed INFEASIBLE) in the workspace.