lafargue.cc Markets, bots, and honest numbers

A 90% Chance on Polymarket Means 90%. I Checked 6,000 Markets.

Previously: Building a $1M NFT trading business and Developing a profitable NFT trading bot — this is what the same instinct looks like with a falsification program attached.

There is a bias so old and so reliable that it has its own name in the academic literature: the favorite-longshot bias. At horse tracks, it has been documented for the better part of a century. Bettors love longshots (the 50-to-1 story, the lottery ticket with a narrative), and they love them so much that they systematically overpay for them. Favorites, meanwhile, are boring, underbet, and quietly underpriced. A dollar spread across longshots at the track loses far more than a dollar spread across favorites. Sportsbooks show the same pattern. It is one of the most replicated findings in the economics of gambling.

So here is an obvious question: does Polymarket have it too? The suspicion writes itself. Prediction markets are retail-heavy. The markets that go viral are the improbable ones. If people bring their racetrack brains to Polymarket, longshots should be overpriced there too: a 3-cent contract that really wins 1% of the time, a 95-cent favorite that really wins 97%.

And the stakes are not academic. If the bias exists, there is free money in fading it: sell the longshots, buy the favorites, collect the gap. A persistent, mechanical, no-cleverness-required income stream. That is worth checking carefully.

So I checked. I took 6,000 resolved Polymarket markets: binary markets with lifetime volume between $10k and $1M, everything in that band that resolved between March and June 2026, more than 12 million trades. For each one I recorded the last traded price 24 hours before it resolved. Then the question is almost embarrassingly simple: of all the markets priced around 30 cents a day before the end, how often did the thing actually happen? Sort the markets into ten price buckets, compare each bucket’s average price to how often those markets resolved yes. Markets whose trade history didn’t reach back far enough from the finish line get dropped rather than fudged, which leaves 4,512 markets on the day-before horizon; that and the rest of the statistical fine print are handled in the full methodology, linked at the bottom.

Here is the result.

Calibration of Polymarket prices 24 hours before resolution

Every dot is a price bucket; the dashed line is what perfect honesty would look like. The dots sit on the line. Markets priced at an average of 97.6 cents happened 97.6% of the time. Markets priced around 45 cents happened 46.1% of the time. And the cheapest longshots, average price about 1.4 cents, happened 1.5% of the time. Read that again through your racetrack glasses: the longshots paid out slightly more often than their price implied, not less. The gap is well within noise, but it is the opposite direction from the century of horse-racing data. In no bucket, anywhere on the chart, does the gap between price and reality exceed the bucket’s margin of error.

It gets sharper closer to the end. One hour before resolution, markets priced 0.90–1.00 averaged 0.995 and realized 0.994. At that point the market has essentially finished thinking, and what it says is a 995-in-1,000 chance is, as far as anyone can measure, a 995-in-1,000 chance.

I will admit the first pass had me interested. The initial cohort of 2,000 markets showed wobbles shaped exactly like the classic bias: markets priced at 84.5 cents were resolving yes only 75.5% of the time, and a mid-range bucket priced at 35.6 cents was landing at 30.4%. But none of it was statistically solid, and when I trebled the sample by adding two more months of markets, the wobbles flattened onto the diagonal. The leftover deviations now point in different directions in different buckets (the 10–20 cent bucket resolved above its price, the 30–40 cent bucket below it), which is the signature of noise, not of a bias. The more data I added, the more honest the prices looked.

What this means for you, practically: on Polymarket, in liquid markets near resolution, you are paying fair price. The 4-cent moonshot is not secretly a 1% shot dressed up by lottery-brained flow; it’s roughly a 4% shot. There is no mechanical income in selling longshots, and you are not being taxed for buying them. The price, a day out, is about as good an estimate of reality as exists. That is genuinely unusual among things people bet on, and mildly deflating if you were hoping to outsmart it.

One honest caveat, and it’s the interesting one. Markets that resolve at a rate of thousands per few months are, by nature, short-lived ones: sports, crypto price thresholds, this-week deadlines. That is what this sample is made of. The classic favorite-longshot literature lives in exactly the place this sample can’t reach: long-dated political and event markets, which resolve too slowly to pile up in a four-month window. Whether a “15% chance” on an election twelve months out is honest in the same way is a different measurement, and it is still open. That’s a future post.

This piece is one probe from a longer project: a four-month program that tested around sixteen hypothesized edges on Polymarket (the things people on trading Twitter assure you are free money) against a multi-terabyte archive of the order book. Most of them did not survive contact with the data, usually in instructive ways. The calibration result you just read is the cleanest of the nulls. Some of the others died more interesting deaths.

The full methodology (cohort construction, the censoring rule, the confidence intervals) is written up in the study writeup. The whole thing reproduces with one command against the study dataset: uv run python -m pmr.studies.calibration --horizon "24 hours" --buckets 10.

This research runs on a full-universe tick archive of the Polymarket order book (May–July 2026), collected because historical order-book data cannot be backfilled from any public API. If you’re building or researching in this space and need historical data, get in touch: research@lafargue.cc.