simulation · training · attestation
train agents in a backtest
that doesn't lie.
Scientia replays the market the way it actually happened — real Coinbase candles, delisted products left in the tape, every cost charged as it occurs — and refuses to report a number it cannot reproduce. We ran 630 momentum configurations through it. You can read what happened, and download the tape.
drag to rotate · 630 candidates · 0 survived
configurations searched
630
36 products · 2,799 days
positive out-of-sample
34
5.4% of the grid
PBO across the grid
0.60
reject above 0.50
beat buy-and-hold
1
benchmark +10%
act one · the lie
every backtest is
beautiful once.
annualised, net
+0.0%what the notebook printed- 00gross signal
- 01− exchange fees
- 02− spread
- 03− latency
- 04− market impact
- 05− survivorship
dashed · the gross curve, kept for comparison
act two · the crucible
an order is not a price.
it is a queue.
01
signal
The agent sees bars stamped as_of ≤ t and nothing else, then emits an intent.
gross edge
02
queue
The order joins the book behind everything already resting at that price, and crosses the spread to get out.
−2.0 bps
03
latency
40 ms between decision and acknowledgement. You are filled when the price is already moving.
−1.0 bps
04
impact
0.1% of the day's volume, priced by the square-root law, not by hope.
−5.6 bps
05
fill
Partial, at a worse price, and charged the venue's actual taker fee.
−4.5 bps
edge remaining
18.0bps / trade
1,400 trades a year pays every one of these costs 1,400 times.
act three · the gauntlet
six gates. almost
nothing gets through.
630 real momentum configurations, backtested on 36 Coinbase products over 2,799 days. 2 failed no gate.
still standing
1,28401
lookahead
02
survivorship
03
overfitting
04
fill fantasy
05
regime luck
06
cost blindness
act four · walk forward
train here.
test there.
never both.
Each fold trains on a window, throws away the bars either side of the boundary, and is scored only on what came after. The discarded gap is the embargo: it is as long as the longest label in the data, because a label that straddles the split carries the answer across it.
One fold of 8 loses money. They are reported, not dropped.
pooled OOS +5.4%·worst fold -4.1%
act five · the cortex
2 regions, and no tenure.
630 configurations were searched. 2 failed no gate outright, and both of those are flagged for overfitting — so nothing here has graduated. That is the finding, not a placeholder: the rest are kept on file with the gate that caught them, because a roster that quietly deletes its mistakes is a marketing page.

hover a region
2 of 630 configurations failed no gate. Both are held on probation, and both are measured against a window the search never saw.
act six · the receipt
a number you can
re-derive.
These are the real hashes for the search behind the leaderboard. The data hash covers a file you can download from this domain and checksum yourself; the code hash covers the engine that replayed it. Change the book size and the impact model charges differently, so it is a different run with a different identifier. Change nothing and it cannot move.
read a full attestationdata_hash
36 products · 2,799 days · point-in-time
sha256:86ffb115125a120c7deb3c94
code_hash
the engine that replayed them
sha256:c22c860f3170ccfbe6ccf5bd
config_hash
windows, costs, universe
sha256:983da8d8e7fdc815c267db1b
trials
configurations searched, recorded not declared
630
run id
run_b67014e416af88e4
same inputs, same id — every time.
the whole thing, compressed