# Chapter 08 — Portfolio Construction: Dropout, Sizing, and Cadence Status: drafting. Claim inventory: see `README.md` ch. 08. This chapter asks how a given signal should be turned into a book. The answer the TradeAC campaign converged on is that **construction is the performance lever** — more than features, more than seeds — and the best construction found on the clean lake is weekly recompute of a daily signal. ## The construction space tested All runs share the compact stochastic signal, 5-seed ensemble, 5d label, $1M / SPY benchmark / 5bp·15bp·$5 costs. Only the construction varies: | Construction | Run | Net ann | Net IR | MaxDD | Gross ann | Note | |--------------|-----|---------|--------|-------|-----------|------| | Topk10 n_drop1, daily (reference) | exp 26 | +2.13% | +0.21 | −7.69% | +7.02% | baseline | | Topk20, daily | Q03 (exp 35) | −1.88% | −0.253 | −8.80% | +0.64% | wider, no edge | | Fractional-Kelly (cap 0.5) | Q06 (exp 38) | +1.04% | +0.112 | −7.13% | +5.43% | sizing, below bar | | **Weekly recompute** | **Q07 (exp 39)** | **+12.51%** | **+1.243** | **−4.13%** | **+13.59%** | **wins chapter** | | Long-short top10/bottom10, daily | Q09 (exp 41) | −8.38% | −0.834 | −11.22% | +6.57% | $96.7k cost | `PROVEN — EVIDENCE#024/027/028/030 → exp 35/38/39/41`. ## Weekly recompute: the campaign's best result The reference strategy recomputes the topk book **daily** from the same 5-day-label predictions. Q07 kept the signal, topk, n_drop, and risk_degree identical and changed only the rebalance cadence to **weekly** (ISO-week, recompute topk from the freshest score each week). Result: - net +12.51% (IR **1.24**) vs +2.13% (IR 0.21) daily; - maxDD −4.13% vs −7.69%; - cost drag collapsed to ~1.1pp (gross +13.59% → net +12.51%), versus the ~5–9pp drags that dominated every daily construction; - signal metrics byte-identical to exp 26 (IC 0.0502, RankIC 0.0660). `PROVEN — EVIDENCE#028 → exp 39`. The prediction is a 5-day-ahead cross-sectional rank; holding it weekly instead of churning it daily lets the edge survive the 20bp round-trip. This is the strongest single construction result in the book — `TODO(evidence-needed: reproduce on a second window, then take to a live round)`. ## What failed, and why - **Wider book (Q03):** topk 10→20 halves per-name size and cuts book vol (std 0.0048 vs 0.0065) but adds no edge net of cost (−1.88%). Spreading the same signal thinner does not create value. - **Fractional Kelly (Q06):** sizing by score magnitude at half-Kelly (cap_frac 0.5) turned the negative daily book mildly positive (+1.04%, IR 0.11) and trimmed maxDD to −7.13% — but it is a weak paste-over of the turnover problem, not a fix, and lands far below the 0.21 acceptance bar. - **Long-short (Q09):** the top10/bottom10 market-neutral construction has a genuine *pre-cost* edge (gross +6.57%, IR 0.656) — the signal does rank longs over shorts — but daily long-short turnover is prohibitive: **total cost $96,721 ≈ 9.7% of a $1M book**, 2485 trades in ~150 days, fill rate 0.40, net −8.38%. `PROVEN — EVIDENCE#030 → exp 41`. The same weekly cadence that fixed Q07 was deliberately *not* applied here; the pair is a controlled comparison of cadence on the same signal family. Pre-clean-lake context: stochastic-control OptimalStopControl constructions (exp 13/14) bled ~11pp to cost — the same turnover mechanism, different strategy class. Those are idea material only. `HYPOTHESIS (idea: pre-clean-lake) — EVIDENCE#006/007`. ## Desk rules distilled from this chapter 1. Construction is a first-class lever: identical signal, +10pp of net annual difference between daily and weekly recompute (exp 26 vs 39). 2. Before changing the signal, ask whether turnover is the binding constraint — weekly cadence buys more than most feature additions. 3. Market-neutral structures are only worth the cost if the long-short spread clears two-sided turnover; on this panel it does not. 4. `TODO(evidence-needed: weekly + long-short combination — the pre-cost edge of Q09 may clear costs at weekly cadence)` ## Evidence cited in this chapter | Tag | Source | |-----|--------| | `EVIDENCE#028` | exp 39 (Q07), run `eb38588c…`, branch `exp/39-q07-weekly-rebalance-recompute-topkdropo` | | `EVIDENCE#024` | exp 35 (Q03), run `2a844c02…`, branch `exp/35-q03-topk20-widen-topkdropout-portfolio-f` | | `EVIDENCE#027` | exp 38 (Q06), run `afca4b80…`, branch `exp/38-q06-kelly-sizing-score-magnitude-fractio` | | `EVIDENCE#030` | exp 41 (Q09), run `0647eadd…`, branch `exp/41-q09-long-short-market-neutral-long-top-1` | | reference | exp 26, run `21afc6af…`, branch `exp/26-test-whether-reducing-topkdropout-daily` | | pre-clean idea | exp 13/14, EVIDENCE#006/007 |