Fills, stops & modeled P&L
How simulated fills are derived from the quoted market, how stop exits are recorded, what 'modeled P&L per contract' means — and how we measure the model against our own live fills.
A backtest is only as honest as its fill assumptions. This page states ours — including what we deliberately do not claim.
How simulated fills work
- Entries and exits are priced from the quoted market at that second — mid-based marks with slippage haircuts applied per leg.
- The haircuts are asymmetric: exits — especially stop exits, where you're crossing the spread under pressure — are haircut harder than entries. That asymmetry matches what live execution data shows.
- Stop exits are recorded at the stop level as the modeling convention: when the cost-to-close crosses the configured stop, the loss is booked there. Live stops can fill worse than the configured level (see the live numbers below) — treat backtested stop losses as the intended loss, not a guaranteed fill.
What "modeled P&L per contract" means
Catalog figures are modeled P&L per contract. We deliberately do not label them "after fees" or "including slippage" as a blanket claim — execution costs are modeled, but your commissions, your broker's routing, and the market's mood on your particular day are yours. The honest reading of any catalog number: this is what the strategy's rules produced against historical quoted markets under our stated modeling conventions.
How we keep the model honest: live measurement
CashFlow Engine trades these strategy families on its own automated accounts, and every live fill is measured against the quoted market:
- Each fill is compared to the quote midpoint at fill time, using a reference quote only when one exists within ±30 seconds — stale references are discarded, not approximated. Positive slippage = cost.
- Across 30,000+ measured fill records (roughly a year of live execution): entry fills averaged $3.40 per contract worse than mid (median $2.00), and 38.8% filled at or better than mid.
- Stops are the expensive part: realized stop fills came in worse than the configured stop target by a median of about $15 per contract, with a fat tail on fast days. This is precisely why the previous section tells you to read backtested stop losses as intentions.
This live-vs-modeled reconciliation is the discipline behind the fill model — and the full fill-by-fill comparison ships as Reality Check on Overdrive.
What this means for your expectations
- Simulated results sit somewhere between "theoretical ceiling" and "live reality" — closer to reality than naive mid-fills, but not a promise.
- The gap is strategy-dependent: high-frequency-of-stop configurations carry more execution drag than configurations that mostly settle.
- If an edge in the catalog is so thin that a few dollars of per-contract slippage erases it, it is not an edge — filter accordingly.
