logo

Liquidity, the other uncertainty

By Jean-Philippe Boulanger β€” Co-Founder and CEO of DEMFIΒ·Β·6 min read
Two side-by-side bars β€” alert edge +8.9 percentage points in green, post-execution edge βˆ’3.4 points in red β€” connected by an arrow labeled '12.3 cents of slippage flipped the edge'. Visualization of the Lucknow 38Β°C BUY_NO trade on April 28, 2026.

This morning, our bot saw an 8.9-point edge on Lucknow. The Polymarket market was saying: "38 Β°C, probably no, NO at 81 cents". Our model was saying: "more like 90% probability of NO". Three minutes later, the fill executed at 93 cents. Real edge at execution: βˆ’3.4 points. Same trade. Same model. The market just swallowed the margin between the alert and the fill.

Welcome to the second uncertainty.

The uncertainty no one talks about

In post 2 of this series, I wrote that atmospheric uncertainty is a physical property: you can reduce it, never erase it. On Polymarket, that is only half the story. The other half is order book uncertainty.

A weather forecast is measured in probability points. A fill is measured in distance to the ideal price β€” a few cents, sometimes a dozen. On Polymarket, these two scales of uncertainty are of the same order of magnitude. They can offset each other, or crush each other. You can be exactly right on the forecast and still lose, because the book wasn't where the backend saw it.

Why Polymarket leaves weather buckets dry

Polymarket is not a market maker. On highly liquid political markets, professional market makers populate the books β€” they take a fee, but they guarantee that a buyer finds a seller on the other side. On weather markets, those market makers are absent. Polymarket leaves them unanimated.

Consequence: liquidity depends on other bettors. And other bettors go where they understand β€” the modal bucket, the one that matches "it'll be around the temperature we expect". The tail buckets, where the probabilistic edge is strongest because the market underprices them, stay dry.

It's a perverse correlation: the higher the theoretical edge, the thinner the book. You see the bucket no one is watching, you're right to see it, but you pay the premium of general indifference at execution.

Two examples from today

Lucknow, April 28, Edge NO on the 38 Β°C bucket. The backend alert said PM = 81 cents on the NO. Three minutes later, when our bot fired, the book had only 40 shares at 90 cents, then 8 at 95 cents, then 300 at 97 cents. To buy $23 of NO, you had to walk up to 95 cents on average. Our bot, at the time without a guardrail, filled at 93.3 cents. At that price, against a model probability of 90%, the edge is negative 3.4 points. The trade would have been refused if we had known the real fill price upfront.

Polymarket order book for Lucknow 38Β°C NO at fire time β€” asks stacked at 0.90 / 0.95 / 0.97; alert PM at 0.81 (where the bot expected to fill) vs executed average at 0.93

Madrid, April 28, Long Shot YES on the 21 Β°C bucket. The backend alert said: this bucket trades at 2.6 cents, our model thinks it's worth around 10%. A clean long shot on paper. But between alert and fire, the book climbed to 5 cents at the best ask β€” almost doubled. Our bot saw that drift, compared it to the 3.3 cents we allow, and refused to fire. No trade. No loss. And no gain either, because the market never offered the advertised price.

Two different mechanisms β€” execution slippage on the mid-distribution edge, drift past the cap on the extreme long shot β€” but one same root cause: a book thinner than the backend assumed.

What we do

None of our levers turns Polymarket into a deeper market. They protect us from the market as it is.

  • Live book gate before every order. As of today, on all three bots β€” edge, safebet, longshot β€” we query the live book just before firing and compute the average execution price. If the post-slippage edge falls below our threshold, we skip the trade.
  • Constant sizing. Long shots stay at 1 USD precisely for this reason: firing small on a thin book limits impact. Edge stakes are capped at an amount the modal bucket typically absorbs without flinching.
  • Diversification across 50 cities. Idiosyncratic losses β€” a Lucknow where the fill betrays us β€” average out over dozens of other markets where liquidity is better.

This isn't a complete answer. It's what we can do while waiting for Polymarket to decide to animate its own weather markets. In the meantime, our role is to know the second uncertainty as precisely as the first β€” and act accordingly.

The myth of the "single bet" that turns $37 into $15,000

You may have seen it pass on X this week: HondaCivic allegedly turned 37 dollars into 15,182 dollars on a single bet β€” Hong Kong 15 Β°C at 0.2 cents. The math holds: at 0.2 cents per share, 37 dollars buy 18,500 shares, each paying 1 dollar if the bucket hits.

Except let's do the exact math. 15,182 dollars net gain + 37 dollars entry = 15,219 dollars gross, that is 15,219 shares received. But at 0.2 cents, 37 dollars should buy 18,500 of them. His average execution price was therefore 0.243 cents, not 0.2 cents. A 22% slippage on a stake of only 37 dollars β€” on the trade he highlights, where liquidity must have been by hypothesis maximal.

At a 370-dollar entry, slippage explodes. At 3,700 dollars, the edge disappears. On weather tail buckets, the order book typically carries a few dozen shares at the best ask and a few hundred cumulated. Buying 100,000 shares at 0.2 cents β€” the theoretical math to turn 200 dollars into 100,000 β€” the depth simply isn't there.

For context: HondaCivic's lifetime profit is 56,504 dollars over 4,104 predictions, i.e. an average gain of 13.80 dollars per bet. The screenshot in circulation is the peak. The average, which includes all the bets at 0.001 cents that never hit, is what doesn't get shown.

The "small stake β†’ huge gain" ratio isn't false in theory. It is not scalable in practice. The "single bet" narrative holds at 37 dollars. Not at 1,000.

What DEMFI gives you today

You trade on Polymarket weather every day. You pay this second uncertainty on every click β€” the difference between the edge the forecast suggests and the real edge at execution. Without a counter-measure, it stays invisible until the evening statement.

For 50 cities every day, DEMFI gives you:

  • Calibrated probabilities by temperature bucket, derived from 14 weather models with Markov correction of systemic biases
  • A confidence level by city (HIGH / MEDIUM / LOW), continuously recomputed on the calibration history
  • The Polymarket order book displayed live alongside our model estimate, for every market β€” you evaluate the real liquidity before clicking

You keep the final decision. You make it with information better than what circulates on social media. Connect a wallet at demfi.io/en β€” seven days of Premium access on first connection.

Good analysis,

β€” JP

Liquidity, the other uncertainty β€” 2026 | DEMFI