← Projects·Quantitative Researcher

Bar chart decomposing a high-turnover signal: gross Sharpe 0.20 versus net Sharpe −0.05 at realistic cost, with a ~20 bps break-even turnaround cost.

Backtest Engine + Cost Model

A backtest engine with a realistic cost model: spread + slippage + impact. The interesting result is a signal that *wins gross* and *loses net* : the cost model is the judge of whether a high-frequency idea is deployable.

0.20
Sharpe (gross)
< 0
Sharpe (net, realistic)
loses after cost
~20 bps / RT
Break-even cost
Status
open-source
EVAL-FIRST31 GATESNDA-CLEANPUBLIC DATAALPHASIGNAL > NOISEREPRODUCIBLENOTEBOOK-COMMITTEDOPEN-SOURCEON GITHUB

The hypothesis

If the backtest engine doesn’t model realistic costs, every high-frequency alpha is an illusion. The cost model is part of the strategy : not a footnote.

What the project does

  • Tiny event-driven backtest loop on a high-turnover signal.
  • Cost model: spread + slippage + linear-impact estimate.
  • Scans break-even turnaround cost : the cost level at which Sharpe net → 0.

The result

Net Sharpe vs cost-of-turnaround : high-turnover signal fails the test
Sharpe gross0.20Sharpe net-0.05Cost low (bps)5.00Cost break-even20.00Cost realistic40.00
Left pair: gross Sharpe 0.20 → net Sharpe −0.05 at realistic cost (~40 bps RT). Right triplet: break-even turnaround cost sits at ~20 bps : anything realistic wipes the edge. The cost model is the strategy. A signal that wins gross but loses net is not deployable.
  • Gross Sharpe: 0.20.
  • Realistic net Sharpe: < 0 : the signal loses after applying the cost model.
  • Break-even cost: ~20 bps per round trip.

What’s transferable

A cost-model-aware backtest engine is the gate between a research idea and a deployable strategy. The discipline : ship the break-even turnaround, not just the Sharpe : is the senior reporting standard.

Want to see this project in your stack?

Every project is runnable in one command. The scorecard is the contract.