Backtesting notes

Make the fill assumption visible

A quote-based backtest is only as credible as its timing, side selection, and execution model.

Time eligibility

window_start_ts <= quote.ts < window_end_ts quote.ts + decision_delay <= simulated_action_ts

Filter by market window first. Then apply decision delay and feature-construction delay. Never use a post-resolution field in an active-market simulation.

Quote-side rule

Buying

Cross the ASK for an immediate-buy baseline.

Selling

Cross the BID for an immediate-sell baseline.

Passive

Model queue position and fill probability.

Stress tests

What it cannot prove

Displayed order-book states do not guarantee executable size and do not reconstruct a complete trade tape. A profitable quote-only backtest still needs execution validation.