How we know whether something is real

PlusEV is a research company that trades. This is the method we hold ourselves to, written down so that it can be checked.

The problem

Anyone can find a pattern in a price series. The hard part is knowing whether you found it or made it.

Most of what looks like an edge is the search itself leaving fingerprints: a threshold nudged, a window extended, a bad stretch explained away. None of it feels like cheating from the inside, which is why it needs machinery rather than good intentions.

The bench

2,224 synthetic traders: 1,224 with a behaviour we planted and 1,000 with none, so we can measure what our tests find and what they invent.

1,224 traders we gave a known flaw

1,000 with nothing to find

We build traders with no edge at all, so that our tests have something to stay quiet about.

We hold years of minute-level market data for MCX crude.

Six commitments

01
We write the test before we see the result

We write down what we expect, and what would prove us wrong, before we run the test. Every test is fixed before it runs on a real trader's history.

02
We build traders with no edge and check that we stay quiet

A thousand of the traders on our bench have nothing planted in them at all. What our tests say about those is the measure of what they invent.

03
The rate we may be wrong is fixed in advance

The rate at which we allow ourselves to be wrong is fixed before it is measured, and a result outside it stops the work rather than ships it.

04
One look at held-out data

A result gets one look at held-out data, and the person who runs that look does not rule on it. Research here is reviewed by someone who did not run it.

05
We count our own choices

Every analytical choice is counted, because enough uncounted choices make any result reachable.

06
We publish what fails

Two fixes were pre-registered with predictions attached. Both predictions were wrong, and both are recorded beside the runs that falsified them.

The test designed to make us unnecessary

We run a frontier language model against the same tests, and we publish what it scores whichever way it lands.

If it matches us, our analysis layer has no moat worth the name. A firm that only runs the experiments it expects to win is not running experiments.

Where this stands

Nothing has run on a real trader's history yet, and the framework is not yet locked. When it is, the hash will be published here.

We would rather say that here than let you assume otherwise. The same rule governs everything we publish: a claim is made when it has been earned, and not before.

Three ways this ends

This ends in one of three ways: it works, the market does not hold enough traders to test it on, or the premise is wrong and we stop.

We wrote the third one down in advance, which is the only time writing it down is worth anything.