Files
tac-exp-dev/book/chapters/09-cost-turnover-frontier.md
T
zhaoli 06fb1e8ee9 book: fold Q-campaign (exp 33-43) evidence into ledger, claims, and chapters
- EVIDENCE#022-032: Q01-Q11 runs (2 PASS / 9 FAIL) with run_ids and branches
- CLAIMS: promote M2 Sharpe-drift to PROVEN (Q01), refute Kelly (Q06), risk-limit-as-alpha (Q08), standalone reversal (Q11); add label-horizon + weekly-rebalance + long-short-turnover claims
- README: TOC + claim inventories for ch 04/05/07/08/09/10/12 updated to the Q-campaign
- new chapters 04 (prune), 05 (ensembles), 07 (isolation), 08 (construction), 09 (cost/turnover), 10 (risk limits & gates), 12 (synthesis); ch 00/02/03 updated
- Q08 calibration evidence persisted under book/data/evidence/q08-risklimit/
2026-08-20 01:23:21 +00:00

4.1 KiB
Raw Blame History

Chapter 09 — The Cost/Turnover Frontier

Status: drafting. Claim inventory: see README.md ch. 09.

This chapter is the empirical core of the book's cost argument: turnover, not signal, is the binding constraint. Ch. 03 established the gross→net collapse on the reference. Ch. 08 showed the fix. This chapter quantifies the frontier — what turnover costs at 20bp round-trips and what the trade-off looks like when you cut it.

The frontier on the clean lake

The 50-ETF panel, $1M book, 5bp open / 15bp close / $5 minimum. The same underlying signal (compact stochastic set, 5-seed ensemble, 5d label — IC 0.050, RankIC 0.066) expressed at different turnover levels:

Construction Turnover character Cost drag Net ann Net IR Source
daily topk10, n_drop 2 daily forced replacement ~9–10pp −3.21% −0.32 exp 24
daily topk10, n_drop 1 daily, hold dropped name ~5pp +2.13% +0.21 exp 26
weekly recompute weekly refresh ~1.1pp +12.51% +1.24 exp 39 (Q07)
daily long-short top10/b10 two-sided daily ~9.7% of NAV −8.38% −0.83 exp 41 (Q09)

PROVEN — EVIDENCE#015 (exp 26), #028 (exp 39), #030 (exp 41).

The n_drop 2→1 step (exp 26) already showed the mechanism with byte-identical signal metrics — the entire net gain was cost relief (EVIDENCE#015). The weekly step (Q07) went further: same signal, same topk/n_drop, cadence only, and cost drag fell to ~1.1pp while net went to +12.51%.

The long-short lesson

Q09 is the cleanest demonstration that cost, not signal, is the frontier: the long-short construction had a positive pre-cost excess (+6.57%, IR 0.656) — the signal genuinely separates longs from shorts — yet cost $96,721 ≈ 9.7% of NAV in ~150 days (2485 trades, fill rate 0.40) and net was −8.38%. PROVEN — EVIDENCE#030 → exp 41. A construction that spends ~10% of the book annually on two-sided turnover cannot be rescued by signal alone.

Where the frontier bends

  • Cadence (proven). Weekly recompute of a 5-day signal is the single biggest lever found: ~1.1pp drag, +12.51% net. PROVEN — EVIDENCE#028 → exp 39.
  • Dropped-name policy (proven). n_drop 2→1 (hold, don't re-trade) bought ~5pp. PROVEN — EVIDENCE#015 → exp 26.
  • Sizing (weak). Kelly-style sizing scaled exposure but did not change the turnover bill (Q06, +1.04% net). PROVEN — EVIDENCE#027 → exp 38.
  • Label horizon (counterintuitive). Longer labels improve the signal monotonically (22d IC 0.097, RankIC 0.117) but worsen net under daily churn (Q05: −4.60%). The horizon gain is real but unmonetized. PROVEN — EVIDENCE#026 → exp 37. TODO(evidence-needed: long-horizon label at weekly cadence — the combination is untested and is the book's most promising open cell).

Desk rules distilled from this chapter

  1. Compute cost drag as a share of NAV before believing any net number; at 20bp round-trips, 1% NAV per quarter is easy to spend.
  2. Rank construction changes by cost drag first: cadence > dropped-name policy > sizing > gates.
  3. Report gross and net side by side in every experiment; a positive-gross/negative-net run is a turnover problem, not a signal verdict.
  4. TODO(evidence-needed: realized-cost comparison of the weekly construction against the 5bp/15bp/$5 model once it trades live)

Evidence cited in this chapter

Tag Source
EVIDENCE#015 exp 26, run 21afc6af…, branch exp/26-test-whether-reducing-topkdropout-daily
EVIDENCE#028 exp 39 (Q07), run eb38588c…, branch exp/39-q07-weekly-rebalance-recompute-topkdropo
EVIDENCE#030 exp 41 (Q09), run 0647eadd…, branch exp/41-q09-long-short-market-neutral-long-top-1
EVIDENCE#026 exp 37 (Q05), run daad5042…, branch exp/37-q05-label22d-22d-forward-return-label-vs
EVIDENCE#027 exp 38 (Q06), run afca4b80…, branch exp/38-q06-kelly-sizing-score-magnitude-fractio
EVIDENCE#013 exp 24, run fe469a19…, branch exp/24-run-the-rankic-ensemble-in-mlflow-experi