queue: pre-registered experiment backlog to prove better-trading-performance hypotheses

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)
This commit is contained in:
zhaoli
2026-08-19 15:30:46 +00:00
parent 9915a82d38
commit c0eb65efa7
12 changed files with 980 additions and 0 deletions
+33
View File
@@ -0,0 +1,33 @@
# 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.