Orcas Capital

microstructure · prediction-markets

Pricing event contracts

A binary contract looks like the simplest instrument in finance. That apparent simplicity is what breaks tooling built for continuous assets.

By Tom

A binary event contract pays one dollar if something happens and nothing if it does not. The price is the market’s probability. There is no coupon, no dividend, no borrow, no term structure to fit, and the whole instrument can be described in a sentence. Next to an option chain it looks like the simplest thing in finance.

That is roughly why the volume showed up. Event contracts cleared tens of billions of dollars of turnover this year, Wintermute now quotes two-sided markets across them, and a good number of firms with existing systematic stacks have looked at the category and concluded that the hard part is plumbing they already own. We looked at it the same way, then spent a while finding out which of our assumptions the payoff structure quietly invalidates. The plumbing does carry over. Most of the pricing intuition does not.

What carries over

The honest answer is: quite a lot. An order book is an order book. Both of the venues that matter run a central limit order book with a maker-taker fee split, and the market data looks like market data. If you have already built a normalised feed handler, an order gateway with idempotent retries, a position store that reconciles against the venue, and a risk layer that can flatten you on command, all of it can be pointed at a new venue behind the interfaces it already has.

Which is what makes the category look cheaper than it is. A two-week integration gets you connected and quoting, and being connected is not the same as knowing what the fair value is.

A price that is already a probability

Start with what is actually different: the price is bounded on both sides. It lives between zero and one, and it terminates at one of those two corners on a known date.

Almost every tool we own assumes otherwise. Lognormal price dynamics need support on the positive reals, so they are simply the wrong shape here. Returns stop meaning anything useful: a contract that moves from two cents to four cents has returned a hundred per cent and told you almost nothing, and the same move at fifty cents is a serious change in the market’s belief. Log returns do not rescue you either, and the way they fail is worth seeing: log p runs off to minus infinity at the zero boundary and flattens to almost nothing at the one boundary, so the two ends of a single contract get treated as different animals when they are one instrument seen from either side. Logit is the transform that respects both.

Then there is volatility, which stops being a free parameter. For a binary payoff the variance of the outcome is entirely determined by the price: a contract at p has outcome variance p times one minus p, and you read it straight off the screen. There is no surface to fit and nothing to calibrate. The uncertainty that actually matters has moved somewhere else, into the gap between the market’s p and your own, and your own p comes from a model of the world, not of the price process.

The path behaves differently too. A perpetual or a cash equity diffuses; it wanders, and a model built on that assumption can be roughly right about tomorrow given today. An event contract mostly does not wander. It sits, then it steps, because the information arrives in lumps: a filing, a print, a vote, a court date. Between the lumps there is often nothing to price at all. Any machinery that expects to earn its living from a continuously arriving stream of small price changes will find this market boring for six weeks and then violent for four minutes.

The fee is the variance

This is the detail I keep coming back to, and it deserves the space, because it changes where you can trade and not just what it costs.

Kalshi’s general fee schedule charges a taker, per contract, seven cents times p times one minus p, rounded up. Look at what that expression is. It is the Bernoulli variance of the outcome. The venue is not charging you a commission proportional to the money you moved. It is charging you seven cents for every unit of outcome uncertainty you take onto your book.

Work the numbers, because they are not intuitive. At fifty cents the fee is at its maximum, 1.75 cents per contract. At ninety-five cents it is about a third of a cent. Buy at fifty as a taker and hold to settlement and your effective cost basis is 51.75 cents, so you need a true probability above 51.75 per cent before the trade has any expectancy at all: 1.75 points of genuine edge, just to break even. At ninety-five cents you need barely a third of a point. It is also pleasingly symmetric: buying YES at thirty costs exactly what buying NO at seventy costs, because those are the same trade.

So the schedule appears to be generous at the extremes, and in probability points it is. Measured against what you stand to win, it inverts. Buy at ninety-five and you are risking ninety-five cents to make five, and a third of a cent is around six and a half per cent of your gross winnings. At fifty cents the same fee is 1.75 out of fifty, about three and a half per cent. The cheap-looking end of the range is the expensive one, once you compare the fee to the size of the prize rather than to the price of the ticket. A bookmaker’s margin works the same way: it thins on the horse everyone knows will win, and it still eats most of what backing that horse can possibly pay you. Kalshi makers pay exactly a quarter of the taker number, which tells you what the venue wants and is a large part of any realistic economics here.

What convinced me the shape is deliberate, and not one venue’s quirk, is that Polymarket reworked its own schedule in March into the same variance-proportional form, with the constant varying by category, from seven cents on crypto down to nothing at all on geopolitics. Its makers pay zero and collect a rebate funded out of what the takers pay. Whatever else the two venues disagree about, both have decided to charge for doubt.

There is an interesting follow-on question about which parts of the probability range are therefore worth quoting at all, and what that does to the shape of a book near the corners, and I am going to stop before I disappear into it, because the fee is not the reason this market is hard.

One instrument wearing two tickers

Every contract has a complement, and the complement is not a related instrument. YES at forty and NO at sixty are the same position seen from two sides, and they sum to a dollar by construction. A risk system that treats them as two symbols with a strong empirical correlation is holding a true identity as if it were a statistical relationship, which is the sort of error that looks harmless until it sizes something twice.

Multi-outcome events extend this. Where a venue guarantees that exactly one contract in a set resolves YES, the prices across that set have to sum to a dollar, and in thin books they do not. Buying every outcome for less than a dollar is a guaranteed dollar back, which sounds like free money and mostly is not, once the fee on each leg and the cost of tying up collateral until resolution have been paid.

Collateral is the other structural difference. These contracts are fully collateralised, so your maximum loss is known at the moment you trade and the cash is committed there and then. That removes an entire category of problem, because there is no margin model to argue with and no call to answer at an awkward hour. It also removes a lever. Capital efficiency here is a netting problem, and there is no margin engine standing by to grant you relief. For a firm that has spent years building risk tooling around variation margin, the interesting work is in a place it did not expect.

The risk with no equivalent

Everything so far is a modelling inconvenience. This part is different in kind, because it is not a price risk at all.

An event contract does not settle against a price. It settles against a judgement about what happened, made by a process, and that process can be wrong in ways no amount of being right about the world protects you from.

Polymarket resolves through UMA’s optimistic oracle. Anyone may propose an outcome by posting a bond, typically 750 dollars in stablecoin. There is a two-hour window in which anyone may dispute it by matching that bond. If they do, the question escalates to a vote of UMA token holders, which takes around another forty-eight hours, and the losing side of the dispute forfeits half its bond to the winner. Uncontested markets clear in a couple of hours; contested ones take the better part of a week.

The Strategy market this May is the case worth studying. The contract asked whether MicroStrategy would sell any bitcoin by 11:59pm Eastern on 31 May. Strategy sold 32 bitcoin between 26 and 31 May, roughly 2.5 million dollars worth at an average of about 77,135 dollars, and disclosed it in a Form 8-K filed on 1 June. The sale happened inside the window. The proof of it arrived outside the window. The rules did not say which of those two things the question was asking about, Polymarket’s position was that confirmation reached after the cutoff does not count, and UMA’s voters backed NO. Anyone who had correctly predicted that Strategy would sell bitcoin in May lost their stake.

Kalshi, as a CFTC-designated contract market, resolves against a published rulebook instead. That swaps a token vote for a named and accountable party, which is a real improvement, and it does not remove the underlying exposure. It relocates it into the precision of the rulebook’s wording.

The contract is a sentence in English

Which points at the thing I did not expect to be the main engineering problem. For every other instrument we trade, the specification is a machine-readable object: a tick size, a lot size, a settlement convention. Here the specification is prose, and the prose is where the money is.

The practical consequences are dull and they are not optional. The resolution criteria, the named source that decides them, the exact cutoff and the timezone that cutoff is quoted in all have to be first-class versioned fields in the market model, with the raw wording stored verbatim beside them, because a change to that wording is a change to the instrument and your system should treat it as an event rather than as metadata drift. Nothing should be quoted automatically on a market whose wording a person has not read.

The part that took longest to see is how the exposure aggregates. Adjudication risk is correlated by resolution mechanism, which is not an axis our position limits were built around. Every market that shares an oracle, and every market whose wording shares an ambiguity, fails together, and does so independently of what those markets are actually about. Limits scoped by underlying will not see that coming.

What we would need first

We have the plumbing. We are not quoting these, and the reasons are specific enough to be worth stating.

We would need a probability we trust more than the crowd’s, on questions where crowds are demonstrably poor, and that is a much narrower set than the number of listed markets suggests. We would need that edge to clear a fee which is largest exactly where our own uncertainty is largest, which is an unhelpful coincidence if your edge comes from thinking harder about genuinely close calls.

Both of those are tractable problems, and they are the familiar kind. The one I cannot yet price is adjudication risk. There is no history to estimate it from, and the disputed sample is small and unrepresentative of the markets we would want to trade. The failure mode is a sentence turning out to mean something other than what every participant assumed it meant, and I do not know how to put a number on that. Until I do, sizing anything here is guesswork wearing a model’s clothes.