Tool · methodology

The transition planner: a multi-period LP for moving a portfolio under a tax budget

From a current concentrated portfolio to a benchmark-tracking book, one quarter at a time. The LP formulation, how the realised-gain budget binds, what 'cumulative integrated tracking error' means, and a worked transition over eight quarters.

May 202613 min read

A new tax-aware DI account rarely opens with cash. It opens with the legacy portfolio in kind — a concentrated tech sleeve, an old SMA, a self-managed book the holder grew tired of. The question the transition planner answers is the cheapest tax-by-tax path from where you are to where you want to be. This post is about the LP behind it, why the gain budget is binding, what "cumulative integrated tracking error" means, and a worked transition over eight quarters.

Cadence
One-shot, replannable
Default horizon
8 quarters
Solver
CLARABEL (LP form)
Output
Per-quarter sell list
The motivation

One-shot rebalances destroy compounding

Selling everything to rebalance the legacy portfolio to the target benchmark in one transaction realises the entire embedded gain at once, in a single tax year, often at the short-term rate. For a portfolio that's been compounding under an LTCG-deferred regime for years, the one-shot tax bill can wipe out a meaningful fraction of NAV. The transition planner spreads that bill across quarters, opportunistically harvesting embedded losses on the way, and arrives at the target TE without the one-shot drag.

A transition isn't a rebalance. It's a sequence of budget-bound rebalances solved jointly, with the destination as a constraint and the path as the variable.

The model

A multi-period LP with per-period gain budgets

Transition planner LP
min   Σ_{t=1..T}  TE_t(w_t)                           (cumulative integrated TE)
 w_1, …, w_T

s.t.   w_t = w_{t-1} + Δ_t                              (state evolution)
       Σ Δ_t = 1                                        (full investment)
       w_t ≥ 0                                          (long-only)
       realised_gain(Δ_t)  ≤  G_t                       (per-period budget)
       wash_sale_lock(Δ_t)                              (per-period lock vector)
       w_T  →  w_target                                 (terminal target)
Source: TaxView optimizer, transition_planner. T = horizon in quarters; w_t = portfolio weights at end of quarter t; Δ_t = trades in quarter t; G_t = gain budget for quarter t.

Three modelling choices distinguish the transition planner from the daily DI optimizer:

  • It's multi-period. The objective sums TE across all periods, not just the final one. The optimizer finds a path that minimises the integrated drift, not just the endpoint drift.
  • The gain budget is hard. G_t is a constraint, not a penalty. The holder picks the number — typically tied to anticipated external gains they can absorb in each period — and the LP either finds a feasible plan or returns infeasible (in which case the holder relaxes G_t or extends T).
  • Embedded losses are free budget. A trade that realises a loss doesn't consume the gain budget — it expands it for future trades in the same period. So the optimizer naturally sequences harvest first, gains second, to widen the budget envelope.
Cumulative integrated tracking error

Why the objective is path-aware, not endpoint-aware

A naive transition objective minimises TE at the horizon — get as close to the benchmark as possible by Q8. That can produce a plan that holds the legacy portfolio at high TE for 7 quarters and rebalances aggressively in Q8. The cumulative integrated objective penalises every quarter of TE, so the plan ramps the holder toward the benchmark monotonically.

A worked transition

$5M, 12 concentrated tech names, target US large-cap index, 8 quarters

A representative transition: account opens with $5M across 12 concentrated tech names; target is a US large-cap index at 75 bp annual TE; gain budget is $200k/year ($50k/quarter); horizon is 8 quarters.

TE trajectory · phased transition vs one-shot baseline[Illustrative · real backtest pending]
51.64 bp129.07 bp206.5 bp283.93 bp361.36 bpQ0Q4Q8TE (bp) — phased
Source: TaxView synthetic transition, $5M legacy concentrated portfolio → US large-cap index. The one-shot baseline is what would happen if the holder rebalanced to target on day 1; the phased line is the planner's quarter-by-quarter schedule.
After-tax NAV · phased vs one-shot[Illustrative · real backtest pending]
$4.62M$5.31M$5.99M$6.68M$7.37MQ0Q4Q8PhasedOne-shot
Source: same, after-tax NAV in $M. Both lines start at the same gross NAV; the phased line captures less tax-on-realisation in early quarters and more compounding.
Per-quarter schedule · representative output
QtrRealised gainRealised lossTE end of Q
Q0 (open)340 bp
Q1$48k$11k295 bp
Q2$50k$8k250 bp
Q3$50k$22k215 bp
Q4$45k$15k180 bp
Q5$50k$12k150 bp
Q6$50k$9k120 bp
Q7$48k$5k95 bp
Q8$45k$2k73 bp
Cumulative gains $1.31M; cumulative losses $280k; net realised $1.03M. Compare the one-shot alternative: realising the full $1.5M of net gain at trade date 1, in a single tax year.
What changes when the budget moves

Sensitivity to the headline knobs

Sensitivity · same starting portfolio
ConfigurationTE at horizonAfter-tax NAV gain vs one-shot
Budget $100k/yr · 8q horizon165 bp+$94k
Budget $200k/yr · 8q horizon73 bp+$112k
Budget $400k/yr · 8q horizon21 bp+$103k
Budget $200k/yr · 12q horizon44 bp+$148k
Higher budgets get to target faster but the after-tax win plateaus — past a point you're realising more gain than the harvest stream can offset. Longer horizons unambiguously help if the holder can wait.
What the planner doesn't model

Limitations

  • Future prices are unknown. The plan is computed off today's prices and a model of realised volatility; real prices will deviate. The plan is replannable on each rebalance — the holder re-runs the LP with updated holdings and the new schedule supersedes the old one.
  • Future budgets are stated, not derived. The holder declares the gain budget per period. If the holder's external income changes (a bonus, an exit, a carryforward expiring) the budget should be re-stated and the plan re-run.
  • No income-side optimization. The planner doesn't consider dividend yields or qualified dividend treatment. For accounts where dividend income is material to the tax bill, post-process the plan with the holder's tax adviser.

For the daily-cadence strategy that runs after the transition completes, see the tax-aware direct indexing deep-dive. For a related one-shot tool focused on year-end harvesting rather than transition, see the year-end loss harvest maximiser.

Notes & references
  1. The LP form solves cleanly under CLARABEL; for very long horizons (T > 20 quarters) we drop to a rolling 8-quarter window with terminal constraints to keep the problem tractable.
  2. For the broader concentration / phased-realisation literature, see Stein (1998), Diversification of Concentrated Holdings, JWM 1(2).

Educational illustration · numbers illustrative. Not investment, tax, or legal advice.

Related