Skip to content
Lab & evidence

What the track record does and does not prove

Every book keeps one sealed row per trading day in a tamper-evident chain, and a tear sheet computed from those rows alone. What that record can back up for an outsider, what it cannot, and why it starts on paper today.

Who it is for
Everyone on the book
Reading time
6 min read
Updated

A backtest can be run again until it looks good. A live record cannot: each day happens once, and the only honest way to show it later is to have written it down that evening in a form nobody can quietly improve afterwards. That is what the track record is. Every evening after the close the platform seals one row per book with the day's figures, chains it to the previous row with a cryptographic hash, and never touches it again. A tear sheet is computed from those rows and nothing else, so the statistics and the proof that they were not edited travel together.

What it records each trading day
The book's value and the day's return, SPY the same day, positions, orders, decisions, model spend, paper or live
When
About 18:45 CT every trading day, once the day's prices are in
What makes it tamper-evident
Each row's hash covers the previous row's; alter any past row and every later hash changes
What you can export
The tear sheet (HTML or Markdown), the ledger CSV, the day bodies for recomputing the chain
Where you see it today
The 's P&L block on Review; the API and the export command. A console page comes later
What it changes
Nothing. No trade, limit or weight reads it
Model cost
None. It is arithmetic and one hash per row

What it proves

That the record was not rewritten. The chain starts from a fixed value and every row's hash covers the row before it. An outsider holding your CSV and the day bodies can recompute every hash with any SHA-256 tool; if a return, a position or a date had been altered after the fact, the recomputation breaks at that row. The platform's own database roles cannot update or delete a row either: the writer may only insert.

That paper and live are what they say. Every row carries the connection it was traded on, and every paper row and paper figure is labeled "Model (paper) performance: not GIPS composite performance", because under the GIPS standards a paper portfolio can never be presented as composite performance. The tear sheet reports paper days and live days as separate segments with their own figures and never compounds them into one return. The real-money record begins at a book's first live day as its own series: that first day is a base row with no return stated across the change of account, so it never inherits the paper history before it, and the paper history stays visible beside it. The same holds in reverse if a book returns to paper. The verify command refuses a row that states a return across such a change.

That nothing was left out. Every figure runs from the book's first funded day. There is no way to ask the tear sheet for a flattering window: trailing one, three, six and twelve month figures are printed beside the since-inception figure, never instead of it, and every calendar month is listed.

What the reading layer knew at the time. When the platform's document readers and forecasters seal their own daily logs, the digest of that day's log is written into the same row as the day's net asset value. A claim made later about what the platform read or forecast on a given day can be checked against a digest that provably existed that evening.

What was spent to get the result. Model spend is a column of the ledger. The tear sheet states it in dollars and in basis points of the book a year, and prints a return net of it beside the gross figure.

What it does not prove

That the prices and fills were right. The chain proves the record was not edited; it does not audit the inputs. Marks come from the platform's market-data store and fills from the broker (on paper, from the simulated broker). A live book's broker statements are the check on those, and the disclosures say so.

That nobody with the keys to the database rebuilt it. A hash chain catches an edit by anyone who cannot rewrite every later row. Someone with owner access to the database could recompute the whole tail, and the result would verify with a different head. The defense is an earlier head held somewhere that person cannot reach: the day report and its evening email print the full head every day, and every export carries it. Keep them. Any later export must reproduce the heads you already hold; if it does not, the record was rebuilt.

That paper results would have been live results. Paper fills, slippage and fees are modeled, not incurred, and paper results commonly overstate what a would have achieved. The sheet labels every paper figure as paper for that reason.

That the desk has skill. A rising line over a few weeks is not evidence of anything. The tear sheet quotes the platform's nightly luck or skill reading with its date and its horizon: how many trading days an edge over SPY would need before it could show at all. Until that reading says otherwise, read the record as a record, not as a result. Ratios such as volatility and Sharpe are withheld until 20 daily returns exist. No return is annualized for a period under a year; volatility, Sharpe, turnover and model spend are yearly rates by construction and are labeled that way.

GIPS compliance. The sheet follows the principles a single self-directed account can follow (since inception with no window selection, time-weighted with daily valuation, simulated and live separated, the benchmark named, costs stated) and says plainly that it is not a GIPS-compliant presentation, that paper results are model performance and not composite performance, and that it has not been independently verified.

Recorded and reconstructed rows

A row sealed the evening of its own trading day, within 24 hours of that day's close, is marked recorded. A row written later from end-of-day records the platform already held is marked reconstructed: this happens once when a book's ledger is created (every earlier day is written in one pass so the record starts at inception) and for any day the nightly job missed. Reconstructed rows carry the same figures from the same stored records; what they lack is the contemporaneous seal, and every export counts them and says which they are. The label is part of the hashed content, so it cannot be upgraded later either.

If SPY's closing price has not reached the platform by the evening run, that day's row waits for a re-run inside the window rather than being sealed without its benchmark, because a sealed row can never gain it later.

This is also why the record starts now, on paper: the seal is the one thing that cannot be added afterwards. A book that goes live later continues the same chain with live rows, and its paper months stay in the record as paper.

How returns are computed

Returns are time-weighted with daily valuation: the book is valued at every close, each day's trading result (realized gains, the change in unrealized gains, less broker fees as booked) is divided by the previous close's net asset value, and the days are linked geometrically. Deposits and withdrawals are external cash flows, not returns: they are removed from the day's result and shown as flows, treated as arriving at the end of the day they are booked, the same rule Performance uses. A flow larger than a tenth of the book is noted on that day's sealed row. SPY is compared over exactly the same days from dividend-adjusted closes; "SPY at matched volatility" scales SPY's daily moves to the book's own volatility as an illustration of a risk-matched comparison, not something you could have bought. Turnover counts buys and sells against the average book size, annualized. The Evidence page's backtest half stays separate from all of this: the track record is the forward half, the only half that includes the PM, the and you.

NoteThe verify command is the whole point. If it ever fails for your book, the day report says so that evening with the row it failed at, and the readiness check for the book turns red until it is explained.