Personalization is easy to sell and hard to build. The moment taxes, tax lots, restrictions, and account count arrive together, building a personalized portfolio stops being a screening exercise and becomes an optimization problem you have to solve correctly, for every account, before the open. PRISM is the engine that does exactly that.
A pooled index fund is a single portfolio shared by everyone, which is why it is cheap to run — you build it once and the work does not grow when a new investor arrives. Direct indexing inverts that on purpose. Each investor owns the underlying securities directly, in an account shaped around their situation: their cost basis, their concentrated position, their values screens, their state, the gain they cannot afford to realize. That is a genuinely better product, and it is a genuinely harder thing to produce, because now every account is its own problem that has to be re-solved as the world changes.
The promise you make when you sell personalization is not a portfolio — it is a promise to re-solve that portfolio, correctly and on time, for as long as the client stays. Multiply that promise across tens of thousands of accounts and a fixed overnight window, and the comfortable desk discovers a wall it did not see coming.
Each of these alone is manageable. Together, on a deadline, they are the reason most stacks hit a scaling wall between a few thousand and a few tens of thousands of accounts.
Wash-sale windows, lot-level holding periods, and household scope mean the "right" trade depends on history, not just today's prices.
Harvesting and customization pull the portfolio away from the benchmark; staying close pulls it back. The optimizer has to balance both at once.
Every account is a distinct problem, and the count grows faster than assets. The work scales with the number of problems, not the dollars.
You bring the inputs; PRISM returns optimized trades and a deterministic, replayable audit log. The methods are proprietary; the contract is simple.
Prices the whole book before the open — deterministically, at fleet scale.
Wash-sale handling and lot-level tax accounting are built in, not bolted on — every trade respects the household and the holding-period rules.
PRISM consumes the factor model you already trust. Keep your risk view; upgrade the engine that acts on it.
Measured on real US-equity data (Mar–Apr 2026), with losing cases kept in. Comparators are labeled generically.
~144 personalized accounts/sec/core vs ~14 for a commercial CPU baseline — and it parallelizes linearly.
100,000 personalized accounts priced on a single core, versus ~118 minutes for the baseline.
The full harvestable tax budget on a $5M, 192-name book — the only engine measured still harvesting six figures at 5,000+ names.
A 30-day, buyer-owned matched-workload pilot: PRISM vs your current stack, on your universe, constraints, costs, and tax rules — a pass/fail metric you set before we start, every losing case shown.
Request a matched-workload pilot →