# QUEUE-06 — Fractional-Kelly sizing vs equal-weight top-k (re-run exp 15 on clean lake) **Status:** QUEUED · **Priority:** P1 · **Effort:** custom strategy module + run ## Hypothesis (prove) Fractional-Kelly sizing — sizing each name by the edge magnitude of its score instead of equal-weight × risk_degree — is a sizing rule (not a strategy) that throws away less edge and beats equal-weight top-k **net of costs** on the clean lake. Source: `book/README.md` open questions (exp 15 run never finished), `book/references/chat-ideas.md` ("Kelly sizing is a sizing rule, not a strategy"). ## Change vs exp-26 reference (ONE variable) - **Strategy**: equal-weight `TopkDropoutStrategy` (topk 10, n_drop 1) → custom `FractionalKellyDropoutStrategy` (same topk/n_drop selection, sizing ∝ score magnitude, capped at a fraction f of the equal-weight notional; f as a parameter, e.g. 0.5). - All signal/config unchanged (compact stochastic features, 5-seed RankIC ensemble, 5d label, train/valid/test, SPY benchmark, 5bp/15bp/$5 costs). ## Acceptance - `net_IR > 0.21` AND `net_ann_return > +2.13%` (exp-26 reference), with `total_cost` not higher than the reference book. - If sizing flattens the book (over-concentration) and net degrades → REFUTED (recorded negative; equal-weight stays canonical). ## Execution prerequisites 1. New contrib module `tac_qlib/contrib/strategy/kelly_dropout.py` (`FractionalKellyDropoutStrategy` subclassing `qlib.contrib.strategy.signal_strategy.TopkDropoutStrategy`), copy to the venv site-packages copy (`/opt/venv/lib/python3.12/site-packages/tac_qlib/...`). 2. Workflow YAML with `strategy.class=FractionalKellyDropoutStrategy`, `module_path=tac_qlib.contrib.strategy.kelly_dropout`. 3. Trace (rd_trace_start → run → rd_trace_finish), snapshot the new module.