Mined from book/ on the 'book' branch (HEAD 436692a). 11 queued runs,
each = hypothesis + one-variable change vs the exp-26 reference + acceptance
metric, per the ch.02 isolation/falsification discipline.
- workflows/: 5 runnable config-only YAMLs (Q01 M2 repro, Q02 seed10, Q03 topk20,
Q04 label10d, Q05 label22d) byte-derived from the exp-26 reference
- designs/: 6 design docs needing custom strategy modules or tool-only A/B
(Q06 Kelly, Q07 weekly rebalance, Q08 risk-limit A/B, Q09 long-short,
Q10 HMM overlay, Q11 standalone reversal)
1.8 KiB
1.8 KiB
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) → customFractionalKellyDropoutStrategy(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.21ANDnet_ann_return > +2.13%(exp-26 reference), withtotal_costnot higher than the reference book.- If sizing flattens the book (over-concentration) and net degrades → REFUTED (recorded negative; equal-weight stays canonical).
Execution prerequisites
- New contrib module
tac_qlib/contrib/strategy/kelly_dropout.py(FractionalKellyDropoutStrategysubclassingqlib.contrib.strategy.signal_strategy.TopkDropoutStrategy), copy to the venv site-packages copy (/opt/venv/lib/python3.12/site-packages/tac_qlib/...). - Workflow YAML with
strategy.class=FractionalKellyDropoutStrategy,module_path=tac_qlib.contrib.strategy.kelly_dropout. - Trace (rd_trace_start → run → rd_trace_finish), snapshot the new module.