Reference 0012

Turnover Penalty and No-Trade Zone

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.

The Model

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)

Optimality at the Kink (subgradient rule)

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.

Course Example (f0' = 0.30w - 0.30, target 1.00)

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)

Behavior Summary

Sparse trades

L1 kink produces exact zero trades for all signals inside the zone. Same mechanism as lasso sparsity.

Shrunk trades

Executed trades stop where remaining pull equals the fee — always short of the frictionless target.

Noise filter

Forecast wiggles smaller than fee-sized conviction cause no trading at all.

L2 contrast

Quadratic penalties are smooth: dense small trades, no exact zeros, no zone. Choose L1 for fees, L2 for impact.

Paper Signatures

κ'|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).