Sparse trades
L1 kink produces exact zero trades for all signals inside the zone. Same mechanism as lasso sparsity.
An L1 trade penalty creates a band of holdings where the optimal trade is exactly zero, and shrinks every executed trade short of its frictionless target.
minimize f0(w) + κ |w - w_prev| f0: frictionless objective (risk - return) w_prev: yesterday's holding κ: proportional cost per unit traded convex: convex f0 + convex kink = convex (Lesson 0011)
smooth point: f0'(w) + κ sign(w - w_prev) = 0 at the kink: hold ⇔ |f0'(w_prev)| <= κ intuition: the kink carries every slope in [-κ, +κ] and absorbs any push up to the fee.
trade upward stops at: w* = 1 - κ/0.30 no-trade zone: [1 - κ/0.30 , 1 + κ/0.30] κ = 0.03 -> zone starts at 90% κ = 0.06 -> zone starts at 80% κ = 0.12 -> zone starts at 60% general quadratic with curvature c: zone half-width = κ / c (wider with fee, narrower with conviction)
L1 kink produces exact zero trades for all signals inside the zone. Same mechanism as lasso sparsity.
Executed trades stop where remaining pull equals the fee — always short of the frictionless target.
Forecast wiggles smaller than fee-sized conviction cause no trading at all.
Quadratic penalties are smooth: dense small trades, no exact zeros, no zone. Choose L1 for fees, L2 for impact.
κ'|w - w_prev| or ||Λ(w - w_prev)||_1 -> L1: sparse, zones (w - w_prev)' Π (w - w_prev) -> L2: impact, dense
Use this page with Lesson 0012, Reference 0011 (why the kink is legal), and Reference 0013 (budget form).