All research
9 min readStatisticsMarket MakingMethodologyLive Trading

92% coverage: what “this strategy loses money” actually means at n=701

Six weeks of live prediction-market making, 701 settled markets, $19,889 of capital. The headline is −0.79 per $100 — and its confidence interval still crosses zero. Calling that number at 95% would take about 6,400 markets. Excluding the maker rebate it is significant at 99.8%, which makes a rebate the difference between a result you can assert and one you cannot. The mechanism is far more informative than the significance test.

What this is about

Polymarket is a prediction market. You buy shares in a yes-or-no question — will the highest temperature in Tokyo be 24°C on 22 September? — and at settlement each share pays exactly $1.00 or exactly $0.00. Nothing in between. Questions cover weather, sports, elections and crypto prices, and most resolve within days.

I run an automated market maker on it. The bot quotes both sides of a market and earns the spread: buy one YES and one NO on the same market and the pair redeems for exactly $1.00 whatever happens, so the profit is locked the moment the second leg fills. Polymarket also pays a maker rebate for providing liquidity. The risk is the leftover — shares whose other half never filled, which go to settlement alone and pay 1.00 or 0.00.

Everything below comes from six weeks of live quoting with real money: 701 settled markets, $19,889 of deployed capital, one account, one venue.

This piece is about the arithmetic of that business over six weeks — what it earned, what it cost, and whether the difference is large enough to call a result at all.

There is a specific kind of strategy that is almost impossible to evaluate honestly: one whose result is the difference between two much larger numbers. Market making on prediction markets is exactly that shape, and it produces a situation most trading writing handles badly — where “it loses money” and “we cannot yet say it loses money” are both true.

The two large numbers

Over 701 settled markets:

LineTotalPer $100
Merge income+$625.93+3.15
Maker rebate+$128.71+0.65
Income+$754.64+3.80
Resolutions−$821.96−4.13
Unclaimed losing legs−$90.54−0.46
Net (rebate included)−$286.56−0.79

Income covers 91.8% of the resolution bill. The entire result is an 8% gap between two figures each roughly four times its size.

Two structural notes, because both are counter-intuitive.

A matched pair carries no resolution risk at all. Both legs are buys; one YES plus one NO redeems for exactly $1.00 whatever happens, so the pair's P&L is fixed the instant the second leg fills. Every dollar of the resolution line comes from unmatched shares.

The unclaimed-leg line is not a rounding error. When a market resolves, the winning leg gets redeemed and the worthless one is frequently never claimed — there is nothing to claim. It leaves no settlement record, so its loss books as a mark to zero instead. Across 257 settled markets that is −$128.72 of real loss that no redemption event will ever describe.

The significance, stated properly

Market-clustered bootstrap, 6,000 resamples:

Per $10095% CIP(losing)
Excluding rebate−1.44[−2.53, −0.42]99.8%
Including rebate−0.79[−1.86, +0.24]92.8%

Excluding the rebate the loss is significant. Including it, the interval still contains zero.

The rebate is +0.65 per $100 — nearly half of what closes the gap — and it is the difference between a result you can assert and one you cannot.

How much more data would settle it? Per-market standard deviation is 32.3 per $100. To resolve a −0.79 effect at 95%:

n ≈ (1.96 × 32.3 / 0.79)² ≈ 6,378 markets   /  have: 701

At the current rate that is roughly a year of continuous operation — for a single configuration, with no knob changed in between.

Why that matters more than it sounds

This is the number that should govern how anyone reads a prediction-market P&L, including mine.

Session-to-session variation on an unchanged parameter, measured across three runs that all held the same pair-margin setting: merge income of 1.184, 1.183 and 1.716 dollars per hour — a 45% spread with nothing altered. Any effect smaller than that is invisible from one session, however long you run it.

So the common workflow — change one setting, run a session, compare the P&L — is measuring the calendar. It took a 149-hour run before a split-sample test on this book was even possible, and the split then killed every selector except one.

What the mechanism says that the statistics cannot

The significance test says: not yet distinguishable from zero. The decomposition says something sharper and does not need the test.

Entry pricing is fair. Across the programme, the average entry paid was 0.480 and the average outcome won 0.476 — four-tenths of a cent apart on a book where a share settles at 1.00 or 0.00. The bot is not buying at bad prices.

What it does is sort badly:

Leg outcomePer share
Paired legs+1.83c
Orphaned legs−17.89c

An orphan exists precisely because the market moved away from the held leg — that is why the other side never filled. The selection is adverse by construction, and no amount of better entry pricing touches it.

And the concentration is extreme. The 13% of markets that ended at two trades or fewer hold 1.6% of the capital and carry 51% of the total loss.

The part I got wrong first

For most of this programme I quoted the loss as −1.99 per $100. That figure excluded the maker rebate — not through any argument, but because the rebate arrives as a daily lump from the venue with no per-trade attribution, and the reporting path that summed market-level P&L never picked it up.

Allocating actual payout receipts by capital weight moves the headline from −1.99 to −0.79 and changes coverage from 75% to 92%. Every comparison I made across that boundary was wrong, and the only reason the error surfaced was reconciling two screens that should have agreed and did not.

A rebate is income. If it does not appear in the headline, the headline is not the result.

Method, and its limits

One account, one venue, six weeks, live orders. Market P&L is reconstructed by replaying the venue's own activity feed and priced against settled outcomes; the maker rebate comes from actual payout receipts, capital-weighted to settled markets rather than modelled from a published rate.

The confidence intervals are clustered by market, not by fill. Fills within one market are obviously correlated, and treating them as independent would shrink every interval here by roughly the square root of the fills-per-market ratio and make several of these claims look far stronger than they are.

The open book is excluded. 120 markets are still live, marked at −$75.02. That mark is an expectation, not a settlement, and it will be wrong market by market even if it is right on average.