Prediction market backtesting: a rule, a price history, and stated costs

A backtest is a claim about what would have happened, and it is only as good as the assumptions you can see. Vultax replays a fixed rule against published price history, fills at the printed price, charges a stated fee on every trade, and publishes the decisions rather than the curve. The result below includes its own drawdown and the fees it paid.

Availability

Vultax publishes a replayed paper record you can read today. Running your own backtest is in private preview and is not enabled by any plan.

The replayed result, in full

The replayed result so far under the published rule, with the assumed costs included.

Observed · Observed

What the published rule produced on paper over the run so far, including the assumed costs.
Paper equityProfit and lossClosed tradesHit rateLargest drawdownAssumed fees paid
9,850.78-149.221233.3%1.91%59.10

What you can do with it

Check the fill assumption first

Filling at the printed price assumes a counterparty existed there. On a thin prediction market contract that is the most generous assumption in the whole exercise, and any result should be read as an upper bound because of it.

Check the fee, then check it again

A flat fee applied on entry and exit is small in percentage terms and large relative to the edges these rules chase. The assumed rate is published with the run so it can be replaced with your own.

Count the trades before believing the ratio

Hit rate over a dozen closed trades is close to meaningless: a couple of different outcomes would move it by tens of percentage points. The number of closed trades is in the same row as the ratio for exactly that reason.

Read the decisions, not the equity curve

An equity curve hides the two or three decisions that produced it. The decision log shows which trades mattered and why the rule fired, which is the only level at which a rule can actually be criticised.

How it works

What is replayed

A published price series for the contracts in the bot's universe, stepped at a fixed interval, with the rule evaluated at each step. Positions open when the entry condition is met, and close on a stop, a target or the holding limit — whichever comes first. Open positions at the end of a run are marked at the last price rather than assumed to settle.

The run's bankroll, position size and maximum concurrent positions are part of the rule set, because a rule that only works at a size the market cannot absorb has not been tested, it has been imagined.

Where the assumptions bite hardest

Prediction markets are thin, priced between zero and one, and charged per contract. Those three facts together mean that costs are proportionally heaviest in the middle of the price range — which is where most momentum and mean-reversion rules want to trade. A backtest that ignores fees on this asset class does not have a small error; it has the wrong sign.

Slippage is not modelled at all, which is stated rather than hidden. Adding a slippage assumption without a way to calibrate it would be a guess dressed as a correction.

Availability

The published replay is free to read here. Running your own backtest is in private preview: it is not on any plan, and it is not sold. When that changes, the plan row on this page is generated from the same entitlement map the price list uses, so it will change with it.

The four assumptions that decide the answer

Fill price. This replay fills at the price printed in the published series, which assumes a counterparty was there. On a thin contract that is generous, and it is the single most optimistic thing in the exercise.

Cost. A flat rate is charged on entry and exit. Real fees differ by venue, by whether you took or made, and by the price of the contract, and on this asset class they are large relative to the edges these rules pursue.

Size. Positions are a fixed notional against a fixed bankroll, with a cap on how many can be open. A rule that only works at a size the book cannot absorb has not been tested.

Time. The rule is evaluated at a fixed interval rather than continuously, so a move that happened and reversed between two steps is invisible to it. That cuts both ways: it removes some fictional entries and it misses some real ones.

The mistakes a published run makes harder

Choosing the window after seeing the result. The run's start date is published before it starts, so the period cannot be selected to flatter the rule.

Quietly dropping the losers. The record keeps them. A library of replays that only contains successes tells you about the librarian rather than about the strategy.

Tuning until it works. Every parameter is stated in advance; a changed parameter produces a new run with its own start, not a better version of the old one.

Reading a small sample as a finding. The number of closed trades is printed in the same row as the ratios computed from it, which makes the sample size hard to skip past.

What each plan gives you here

The published replay is free to read. Running your own is in private preview and is not enabled by any plan.

Backtesting availability by plan
What you getFreeEssentialPremiumPro
Published paper bot record and its decisionsFree, no accountFree, no accountFree, no accountFree, no account
Building and backtesting your own bot with ViPrivate previewPrivate previewPrivate previewPrivate preview
The tables on this site, as JSON and CSVFree, no accountFree, no accountFree, no accountFree, no account

Full plan comparison and prices · Refer & earn 30%

Compared with the dedicated backtesting tools

There are a handful of prediction-market backtesting products and a few good how-to guides that walk you through doing it yourself with exported data. They differ mainly in how much of the cost model they make you supply. Vultax's contribution here is not a bigger engine: it is a published run whose fill rule, fee rate, position size and full decision list can all be read off the page, so the result can be argued with.

Competitor details last checked . They describe other products as their operators published them, not as an assessment of them.

The table in full

Each table carries its own source, observation time, coverage and limits, and can be taken away as JSON or CSV. A missing value means the source did not report it; it is never rendered as a zero.

01 Market snapshot

Every decision the paper bot has taken

The bot’s actions under its published rules, newest first, each with the price it was recorded at and the fee assumed on it.

ObservedObserved 10 rowsWithin this table’s source-time freshness window; prices can change between observations.

Every decision the paper bot has taken. House Bot 01, strategy Fed momentum, on Polymarket: Fed decision in September 2026 (hike 25 bp, hold, cut 25 bp). Simulated: no order was placed on any venue.
Decision timeContractActionRecorded priceNotional (USD)Assumed fee (USD)ReasonRealised (USD)
2026-09-12 12:50 UTC25 bp increaseSELL YES78.5%250.002.50time-5.00
2026-09-11 12:50 UTC25 bp increaseBUY YES78.5%250.002.50+18.0 pts in 60 minUnavailable
2026-09-11 12:50 UTC25 bp increaseSELL YES78.5%276.412.76target21.14
2026-09-11 12:40 UTC25 bp increaseBUY YES71.0%250.002.50+10.5 pts in 60 minUnavailable
2026-09-11 12:40 UTCNo changeSELL YES29.5%177.711.78stop-76.57
2026-09-11 12:10 UTCNo changeBUY YES41.5%250.002.50+3.0 pts in 60 minUnavailable
2026-09-11 00:10 UTC25 bp increaseSELL YES63.5%238.722.39stop-16.17
2026-09-10 19:50 UTC25 bp increaseBUY YES66.5%250.002.50+3.0 pts in 60 minUnavailable
2026-09-10 19:50 UTC25 bp increaseSELL YES66.5%274.792.75target19.55
2026-09-10 12:50 UTC25 bp increaseBUY YES60.5%250.002.50+8.0 pts in 60 minUnavailable

Scroll to see all columns.

CoverageHouse Bot 01, strategy Fed momentum, on Polymarket: Fed decision in September 2026 (hike 25 bp, hold, cut 25 bp). Simulated: no order was placed on any venue.

Fills are simulated at the price printed by the source series. A real order would have to find a counterparty at that price, and might not.

A blank realised column is an entry, not a break-even close.

The published feed is delayed; the pack states its own publication delay.

SourcesVultax paper bot pack · published decision log

Questions

Can I backtest my own strategy on Vultax?

Not yet. Running your own backtest is in private preview and is not enabled by any plan. The published run and its full decision log are readable now.

What data does the replay use?

Published price history for the contracts in the run's universe, stepped at the interval stated in its rule set. The exports on this page carry the same figures the replay used.

Does the backtest include fees?

Yes — a flat rate applied to every trade, stated in the rule set and totalled in the result row. It is usually the largest single influence on the outcome.

Is slippage modelled?

No, and the page says so. Fills are at the printed price, which makes the result an optimistic bound rather than an expectation.

Can a backtest tell me if a strategy works?

It can tell you a rule would have lost money, which is genuinely useful. It cannot tell you a rule will make money — a good result on a small number of trades on one contract family is a hypothesis, not a finding.

Do you publish failed backtests?

Yes. The record keeps runs that lost. Keeping only the winners would make every remaining number unverifiable.

Why not just show an equity curve?

Because a curve is the one output that cannot be checked. Two very different sets of decisions produce similar curves, and the decisions are where a rule can actually be criticised. The curve is in the data; the log is the part worth reading.

Coverage and methodology

  • Public tables mirror existing Vultax source packs. They do not include account data, private watchlists or the complete app dataset.
  • Source time, coverage and limitations apply to each table. Missing values are unavailable, not zero.

Methodology

Published research behind this page

Dated write-ups of the same sources. A figure in a study describes the window it was written about, not the snapshot above.

  1. Original Vultax research: in an experimental test, a calibrated fair-value model beat raw Polymarket prices by ~9.6% on held-out Brier score. Where the favorite-longshot effect lives, what the model can honestly flag, and why it still isn't a trading edge.

Take this into the workspace

The replayed record is public and exportable. A free account opens the desk it is published from.

A free account needs no payment card and starts no subscription. Figures on this page were observed . JSON · Markdown · Schema