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>.pyin 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.