Reading a report

What every figure in the report means — and what it does not say

An audit report comes down to eight measures and a few sentences of reservation. This page takes them one by one: what the measure says, on a worked example you can redo by hand, and what it does not say. Nothing here was written for this page — the definitions and the reservation sentences are those of the published method, taken word for word.

The example that runs through the page is made up for the demonstration: it is nobody's history. It is also one of the cases in our calibration set — our tests recompute it every time the measurement engine changes, which is why its figures are these and no others.

Published on 15/09/2026. Any correction made to this page is dated, not rewritten.

00 · Reading order

The report, in the order you will read it

Seven parts, always in this order. The first fits on one page; the fifth is the one to read first.

PartWhat it contains
0 · The verdictOne page, one sentence, the four core figures. No recommendation, no judgement: figures.
1 · What your file allowed us to measureRows kept, rejected, warned — as numbers, never "a few". And the two statements every report carries (part 04 of this page).
2 · The four core measuresAlways present: without them, there is no audit.
3 · The additional measuresPresent only if your file allows them. Their absence degrades the report without cancelling it.
4 · What this report does not sayEvery measure your file did not allow, with the sentence published in advance. This is the part to read first.
5 · What this audit is notNot investment advice, not tax treatment, not a certification, not access to your accounts.
6 · The method, datedThe version of the method applied, with its date. Corrections to the method are dated, not rewritten: an old report stays replayable.
↑ Back to top
01 · The example

One round trip, nothing else

Two rows. Enough to produce the five measures that need no equity curve, and to redo them by hand.

DateMovementAmountFeeWhat actually left or came in
10/01/2024Buy 1 BTC€40,000€40€40,040 out
10/03/2024Sell 1 BTC€50,000€50€49,950 in

The requested period ends on 15/04/2024, the day bitcoin is worth €50,000 in our reference series. Fees are declared on top of the amounts — that is what the right-hand column reflects, and that is the fee scope discussed under measure 02.

↑ Back to top
02 · The core

The four measures that are always present

Without these four, there is no in-depth audit: we look at your file before any quote, and if it does not allow them, nothing is invoiced.

01 · Net performance

Core

Net: after the fees actually paid.

What it measures. What was realised: the net proceeds of each sale, minus the cost basis of what was sold — at weighted average cost, never first-in-first-out. A position still open does not count: an unrealised gain is not a gain.

On the example. 49,950 − 40,040 = €9,910. The gross version, without fees, would give €10,000. The €90 difference is the fees — that is the next measure.

What it does not say. Nothing about what you still hold: a purchase with no sale is worth €0 here, whatever its value today. And nothing about whether that result is good — the buy & hold comparison, measure 03, is what asks that question.

If your file does not allow it, the report says

“Your export does not contain the fees you actually paid. The figure above is a gross return: it ignores what your transactions cost you. We do not estimate it — an estimated fee figure would be exactly the kind of number we refuse to produce.”

02 · Cumulative fee cost

Core

Every fee actually paid, in the currency where it was charged, valued in euros on the day of each charge.

What it measures. Money that left — including the fees of a failed transaction, and the network fees of a transfer between your own accounts. The report gives the total, and that total against gross performance.

On the example. 40 + 50 = €90, that is 0.9% of a gross performance of €10,000.

What it does not say. It does not depend on the scope of the fees — "on top of the amounts" or "already inside them", 40 + 50 make 90 either way. What the scope changes is net performance: €9,910 here; €10,000 had the fees already been inside the amounts. That field exists in no export format we have examined. When your file does not say which of the two readings applies, we keep the one that works against you, and the report states on how many operations.

If your file does not allow it, the report says

“The fees are expressed in the currency where they were charged. Your export does not let us tell whether they are already deducted from the amounts or added on top: we kept the most cautious assumption, the one that understates your performance. The euro total, however, is calculated: the scope decides whether fees are added to the amounts or already inside them, it does not change their sum. The report states on how many operations that assumption had to be made.”

03 · Buy & hold comparison

Core

Buy & hold: buy, then do nothing.

What it measures. The main reference is your own basket: the assets you actually bought, on your purchase dates, purchase fees included — but without any of your sales. It answers the only question that concerns you: did my trading in and out earn more than if I had done nothing? A second figure, for information, compares the same capital to bitcoin, every euro entering it on the date you actually committed it.

On the example. The basket: 1 BTC, cost €40,040, without the sale. Its value on 15/04: €50,000. Result of doing nothing: €9,960. Your actual result: €9,910. Difference: −€50 — your trading in and out earned €50 less than doing nothing, and those €50 are exactly the fee on the sale, which doing nothing never pays. The second figure: €40,040 committed on 10/01 at €40,000 per bitcoin, that is 1.001 BTC; on 15/04, €50,050; result €10,010. Here the asset held is already bitcoin: the two figures differ only by the €40 purchase fee, which the reference never paid — €40 at the 10/01 price is worth €50 at the 15/04 price.

What it does not say. This figure is not a recommendation. It says what a reference asset would have done over the same period, not what you should have done. We do not sell advice and this page gives none. The hypothetical reference pays no fees, which favours it slightly against your basket, which does pay them. We do not simulate a fee schedule for a transaction that never took place: that would be exactly the estimated figure this page refuses to produce.

The reading that would suit us — and you — would say your decisions added value. On this example, they removed €50. The report writes it that way.

If your file does not allow it, the report says

“The comparison covers the period from DD/MM to DD/MM, the only period where your data and our reference prices overlap. Outside that window, we do not compare.”

04 · Concentration

Core

The share of your three best operations in your result.

What it measures. On matched positions — a buy reconciled with the sell that closes it — the weight of the three best in the result of those positions. A position still open does not enter here.

On the example. A single position, +€9,910: the three best come down to that one, 100%. A four-position variant, made up for the demonstration and redoable: +5,000, +3,000, +1,500 and +€410, same total of €9,910. The three best weigh €9,500, that is 95.9% — the fourth brought 4% of the result.

What it does not say. When the result of the period is zero or negative, a "share of the result" has no meaning: no percentage is produced. The report then gives the three raw amounts, and says so.

If your file does not allow it, the report says

“N positions out of M could be matched. The remaining M−N correspond to assets acquired before the period covered by your export: they are excluded from this calculation, and that exclusion can make it look better than it is.”

↑ Back to top
03 · The additions

The four measures present only if your file allows them

Their absence degrades the report without cancelling it. Three of them require an equity curve — your portfolio's value day by day — which two rows cannot trace, and which most exports do not allow us to reconstruct. When they are missing, the report says so with the sentences below, and does not estimate them.

05 · Expectancy and win rate

Expectancy: the average gain per position, losses included.

What it measures. On the same matched positions: the average result per position, and the share of winning positions. The unit of count is the position, not the sale.

On the example. One position, +€9,910: expectancy €9,910, win rate 100% — two figures that say nothing on a single position, and the report says so by giving the count. On the four-position variant: expectancy 9,910 / 4 = €2,477.50, win rate 4 out of 4.

What it does not say. Had the bitcoin in the example been sold in three parts, it would still be a single position, closed on the date of the last sale — not three wins. Counting sale by sale is the version that would suit us, because a winning exit split into parts mechanically inflates the rate. We do not take it.

The report always says

“Calculated on the N matched positions.”

06 · Maximum drawdown and recovery time

Maximum drawdown: the deepest peak-to-trough drop — and the time it took to get back to the peak.

Requires: a reconstructed equity curve — your portfolio's value traced day by day — therefore historical prices for all your assets.

What it does not say. No example here: two rows do not make a curve. A 40% maximum drawdown requires a 66.7% gain to get back to where you started — that is arithmetic, and the calculator redoes it with your figures.

If your file does not allow it, the report says

“The equity curve of your portfolio could not be reconstructed: N assets in your history do not have a price series available for the period. Maximum drawdown and recovery time are therefore not measured — we prefer to say nothing rather than estimate.”

07 · Abstention counterfactual

What would have happened had you done nothing.

Requires: the equity curve above.

What it does not say. It does not replace the buy & hold comparison, which needs no curve: measure 03 compares two results on one date, this one compares two trajectories day by day.

If your file does not allow it, the report says

“This measure depends on the equity curve, which could not be reconstructed.”

08 · Reactions within 48 hours after a drop

What you did in the two days that followed a drop.

Requires: the exact hour of each entry.

What it does not say. An export dated by the day remains readable for everything else; this is the one measure it makes impossible, and the report says so rather than guess an hour.

If your file does not allow it, the report says

“Your export timestamps are given by day, or in a timezone we could not establish. This diagnostic requires the exact hour of each entry: it is not produced.”

↑ Back to top
04 · The two statements

Two unrelated questions

Every report carries both. They do not offset each other.

StatementWhat it says
Certified or acceptedHave we already tested and dated this export format? That is a question about our competence, not about you.
Declared document or verified at sourceCould you edit what you gave us? A submitted file remains a declared document, whatever its source.

A file from a platform we have never tested still gets its report — it simply carries the "source not certified" statement. Not having tested an export and not knowing how to read it are two different things. And a file from a certified source is still a file its owner can edit: it will never carry the statement of a reading taken directly at source.

↑ Back to top
05 · Three reflexes

How to read a report — ours or anyone's

Read what it does not say first

A missing figure is not a flaw in the report: it is a limit of your file, written down. The field that says whether fees are already deducted from the amounts exists in no export format we have examined — a report with no reservation at all on a standard export would be the suspicious thing.

Redo a figure

Take net performance: the net proceeds of each sale, minus the weighted-average cost basis of what was sold. On the example, 49,950 − 40,040. If you do not land on our figure to the cent, it is for us to say why — the rounding mode is published precisely for that, and a report that cannot be redone is not a verification.

Look at the dates

The version of the method applied. The date on which the source of your export was verified — and how many months ago that was. The fingerprint of the price series the report read. A 2026 report reread in 2028 must be able to say exactly what it read; if it cannot, it no longer proves anything.

↑ Back to top

The report itself is the audit: €400, paid after the walkthrough. To know first what your file lets us measure, The Mirror says so in your browser, sending nothing. A question about a measure: [email protected].