Solution · Direct Indexing

Direct indexing is a manufacturing problem.

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.

Account fleet Re-solving
144
accounts / sec / core
10.2×
Fleet throughput vs a commercial CPU baseline
100k
Personalized accounts priced in ~11.6 minutes on one core
$238K
Full harvestable tax budget captured on a $5M book
bit-exact
Deterministic, reproducible, auditable outputs
01 · The problem

A fund is built once. A personalized book is built every night.

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.

02 · Why it's hard

The constraints are coupled — that's what makes it optimization, not bookkeeping.

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.

Taxes change the answer

Wash-sale windows, lot-level holding periods, and household scope mean the "right" trade depends on history, not just today's prices.

Tracking error fights tax

Harvesting and customization pull the portfolio away from the benchmark; staying close pulls it back. The optimizer has to balance both at once.

Scale is the multiplier

Every account is a distinct problem, and the count grows faster than assets. The work scales with the number of problems, not the dollars.

03 · How PRISM fits

A black box with a clean contract.

You bring the inputs; PRISM returns optimized trades and a deterministic, replayable audit log. The methods are proprietary; the contract is simple.

Inputs
  • Positions & tax lots
  • Per-account constraints
  • Benchmark / target
  • Your risk / factor model
  • Cost assumptions
PRISM
Tax-aware optimization core

Prices the whole book before the open — deterministically, at fleet scale.

Outputs
  • Optimized trades, per account
  • After-tax rationale
  • Content-hashed audit log
  • Reproducible run record

Tax-aware by design

Wash-sale handling and lot-level tax accounting are built in, not bolted on — every trade respects the household and the holding-period rules.

Integrates with your risk model

PRISM consumes the factor model you already trust. Keep your risk view; upgrade the engine that acts on it.

04 · The outcome

Price the entire book before the open.

Measured on real US-equity data (Mar–Apr 2026), with losing cases kept in. Comparators are labeled generically.

Fleet throughput
10.2×

~144 personalized accounts/sec/core vs ~14 for a commercial CPU baseline — and it parallelizes linearly.

Whole book, on time
11.6 min

100,000 personalized accounts priced on a single core, versus ~118 minutes for the baseline.

Tax captured
$238K

The full harvestable tax budget on a $5M, 192-name book — the only engine measured still harvesting six figures at 5,000+ names.

Throughput · personalized accounts priced per second, per core
PRISM (GPU)~11.6 min for 100,000 accounts
144 acct/s
Commercial CPU baseline~118 min for 100,000 accounts
14 acct/s
~10.2× per-core throughput, and it parallelizes linearly across cores — the whole personalized book priced inside the overnight window. Full benchmarks →
05 · What you get

Built to pass compliance, not just demos.

Deterministic & reproducible — content-hashed outputs, re-derivable for any audit or exam date.
Transparent — every trade traces to your constraints and explicit tax logic; not a neural black box.
No per-seat solver license — deploy in dedicated cloud, your VPC, or on-prem / air-gapped.
Validate against ground truth — an exact-reference comparator ships so you can check PRISM on your own data.
Predictable runtime — no solver timeouts threatening the open; the worst case is bounded, not a surprise.
REST API + Python SDK — slots into your existing nightly batch and accounting pipeline.

The proof that counts is on your data.

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 →