Branchmark

Most strategy results are noise wearing a suit.

Branchmark is a paper-only harness for testing whether a systematic equity strategy actually works. It is built almost entirely out of things that stop its author from fooling himself.

Everyone who picks stocks has a story about the time they were right. Almost nobody has a record. The difference is not discipline, it is bookkeeping: a prediction written down before the outcome exists, scored by a rule chosen before the numbers arrived, kept whether it wins or loses.

That is the whole product. Strategies run in parallel on identical data, on a two-week cycle, against two controls: buying the whole market, and picking at random. If an idea cannot beat a coin flip, the harness says so.

The gate

Real money is only ever considered once all three of these hold:

  1. 26 completed cycles
  2. alpha t-stat vs SPY > 2
  3. beats the random portfolio

Passing cycle 26 with a losing record is not a win. It is a finished experiment that failed, and it gets recorded as one.

The first cycle runs 31 August 2026 and the 26th lands in August 2027. The gate lives in the source, not in a document, so it cannot be quietly moved when it becomes inconvenient.

The metric was chosen before the experiment

The obvious way to score a strategy is to ask whether it made money. Before running anything, the project simulated whether that question could even be answered at this sample size. It cannot.

Portfolio alpha detected a planted effect 0% of the time at 26 cycles — at every effect size tested, including 15%/yr.

A metric that blind will never produce a result, only a feeling. Rank information coefficient, measured on identical data, carried roughly three times the t-stat. So the app leads with rank IC, demotes alpha to confirmation, and shows the cycle count as operational progress rather than as evidence. That is a power analysis run before the experiment instead of a post-mortem after it.

Writing a strategy is where overfitting happens

A strategy is a markdown file: prose for humans, a small spec block for the machine. You cannot save one without filling in what result would make you abandon it — before any data exists.

As you write a rule, the app shows what it would have done historically. That fast feedback is also the danger, so it is instrumented. Sweep a threshold and watch what happens:

thresholdeventsnamesepisodesedge
> 0%108,7285661-0.26%
> 20%59,1825531-0.15%
> 40%24,4145341-0.06%
> 60%10,0784515+0.03%
> 80%4,55633713+0.27%
An author sweeping this column stops at >80% and believes they found an edge. The episode count says it is 13 independent market episodes, not 4,556 observations — and having explored five thresholds, the significance bar rises from t>2.00 to t>2.60. Both numbers sit on screen while you search.

Nothing graduates, and nothing is deleted

A branch is inconclusive until its own pre-registered horizon passes, then falsified or not falsified. Never "proven" — the measurement cannot support the word, and a UI that implies a verdict is coming will have one invented for it.

Losing branches are kept, and this is the part most tools get wrong. Deleting your failures corrupts your track record by exactly the mechanism that makes a backtest on today's index members lie. A backtest that only sees surviving companies proves that survivors survived; a strategy log that only keeps branches that worked proves that your branches worked. Same bias, same shape. Running a dead branch costs four milliseconds, so retiring one is a display decision rather than a deletion.

The one hypothesis that cannot be backtested

The question the project was built to answer: among stocks that already have momentum, does an LLM's reading of recent news predict whether that momentum continues? Two nearly identical strategies differ in exactly that one input.

It cannot be backtested. The model was trained on that history, so a backtest would look spectacular and mean nothing. There is no shortcut available — only the forward clock, two weeks at a time, until August 2027. The project accepts a year of waiting rather than take a number it knows is fake.

What this is not

Paper trading only. Not advice, and not a recommendation service. No real money has been committed and none is being solicited. Prices are generated synthetically by default and labelled as such everywhere they appear; the free real-data path is missing roughly 15% of index members outright, mostly to acquisitions and renames, and the app says so next to the numbers rather than in a footnote.

Paper performance does not transfer to real money. Six good months here will feel like readiness that has not been earned.

Open the app