After-tax alpha, lot by lot, every trading day.
A CVXPY-backed direct-indexing solver harvests losses at the tax-lot level, enforces 30-day wash-sale windows across substantially-identical securities, and reports tracking-error and turnover honestly — on real backtest data, over real horizons, in four jurisdictions.
After-tax alpha · annualized
Avg tracking error
Annual turnover
Rolling 252-day tracking error
Mean over period. Soft cap at 150 bps.
Annualized turnover
One-way; counts buys and sells once.
Lifetime harvested loss / NAV
Cumulative; wash-sale-compliant lots only.
Same strategy, nine start years. Read the regimes, not the average.
A single 10-year track is a cherry-pick to a quant skimmer. The cells below run the same strategy starting Jan 2 of nine consecutive years, with shared y-axis so regimes are directly comparable. End-of-window relative return (in bps vs. benchmark) is printed in each cell.
Four invariants the optimizer enforces every rebalance.
- 01
Tracking-error budget is hard.
A per-account constraint (default 100 bps annualized, tunable) caps active risk versus the benchmark. The optimizer trades off tracking error against tax cost in the objective; it does not silently breach the cap when tax opportunities are abundant.
- 02
HIFO at the lot, not the position.
Every position is a stack of dated lots with cost basis. Sells identify specific lots — highest cost first — and the realized gain/loss reflects the lot, not the average. Short-term and long-term offsets are bucketed separately.
- 03
Wash-sale windows lock substantially-identical names.
A 30-day window opens at every loss-harvest sale. Within it, the solver will not repurchase the ticker — or any substantially-identical security — and rotates into a correlation-matched substitute to preserve factor exposure. Jurisdictional equivalents (Canadian superficial-loss, Australian wash-sale, Indian Section 94(7)) use their own statute logic.
- 04
Every trade carries its reason.
The run record stores the strategy snapshot, the covariance matrix, the constraint set, and the lot-level decision behind every line item. Replays are deterministic; audits don't require re-deriving anything.
Six strategies in the catalog today.
Tax-Aware Direct Indexing
tax_aware_di_us_standardTrack a benchmark. Harvest losses lot by lot. Respect wash sales.
Long/Short Tax-Aware
long_short_tax_awareActive extension. Long more than the book, short the difference. 130/30 through 250/150.
Market-Neutral Pair Sleeve
market_neutral_pair_sleeveLong/short with zero net exposure. No market beta — return comes from cross-sectional positioning.
Multi-Jurisdiction Direct Indexing
multi_jurisdiction_diDirect indexing across the US, Canada, Australia, and India — each with its own tax rules.
Options Overlay
options_overlayConcentrated-position management with covered calls, protective puts, and collars.
Variable Prepaid Forward
variable_prepaid_forwardConcentrated-position monetization through a structured forward sale.