A backtest can be clean and still miss the market

Backtests have tidy fills. Live books do not. The gap begins with one assumption: what price do you get?

Historical outcome data can test payoff logic. Without order-book snapshots, fees, delay, partial fills, and canceled orders, it cannot reproduce execution.

Freeze the information set

At each simulated decision, use only data available at that moment. A closing price or final settlement value cannot be used as if it were a quote the strategy could have taken.

Keep the retrieval time, source version, and event status in the record. This makes it harder for later information to leak into an earlier decision.

Model the ugly fills

Use bid and ask rather than a midpoint. Apply latency, intended size, slippage, and current fees. Let an order remain partially filled, and let the strategy skip a trade when no executable quote exists.

Imagine a signal that sees a YES ask at 40 cents. Three seconds later the available ask is 46 cents. A midpoint backtest may show a perfect entry; a live order may get a smaller fill or no fill at all.

Compare to abstention

Allow a no-trade baseline. Track turnover, fill rate, exposure, drawdown, and net results. A smooth equity curve is not evidence that the market would have offered every simulated price.

Save the assumptions and rerun the test after changing one at a time. The useful question is not whether the curve looks clean. It is whether the assumptions resemble the path an actual order would take.

Further reading: Prices and order books · Resolution rules · Current fees.

Explore the markets: Open Polymarket (referral link).

A note on risk

Prices can change and positions can lose their full value. Examples are educational, not promises of returns.