The record
Every cycle turn since 2012, and what it said.
The model has a call for 5,047 days —
every day back to 2012-10-27, scored using
only the data available on each of those days. Here is what it said at each cycle
top and bottom.
Read the last row first. The two tops it handles best, 2013 and 2017, were
both violent blow-offs, and the rule that catches them only triggers in a market
going near-vertical — it has not fired once since 2017. Into the 2025 peak, the most
recent turn and the one most like today, it was defensive on just 3 of the 30 days
before. That is the number to judge it on.
And the part that is a backtest
Every performance figure we publish is a historical simulation, not a live
result. Across three completed Bitcoin cycles the model returned
3.25×,
3.08× and
2.38× against buy-and-hold.
The current cycle is still open: it reads
1.95× as of
2026-09-22, and an open cycle's
multiple moves with the price — treat it as a live reading, not a result.
Through that cycle the modelled portfolio's worst peak-to-trough fall was
−26.8%, against
−53.1% for holding.
We also test it on 18 separate stretches of history it was never tuned on. It lost
less in the crashes in 15/18 of them
— a consistency check, not proof of timing skill on its own, since a portfolio with
no timing at the model's own market exposure scores the same — but out-earned
holding in only 12/18.
Over a short stretch it is not reliably better than simply holding bitcoin. Over a
whole cycle it has been.
Each cycle has its own page — what the model did, turn by turn, including where it
was wrong: 2013–15,
2015–18,
2019–22, and the open
2023–26.
And the grades, marked by machine
The turning points are found by a rule rather than chosen by us — every cycle top,
cycle bottom, mid-cycle high and interim low in the price history, 92 of them — and what the model was doing at each
one is marked automatically out of 4.00.
These are rubric version 2 marks. The
rubric changed, so they are not comparable to any grade this site published before it:
read them against each other, not against a number you remember.
- Cycle bottoms (4 events)
- 4.00
- Cycle tops (4 events — the open frontier)
- 2.25
- Interim lows (42 events — the open frontier)
- 1.86
- Mid-cycle highs (42 rallies it deliberately held through)
- sold into 7 of 42
- Every event (all 92)
- 1.56
- Across the targets alone (tops, bottoms and dips — the classes where higher is better)
- 2.06
The row that matters is the first one. Cycle bottoms are the four generational
lows — 2013, 2015, 2018 and 2022 — and the model scores
4.00 of 4.00 across all four generational lows, with Heavy DCA switched on at every one of those dates. Cycle tops score
2.25, selling at the peak on
3 of
4. It buys the bottom better than it
sells the top, and that has been true for four cycles running.
The last row runs the other way on purpose. Mid-cycle highs are the
42 swing highs inside bull markets
that then kept going — places where selling feels smart and costs money. The model sold
into only 7 of them, and
holding through the rest is exactly what the dollar backtest pays for. The rubric still
marks that refusal down — as a grade it reads
0.79 of 4.00 — and we publish that
mark rather than tune it away, because every measured way of raising it sold rallies
that kept rallying. A better-looking scorecard there is a worse result, and we would
rather explain this paragraph than sell that trade.
Read the two blended rows accordingly. The all-92 figure folds that inverted row in
with everything else, so it is the strictest number on this page, not the model’s
batting average on the calls it exists to make — that is the
2.06, and both are printed above.
Cycle tops and interim lows are marked open frontier because they are exactly
that: the two marks we are still working, published at current strength rather than
held back until they flatter us. This section will change when they do, and the
commit history will show when.
Two more marks, both narrower than they look. The navigator's held-out grade is
4.00, but part of that holdout was
tuned against and the release gate enforces a floor on the number — it is a kill
criterion we can fail, not proof the model generalises. The rotation meter matched the
expected label on 37/40 sampled days
inside historical alt-season and Bitcoin-season windows; those windows were drawn after
the fact, and nothing in that count prices what a rotation actually returns.
In the seven days to 2026-09-08 the register logs 16 candidate changes measured against these same gates and not shipped.