Ruihao (William) Wu

All projects

· Independent research

Prediction markets research

Pre-registered questions about how prices on Polymarket and Kalshi form and how quickly they take in new information. Most have closed; four are still open.

Period
July 2026 to present
Data
Polymarket and Kalshi price history; Kalshi’s public trade records and a public archive of Polymarket trades; Polymarket’s public leaderboard and positions; football odds from football-data.co.uk; futures prices
Status
Ongoing; measurement and paper trading only

Polymarket and Kalshi list contracts that pay $1 if an event happens and nothing if it does not, so a price of 70 cents can be read as a 70% chance. I asked two kinds of question about these prices. Are they wrong often enough, and by enough, to survive fees and the bid-ask spread? And how quickly do they take in information from elsewhere, such as futures markets or traders with a good record?

The first round, in July, tested two ideas. Contracts priced close to certain did resolve slightly more often than their prices implied, a well-documented pattern that showed up in Polymarket’s history and on Kalshi, but after taker fees and spreads nothing was left. On Kalshi’s football markets, 2,162 matches in six European leagues over the 2025/26 season, prices were about as accurate as a betting exchange’s closing prices, and a rule that traded toward the exchange’s price lost money, mostly to Kalshi’s fee. The first pattern is real but smaller than the cost of trading it. In football, the gap before costs was small and not clearly above zero.

In August the question was whether Kalshi’s daily bitcoin, ether and S&P 500 contracts were mispriced against a fair price from a standard option-pricing model. An early result used information not yet available at the time; a forward paper run confirmed it did not hold, and I withdrew it. In a test on daily temperature contracts, the overpricing it looked for was well below the threshold set in advance, and a different apparent mispricing disappeared at prices one could actually trade at.

From September the questions turned to how information moves between markets and to the traders who post resting orders. Kalshi’s public trade record for its daily bitcoin and ether contracts showed that, on average and before fees, the side posting resting orders came out ahead of the side taking them. Three other questions closed. Whether copying, a day later, the positions of the Polymarket wallets with the best past records beats matched comparisons could not be measured as precisely as the rule required, and a group ranked the opposite way did about as well. Whether political favorites, a week to a month before the event, are priced too close to 50% could not be measured on either venue, mainly because trading was concentrated in a handful of events. Resting orders in Kalshi’s commodity contracts earned a small average that was not clearly above zero and was flat in the held-out months.

Four lines are still open:

  • daily snapshots of the positions held by Polymarket’s top wallets by profit, next to control groups, to see whether they predict later prices; first look around November 8, 2026, and a decision around March 2027;
  • a paper-only test of whether a slow trader posting resting orders in Kalshi’s daily ether contracts earns the spread or mostly gets picked off, judged by how the price moves in the 30 minutes after each fill; interim look November 4, final look December 2;
  • a measurement of how long Kalshi’s oil contracts take to catch up after a sharp one-minute move in oil futures; main reading October 4;
  • a record of the midterm election night on November 3, to see whether prediction-market prices move before stock-index futures and other assets. With a single night, it can only be described.