25 — Pick-Trading Strategy (price the picks, trade up vs down)
25 — Pick-Trading Strategy (price the picks, trade up vs down)
Date: 2026-05-30
Inputs: outputs/pick_value_chart.csv (F22/D2), data/processed/draft_picks.csv,
draft_rosters.csv, player_win_shares.csv, player_season_master.csv,
outputs/player_value_table.csv; market edge from F21.
Artifact: outputs/pick_trade_value.csv (84-slot price + break-even + trade-down zone)
Env: /home/david/code/nsba/.venv/bin/python
LEAD CAVEAT — tiny n. Everything rests on 3 draft seasons / 216 picks, of which only ~124 link to game value and only nsba2 (60/60) is fully clean. The price curve is F22's bootstrap fit (pick-1 95% band 1.5–3.7 WS — wide). The NSBA2 back-test is a single trade, n=1 — it is an illustration of the convex curve's prediction, not proof. Treat the shape and direction as the result; every per-slot number is ± a lot. No multiplicity control on named players.
TL;DR
- The price curve is steeply convex (Jimmy-Johnson). Pick 1 = 100 pts; R1 loses ~4.1 pts/slot, R2 ~1.5, R3 ~0.5, R4–6 a flat ~0.1 floor of ~11 pts. R1→R2-start retention is only 0.42. The top is where value lives.
- Break-even ratios (round-start pts): 1 R1 = 2.4 R2 = 4.6 R3 = 6.9 R4. A first- rounder is worth roughly two-and-a-half second-rounders or between four and five third-rounders. One R2 = ~1.9 R3.
- Trade-up zone = slots 1–25 (R1–early R3): >1 pt lost per slot, steep cliff, and low bust risk (R1 bust 15% vs R5 69%). Trade-down zone = slot ~36 onward (mid-R3 into R4–6): the curve is flat (<0.5 pt/slot) — picks are near-interchangeable lottery tickets, so quantity beats slot there.
- NSBA2 back-test (David): the convex curve was right — the trade was −EV. David shipped his R1 (slot 6) for two extra R2s. The R1 became Daniel Sun, 3.23 WS (a league star); the two extra R2s returned 0.50 WS combined (Annie 0.44 + Edward 0.07). Net −2.73 WS. David finished 4–6, 9th/13; the team that took his R1 (Connor) finished 7–3, 2nd, built around Daniel Sun.
- Pre-draft plan: be a pick SELLER of mid-rounders, never of R1. The field overpays for combine rank (~+13 toss-pts/slot market edge, F21). The arbitrage is to trade DOWN out of combine-inflated early-2nd/3rd slots to combine-believers, bank extra middle-round darts (where your value edge concentrates), and never trade an R1 down for volume — coverage is table-stakes the draft auto-provides (F4/F16).
1. Pick price table & break-even ratios
From pick_value_chart.csv (pick 1 = 100, win-shares-scaled). Round-level summary:
| round | start slot | start pts | avg pts | end pts | retention vs prev R-start | pts lost / slot |
|---|---|---|---|---|---|---|
| 1 | 1 | 100.0 | 68.2 | 44.5 | — | 4.14 |
| 2 | 15 | 42.1 | 30.9 | 22.6 | 0.42 | 1.46 |
| 3 | 29 | 21.7 | 17.8 | 14.9 | 0.52 | 0.51 |
| 4 | 43 | 14.6 | 13.2 | 12.2 | 0.67 | 0.18 |
| 5 | 57 | 12.1 | 11.6 | 11.2 | 0.83 | 0.06 |
| 6 | 71 | 11.2 | 11.0 | 10.9 | 0.93 | 0.02 |
Break-even trade ratios (round-START points):
| you give | = how many | … |
|---|---|---|
| 1 R1 | 2.38 R2 | 4.61 R3 · 6.85 R4 · ~8.3 R5 |
| 1 R2 | 1.94 R3 | 2.88 R4 |
| 1 R3 | 1.49 R4 | — |
Convexity, stated explicitly: the marginal pts you lose by sliding down one slot collapses 4.14 → 1.46 → 0.51 → 0.18 → 0.06 → 0.02 across rounds — a ~200× spread between R1 and R6 slots. That positive second derivative (F22's quadratic a₂ = +3.5) is the whole strategy: value is concentrated at the top and you should pay convex, not linear, prices for early picks. A field using a linear mental chart will systematically undervalue R1 and overvalue late picks.
Artifact pick_trade_value.csv ships per-slot value_pts, round_start_pts,
marg_pts_lost_next_slot, and a flat_trade_down_ok flag for all 84 slots.
2. Talent concentration — where's the cliff vs the shelf?
The curve has two regimes, and they imply opposite trade directions:
- STEEP CLIFF (slots 1–25, R1 → early R3): trade UP. >1 pt lost per slot; this is where scarce stars sit and where each slot you climb buys real, reliable production (R1 bust 15%, R2 39%). Stars are scarce here — in nsba2 only ~4 players cleared ~3 WS / ~0.9 PPTF (Sanjay 1.03, Yufei 1.17, Anurag 0.87, Joshua 0.94, Daniel Sun 0.61) and they were essentially all gone by mid-R1. If a star is about to fall off the board before your slot, trading up to grab him is +EV — you are buying the steep part of the convex curve.
- FLAT SHELF (slot ~36 onward, mid-R3 → R6): trade DOWN is +EV. Marginal value drops below 0.5 pt/slot and bottoms at a ~11-pt floor; F22's bands here are so wide the slots are statistically interchangeable lottery tickets (R5 bust 69%). On this shelf, two darts > one dart: converting one R4 into two R5s is roughly value-neutral on the mean and strictly better on coverage (more swings at a flat hit-rate). This is the only range where trading down for volume is genuinely +EV.
There is no flat shelf inside R1–R2 — the top is pure cliff. So "trade down for volume" is never justified out of R1.
3. Trade rules reconciled with the value findings
Our other findings constrain the chart:
- Production-rate STARS win (F2/F13: PPTF is the north star). Scarce, top-of-curve, and the only thing that separates rosters once everyone has coverage.
- COVERAGE is table-stakes the draft auto-provides (F4/F16: don't-leave-a-hole, but you rarely do). A 5–6 player roster naturally spans the subjects; you don't need to spend a high pick to buy breadth.
⟹ Trading a high pick DOWN for multiple "specialists" sells scarce star production to buy coverage you'd have gotten anyway. That is the exact −EV move the convex curve punishes. Decision rule:
| Situation | Action |
|---|---|
| A scarce star will be gone before your slot, and you're on the cliff (slots ≤25) | TRADE UP. Buy the steep curve + the reliability premium. |
| You're on the flat shelf (slot ≥36) AND genuinely need multiple starters (thin roster, ≤4 picks) | TRADE DOWN for volume — value-neutral, coverage-positive. |
| You hold a high pick and are tempted to flip it for "two solid specialists" | DON'T. Convex curve + coverage-is-free ⇒ −EV. This is the NSBA2 mistake. |
| Default (no star falling, roster ≥5) | STAND PAT. Trades are a small edge vs drafting the value board. |
4. Back-test — David's real NSBA2 trade (n=1, illustrative)
Reconstruction from draft_picks.csv: team "David" (game-side name Xpoes's
X-riskers) holds 0 round-1 picks and 3 round-2 picks (slots 19, 22, 23) — vs the
normal 1+1. In the 12-team snake his natural R1 seat was slot 6; Connor carries
3 R1 picks (slots 4, 6, 11). So David traded his R1 (slot 6) to Connor for two
extra R2s. Confirmed: the abnormal +2 R2 / −1 R1 holding is exactly this swap.
Realized ledger (win shares, nsba2):
| player | WS | PPTF | |
|---|---|---|---|
| GAVE UP — R1 slot 6 → became | Daniel Sun (on Connor) | 3.231 | 0.605 |
| GOT — extra R2 #1 (p22) | Annie Xu | 0.438 | 0.168 |
| GOT — extra R2 #2 (p23) | Edward Li | 0.065 | 0.085 |
| two-pick total | 0.503 | — |
Net = 0.503 − 3.231 = −2.73 WS. Daniel Sun was a league star (3.23 WS, top-5 realized in nsba2); the two specialists returned almost nothing — Edward Li played only 2 games (0.07 WS) and didn't even finish on David's roster.
Chart prediction vs reality: the pick chart alone priced this near break-even (R1 slot-6 ≈ 72 pts vs two R2s ≈ 40+34 = 74 pts — a coin-flip). Reality was a blowout loss because the chart prices the average R1 pick; the actual player at that slot was a star, and the convex curve's whole point is that the realized R1 ceiling dwarfs two R2 floors. The reliability premium (R1 bust 15% vs R2 39%) compounded it.
Standings: David finished 4–6, .400, 9th of 13. Connor, holding David's gifted R1 → Daniel Sun, finished 7–3, .700, 2nd, built around exactly that pick.
VERDICT: −EV, as the convex curve predicts. Trading R1-for-volume to buy specialists sacrificed scarce star production (which wins, F2) for coverage David would have had anyway (F4). One data point, but it lands precisely where theory said it would.
5. Pre-draft trade plan (value-drafting GM)
Combine the convex curve with the ~+13 toss-pts/slot market edge (F21: field drafts the raw combine board, |ρ|≈0.7; value leaks in rounds 3–5):
SEEK: 1. Sell mid-round picks to combine-believers. Where you hold a combine-inflated early-2nd/3rd slot but your value board likes the later names, trade DOWN: hand a combine-greedy rival your high slot for two of theirs deeper, then spend the extra darts in the R3–R5 leak zone where your +13-pt edge lives. You bank volume on the flat shelf and arbitrage their combine over-pay. 2. Trade UP for a falling star on the cliff (slots ≤25). If a top-PPTF name slides because the combine under-rated him (the F21 steal pattern: Kaden W, Ray, Vish), pay up — even 2 R2s for 1 R1 is fine if it lands a genuine star, because the player, not the slot, is what you're buying.
AVOID: 3. Never trade your R1 down for volume. The convex curve + coverage-is-free make it structurally −EV (see §4). The only R1 trade you make is trading up to a specific star. 4. Don't pay for coverage. Specialists to "fill a subject" are a late-round / waiver concern, not a pick-spend — the draft fills your sheet for free (F4/F16).
One-line arbitrage: you are the house selling lottery tickets — flip combine-hyped high picks to believers for volume on the flat shelf, hoard your true R1, and trade up only to catch a falling star.
Limitations
- n tiny / bands wide — 3 seasons, curve on ~124 valued picks, pick-1 band 1.5–3.7 WS.
- Back-test is n=1 — David's trade is an illustration; the −2.73 WS is one realized draw (Daniel Sun could have busted). Direction matches theory; magnitude is anecdotal.
- win_shares embeds team context (F22 caveat) — a star on a bad team scores low; the ledger uses WS because it's a "did the pick help you win" metric, not a pure rating.
- Curve is cross-season average — no difficulty/era adjustment (F20: nsba3 easiest).
- Chart prices slots, not feasibility — 4–6 picks/team and snake order override raw points; check roster counts before any trade-down.
- Market-edge number (F21) is nsba2-leaning and same-season-leaky — +13 is the defensible floor, ceiling ~35; the trade-down arbitrage assumes rivals keep drafting the raw combine (true all 3 seasons).
Reproduce
Reads outputs/pick_value_chart.csv + the draft/value processed tables; writes
outputs/pick_trade_value.csv. All numbers above printed from the .venv python inline.