I was certain there was something good buried in my backtest folder.

Twelve years of building leaves sediment: by this June, my backtesting/ directory held roughly thirty-two strategy families. Candlestick patterns. Mean reversion in four flavors. Factor models. An ML ranking system. Statistical arbitrage on equities, on forex, on crypto. Some had résumés — results files, optimization runs, paper-trading states. Most had that special half-alive status where you can't remember if you stopped believing or just stopped looking.

So we applied the house rules to all of it, in one sweep: every strategy ends the day as a deploy candidate with evidence, or in a grave with its numbers on the headstone. Nothing stays half-alive.

What one afternoon of honesty found

Exactly one orphaned winner. A variant of our opening-range strategy, backtested on a sector ETF, had scored better than the sibling we'd actually deployed — Sharpe above 2 in a 500-day test — and then sat forgotten in a CSV for sixteen months. Nobody decided against it. Nobody decided anything. It just never got looked at again. It was paper-trading within the hour, on the same 60-day evidence gate as everything else — because a great backtest among many siblings is partly the luck of the draw, and gates exist precisely for numbers you want to believe.

Nineteen graves. A few favorites from the funeral:

  • The most honest backtest in the folder delivered the most brutal verdict. My ETF pairs-trading study was the only one with a full cost model — commissions, spreads, slippage, borrow, financing. Twenty-eight years, walk-forward, six fundamentally-linked pairs. Result: +$499 gross... against $27,308 in costs. The mean reversion was real. The edge was real. The friction ate it alive, three hundred trades at a time. Every pair negative; none beat just buying and holding.
  • The textbook overfit. A Bollinger-bounce strategy showed +233% on one asset at one timeframe — and losses on its siblings at every other configuration. There was literally a file named optimize_<that one asset>.py in the folder. Live paper trading then voted: one win in seven trades. When only one cell of the grid glows, the glow is usually you.
  • The famous strategy that didn't survive contact. Connors' RSI(2) mean reversion is published, respected, decades of citations. My own screening pipeline ran it across twenty-five ETFs with costs, out-of-sample: zero passed. Best Sharpe: 0.08. Published edges are hypotheses about their decade, not promises about yours.
  • The pattern that never fired. A candlestick strategy whose backtest produced zero trades on training data. A strategy that never trades isn't conservative. It's a screensaver.

And zero — zero — profitable strategies hiding. The eight bots running today are, confirmed by two independent sweeps, the complete set of survivors from everything I have ever built.

The number that is the company

Thirty-two families in. Eight running, under gates, still on probation. That's a ~75% discard rate of finished work — and counting the ideas killed at the research stage before code, it's well over ninety percent.

Here's the part that took me twelve years to feel instead of just know: that ratio isn't the failure rate of the company. It's the product. Anyone can generate strategy ideas; the internet is a firehose of them. The scarce asset is a machine that says no with numbers — walk-forward tests that include every cost, paper gates that take months, epitaphs with resurrection conditions instead of zombie folders. The eight survivors are only trustworthy because of the twenty-four headstones behind them.

The plot twist of the audit was finding out I'd already built most of that machine — a validation pipeline with hundreds of logged runs had been quietly failing strategy after strategy all spring. What it lacked wasn't rigor. It was a voice: nothing ever told me what it found, so I kept believing in strategies it had already buried. The fix, like everything else in this story, was plumbing the verdicts to somewhere I actually look.

If you're sitting on your own folder

Run the funeral. One afternoon. Every project gets a verdict with a number on it, or a grave with a reason on it. You will probably find, as I did: one thing worth reviving, many things worth finally mourning, and — the real prize — the discovery that your judgment was better than your bookkeeping all along.

The graveyard isn't the opposite of the portfolio. It's the proof the portfolio means something.


What it cost / what it taught: one afternoon, nineteen admissions of death, and the fantasy that something brilliant was hiding / a strategy business is a rejection business — the survivors are only worth trading because of everything you proved you wouldn't.

The verdicts in this post live in an append-only triage record in the repo, with resurrection conditions for anything that earns a second look.