vestiio

Notes

Rebuilding a year of portfolio history from a single day of holdings

Most brokers hand over today’s positions and nothing else. We reconstruct the history instead, and measured it against a year of Interactive Brokers NAV to find out how close it gets.

When you connect a broker through an aggregator, you usually get one thing: what you hold right now. No history, no cost basis over time, no equity curve. For a product whose whole job is interpreting a portfolio, starting from a single snapshot is a poor beginning. A chart that starts the day you signed up tells you nothing about how you have actually done.

So we reconstruct the history rather than waiting a year to accumulate it. Take today’s positions, walk the transaction record backwards, and value the resulting holdings at each day’s close. The question is not whether that produces a chart. It obviously does. The question is whether the chart is true enough to show someone about their own money.

Measuring it against a broker that keeps proper books

Interactive Brokers publishes a Flex report containing daily net asset value. That gives an independent answer to compare against: run the reconstruction over the same period, then difference the two series day by day.

Over 286 days on a real account, the reconstruction lands here.

0.42%Median daily error against Flex NAV
1.46%90th percentile
4.54%Worst single day

The median is the number that matters for a chart someone reads at a glance. Under half a percent means the shape of the curve, the drawdowns, the recoveries, the relative size of good and bad months, is right. The worst day is the number that matters for trusting a specific figure, and 4.5% is too much to quote a precise value from without saying where it came from.

Where the error comes from

Three sources, none of them mysterious:

  • Pricing differences on the equity side. Our close and the broker’s valuation are not always the same number.
  • Close-versus-fill noise on sells. Where the feed gives a closed lot rather than a fill price, the engine values the sale at the day’s close, which is right on average and wrong on any particular day.
  • A handful of rows the broker dates differently from us, which shifts a day’s value into its neighbour.

The first is irreducible without paying for the same pricing source. The second is a deliberate trade: valuing closed lots at close is defensible and cheap, and the alternative is to leave a hole in the history. The third is a data-alignment problem we can keep chipping at.

Why publish the error rather than the accuracy

It would be easy to write that our reconstruction is 99.6% accurate and leave it there. That framing hides the thing a reader actually needs, which is that one day in ten is off by more than 1.4%, and that the worst case is several percent.

A reconstructed history is a good chart and a poor receipt. It is the right tool for seeing how a portfolio has behaved, and the wrong tool for arguing with your broker about a number.

That distinction is why performance used for anything competitive on Vestiio, the anonymized leaderboard in particular, is not reconstructed. It comes from verified broker cash flows. Reconstruction is for showing you your own history sooner than your broker would.

What is still open

Corporate actions are the honest gap. Splits are handled; the long tail of spin-offs, mergers and unusual distributions is where a reconstruction quietly goes wrong, and where we would expect to find the next set of bad days. The comparison above is also one account at one broker, which is a real test and not a representative sample.

Figures asserted by TestReconstructIBKRAgainstFlex against 286 days of IBKR Flex NAV on the founder’s own account.

Try Vestiio on your own portfolio

Connect a broker read-only, or start in a demo workspace with a synthetic portfolio and see what the analysis looks like before you pay.

See plans and pricing