Home › Guides › How to backtest prediction market strategies

How to backtest prediction market strategies

Updated September 25, 2026 · facts checked against the dated sources listed below

A backtest applies a fixed rule to past markets: take a price you could have seen at a set time, apply the rule, and compare what you would have paid with what the shares paid out. Our free datasets include 1,918 resolved Polymarket markets with prices 30, 7 and 1 days before they closed, and the worked example below shows how fast a paper edge shrinks once spreads, fees, clustered outcomes and look-ahead bias are counted.

Data you can use

Our data page offers free CSV and JSON files under CC BY 4.0: resolved markets with their prices 30, 7 and 1 days before the close and the result; resolution times with each market's scheduled end, actual close and UMA proposals and disputes; Bitcoin and Ethereum daily strikes with the price a day before; Polymarket and Kalshi prices for the same outcomes at the same time; and the 100 biggest markets of all time by volume.

For anything else, build your own sample from Polymarket's public prices-history endpoint, which returns timestamped prices for an outcome token over a window or interval at a spacing you choose. Record when you collected each file, since several of our samples are re-collected weekly.

See also: Free Polymarket data · How to track price history · Load the files into Google Sheets

A worked example: buy the favorite a week out

The accuracy file collected on September 24, 2026 covers 1,918 markets from 225 high-volume events that closed between September 25, 2025 and September 21, 2026. The rule: a week before each close, buy one Yes share of every outcome priced at 50 cents or more. That picks 246 markets from 149 events at an average of 73.3 cents, and 184 of them won, a 74.8% hit rate.

The 246 shares cost $180.25 and paid $184.00, a profit of $3.75, or 2.1%, before costs. Assume each fill was 1 cent worse than the recorded price, up to $1, and add a taker fee at the 0.05 rate that applied to sports, economics, culture, weather and other markets on September 25, 2026, and the result becomes a $0.66 loss. The 75% win rate was already in the price. The file is re-collected weekly, so a later download gives somewhat different numbers.

See also: How accurate is Polymarket?

The same test on long shots

Buying one Yes share of every outcome under 10 cents a week out picks 1,243 markets from 167 events at an average of 1.7 cents. Only 48 won, but at such low prices that was enough on paper: $20.93 of shares paid $48.00, a 129% return.

It does not survive modest costs. With fills 1 cent worse the return falls to 44%, and with fills 2 cents worse plus the 0.05 fee it is about zero: 4 cents of profit on $47.96. The wins were also bunched. The 48 came from 36 events, and three events produced $12.40 of the $27.07 paper profit: a market on names in newly released Epstein files, Bitcoin's August 2026 price ladder and a market on when military action against Iran would end.

See also: Favorite-longshot bias

Look-ahead bias

Use only what was known when the rule fires. Filtering on lifetime volume, or on the sample itself, breaks this: our accuracy file keeps the highest-volume events that had already closed, a list nobody could have drawn up a week before those closes.

Timing is the subtler trap. The file measures prices a set number of days before each market's actual close, which suits a calibration study but not a trading rule. Matched against our resolution-time file, 85 of the 246 favorites and 535 of the 1,243 long shots closed before their scheduled end date, so a week before those closes nobody knew the close was a week away. Key trading rules to the scheduled end date or to calendar time instead.

See also: How long does Polymarket take to resolve?

Survivorship and selection bias

A sample of resolved, heavily traded markets is not the set of markets you could have traded. Our accuracy file keeps up to 15 of the most-traded markets per event, each with at least $10,000 traded, and leaves out markets that resolved 50-50 or had no price history at the time. Thinly traded markets, where fills would have been hardest, are missing, and a rule that looks good here may look different on them.

Fees, spread and slippage

A recorded price is not a fill: a buyer pays the ask, and an order bigger than the best level climbs through worse prices. Model at least a cent or two of spread, and cap the size of each simulated trade at the depth the market usually shows.

Fees changed during the sample. Polymarket's changelog shows taker fees arriving in 2026, on 15-minute crypto markets from January 5 and across most categories under a Fee Structure V2 from March 30, and its help center says fees apply only to markets created on or after each start date. Charge each market the fee it actually had, then rerun with today's rates if you plan to trade now: shares × rate × p × (1 − p), with rates of 0.04 to 0.07 in fee-charging categories as of September 25, 2026.

See also: Spread and slippage calculator · Polymarket fees

Liquidity and clustered outcomes

Outcomes inside one event move together: exactly one market in a group of mutually exclusive outcomes resolves Yes, and one price swing can settle a whole ladder of Bitcoin strikes. The 1,918 markets in the accuracy file come from only 225 events, so the effective sample is much smaller than it looks.

Liquidity limits size as well: the files record a price, not how many shares were offered at it, so a rule that looks good at one share may not scale to a thousand. Report results by event, check how much of the profit comes from the top few, and keep a later period aside to test a rule you tuned on earlier data. This is a research method, not financial advice.

See also: How multi-outcome markets work

Sources

Frequently asked questions

Where can I get historical Polymarket data for backtesting?

Our data page has free CSV and JSON files of resolved markets with prices before the close, resolution times, crypto strikes, Polymarket and Kalshi gaps and the biggest markets; Polymarket's prices-history API returns timestamped prices for any outcome token.

What is look-ahead bias in a backtest?

Using information that was not available when the trade would have been made, such as a market's final volume, or its actual close date when it closed early.

How do I include fees in a Polymarket backtest?

Charge takers shares × rate × p × (1 − p) at the rate each market actually had; fees arrived in 2026 and apply only to markets created on or after each category's start date.

Is a strategy that wins 75% of the time profitable?

Not necessarily. In our example, favorites a week before the close won 74.8% of the time but returned 2.1% before costs and lost money after a 1-cent worse fill and a 0.05 fee.

Polymarket View is independent and not affiliated with Polymarket. Educational information, not financial advice. All guides · How market types work · Glossary · Polymarket odds today