Rebalancing one portfolio to an index is a solved problem. Doing it for thousands of portfolios — each with its own constraints, taxes, and starting point — while keeping tracking error tight and turnover and cost low, inside a fixed window, is an operations problem. PRISM is the engine that makes it a non-event.
Matching an index is trivial if you ignore cost: buy exactly the index weights and re-buy them whenever they drift. Nobody can afford that, because every trade costs money and, in a taxable account, can realize gains. The real objective is to stay close enough to the benchmark while trading as little as possible and realizing as little tax as possible — a three-way trade-off between tracking error, turnover, and tax that has no obvious answer and changes every day as the index reconstitutes, prices move, and cash flows in and out.
Multiply that trade-off across thousands of accounts, each starting from a different place with different constraints, and the nightly rebalance becomes the operational bottleneck of the whole business. The accounts that drift the most are not the same as the ones that are most expensive to fix, and balancing all of that, for everyone, before the open, is precisely the kind of large-scale constrained optimization PRISM was built to run.
You bring the target index, the current holdings, and the constraints; PRISM returns the minimal, tax-aware trade set that keeps each account on benchmark.
Balances tracking error, turnover, and tax for every account at once.
Stays inside your tracking-error tolerance while doing the least costly thing to get there.
Trading cost and realized tax are in the objective, so the rebalance is the one that nets out best.
The whole book, inside the window — the same throughput that powers the direct-indexing workflow.
A matched-workload pilot runs your real rebalance against your current process and shows the tracking, turnover, cost, and tax trade-offs PRISM finds — every number traceable.
Request a pilot →