The method · published, dated, reproducible

How we measure.

A sextant measures the angle between the horizon and a star, on a graduated arc. We make the same gesture: your file is the horizon, our published references are the star, the eight measures are the arc. The report is the fix you get on the chart.

Nothing is left to judgement: every convention is written, dated, reproducible — and what your file does not let us measure, the report says, in its own words.

Format SEXTANT_LEDGER_V1, version 1.0.0-draft, published on 22/08/2026. Every change is written, dated, before the code →

0102030405060708 THE STARTHE HORIZONTHE GRADUATED ARCTHE SIGHTINGTHE FIX the published referenceyour filethe eight measuresthe readingyour report
01 · The horizon

Your file is the line we see. Here is how we read it.

The horizon is what your export shows — and only that. We bring it into a single format, row by row, adding nothing to it.

An event is a movement, not an order

A statement shows orders. We read movements: what goes out, what comes in, what it costs. A conversion from one crypto to another closes a position and opens another — it counts.

Uploaded as it is, read as it is

We do not correct your export and we do not fill in what is missing. An unreadable row is rejected and counted; the report says how many, and why.

What we refuse to approximate

When a piece of data is missing, we do not estimate it silently. The report writes it, with its reason. We would rather say nothing than give a normal-looking figure.

The format, field by field: the conventions and their reason, validation →

02 · The star

You only measure by sighting a fixed reference. Here are ours.

A star does not move because you look at it. Neither do our references: they are published before your file, and dated.

The reference price

Every trade is valued at the price known at its minute. With no price at that minute, the row is written as unvalued — never estimated.

The basket left untouched

“Doing nothing” means buying what you bought, then never touching it again. It is against that basket that your result is compared — and against bitcoin, as a control.

Sources, dated

We do not certify a source, we date a verification. A source enters the list on five conditions, all published, on real files — never on trust.

The two mentions every report carries. If your source is in the list, the report carries the date of its verification. If it is not there yet, it carries the mention “uncertified source” — and the Mirror still tells you what your file lets us read. Nothing is hidden either way.

The list of sources, dated, and the five conditions →

03 · The graduated arc

Eight graduations. Each measure is read on one of them.

The four core measures are marked in cyan: without them, there is no report. Touch a graduation — the sighting arm lines up with it. Each measure carries its convention and, when it cannot be read, the exact sentence the report writes.

01Core

Net performance#

What your activity produced, after deducting the fees actually paid.

Convention The fees retained are those your export declares, never estimated.

If the data is missing, 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.”

02Core

Cumulative fee cost#

Billed fees, conversions paid inside the rate, and borrowing interest.

Convention Absent any indication, the most prudent assumption: the one that understates your performance.

If the data is missing, 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.”

If you borrowed, the report says

“You borrowed N times over the period. Your export names no interest: the €X.XX above is deduced from the gap between what was borrowed and what was repaid, not declared by you.”

If a position was liquidated, the report says

“A position was liquidated on DD/MM/YYYY at HH:MM UTC. Your export does not tell the sales that liquidation forced from the ones you decided: the operations of that period are counted as decisions, and the concentration and win-rate measures may be distorted by it.”

If a price is missing at a conversion's minute, the report says

“The cost of N conversions out of M could not be measured, for lack of a reference price at their minute. The cost of conversions above therefore covers only the others, and is understated by that much.”

03Core

Buy & hold comparison#

Buy & hold: buy, then do nothing more. The basket you bought, left untouched.

Convention Over the only period where your data and our reference prices overlap.

If the data is missing, the report says

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

If an asset in the basket no longer has a price at the measurement date, the report says

“The basket is valued excluding N asset(s): LIST. These assets stopped being quoted before the measurement date, or have no price on that day. Their value is not estimated, and the comparison covers the rest of the basket.”

04Core

Concentration#

The share of your three best trades in your result.

Convention Computed on matched positions; the exclusion of the others is written in the report.

If the data is missing, 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.”

05

Expectancy and win rate#

Expectancy: the average gain per position, losses included.

Convention On matched positions only.

If the data is missing, the report says

“Calculated on the N matched positions.”

06

Maximum drawdown and recovery time#

The deepest drop from a peak to the trough that follows it, and the days it took to regain that peak.

Convention Not produced until a convention removes deposits and withdrawals from the curve.

If the data is missing, 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.”

If part of your holdings has no price on some days, the report says

“On N day(s) of the curve, part of your holdings had no price: LIST. Those days are valued without those assets. The largest share left unvalued this way was X.XX% of your portfolio, on DD/MM/YYYY — estimated at that asset's nearest known price, which serves only for this bound and never for the curve. That is the order by which the shape of the curve may depart from reality.”

If the peak was never regained, the report says

“Your portfolio had not regained its peak of DD/MM/YYYY by the measurement date. Recovery time is therefore not measured: it has not yet elapsed.”

07

Abstention counterfactual#

When the gap with doing nothing opened up — and when it closed again.

Convention Compares two curves where measure 03 compares two points.

If the data is missing, the report says

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

If the basket of measure 03 could not be valued, the report says

“This measure compares your curve to that of the measure 03 basket, which could not be valued across the whole period. It is not produced.”

08

Reactions within 48 hours after a drop#

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

Convention The threshold and window that define a drop are not yet published; until they are, not produced.

If the data is missing, 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.”

Every sentence above is written here before it is written in a report. They are the ones report no. 0 carries for the three measures it could not produce. The “why” of each convention, measure by measure →

04 · The sighting

A sighting is only worth something if you check the arm. Here is how.

A navigator checks a sextant against a known angle. We check the engine against answers computed by hand — and when a rule changes, the change is written here, dated, before the code.

19

known angles: the cases computed by hand before the code

A case enters the calibration set only if its answer was derived on paper, independently of the code. Each case is tied to a point published on this page — and it is this page that stands when the two diverge.

Set established on 28/08/2026.

The logbook: what changed, and when

  1. Publication of the format, version 1.0.0-draft.

  2. Conversion matching: the rule matched only 192 out of 251, with no warning. Corrected here, then in the code.

  3. Maximum drawdown and the counterfactual: not produced until a convention removes deposits and withdrawals from the curve. On our own history, the measure announced a 99.8% loss for money that had simply been withdrawn.

The full logbook, entry by entry, and the nineteen cases →

If a figure looks wrong to you, write to us: we will publish the challenge and the answer, even if it proves us wrong. That is what makes the method settled — not the absence of correction, but the fact that every correction is written here.

05 · The fix

The fix is your report. It carries the measures — and what it could not measure.

The Mirror first tells you what your file lets us read, in your browser, sending nothing. The audit makes the full sighting and plots the fix on the chart.

The calculation runs in your browser: your file is sent nowhere. See a full report, no. 0 →

SEXTANT REPORTHistory no. 0 · 690 rows retained out of 1,084
01 · Net performance
€2,745.74
02 · Cumulative fee cost
€1,896.00
03 · Versus “doing nothing”
−€106.30
04 · Concentration
164.3%
Not produced — 06, 07 and 08: the report says so, in the words published above.