Finding an edge and collecting one are different businesses
Our paper lanes show 1.78 cents a fill across 13,024 fills at t=4.44. Every one of them has lost money live. Fees were three and a half times the edge as a taker; as a maker the fees are exactly zero and the lanes are negative anyway.
We have spent five months building a system that looks for edges on
Kalshi, and it works. As of today our paper lanes hold a two sided maker
strategy showing 1.78 cents a fill across 13,024 settled fills, t of
4.44, with a 95 percent interval of plus 0.99 to plus 2.56. Another shows
1.92 cents across 4,553, t of 3.64. Those are not marginal numbers. By any standard we would apply to somebody else's
research, they are findings.
Every one of them has lost money live.
That gap is the only thing we have learned this year that we think is
worth other people's time, so here is the whole of it, including the
three explanations we tried and had to throw away.
The two ways we have paid
Our live trading splits cleanly into two eras, and the accounting for
each is embarrassing in a different way.
The first era took liquidity. We crossed the spread to get filled.
Across 6,526 contracts the signal was right: gross of costs it made
20 dollars and 32 cents. Fees came to 73 dollars and 20 cents. The
strategy earned about a third of a cent a contract and we paid over a
cent to collect it, so a profitable idea finished 52 dollars and 88 cents
down. Fees were not a rounding error on that trade. Fees were three and a
half times the entire edge.
So we did what the arithmetic told us to do and became a maker. We
stopped crossing spreads and started resting orders. It worked exactly
as intended: across 4,919 resting fills and 8,132 contracts, total fees
paid are 0 dollars and 0 cents. Not approximately zero. Zero.
The maker lanes are all negative anyway. Those same 8,132 contracts lost
34 dollars and 79 cents, which is 0.43 cents a contract, paid entirely in
something that never appears on a statement.
They are negative because the moment you stop paying a fee you start
paying something else, and the something else does not appear on any
statement. When you rest an order you are not choosing when to trade.
The person who crosses the spread to reach you is choosing, and on
average they choose the moments that suit them. We have now measured
what that costs us on six different strategies. It runs from 0.60 cents
a contract to about 6 cents. Our paper edges are around 2 cents.
That is the business in one line. We traded a visible cost for an
invisible one, and the invisible one is bigger.
Three explanations we tested and discarded
The interesting question is not whether the cost exists. It is whether
it is a constant, which you can only price in, or a variable, which you
could avoid. We tried three ways of making it a variable. All three
failed, in ways that were worth the electricity.
One sided order flow. There is a paper by Bartlett and O'Hara out of
Stanford this April, working from 41.6 million Kalshi trades, finding
that one sided flow predicts losses for market makers. We tested it on
our own fills and it reproduced beautifully. Sorting our fills by how
one sided the trading was in the thirty seconds before each one, the
results fall in a clean line from plus 0.61 cents to minus 4.56. It even
survived the test we were most worried about, which is whether we had
simply rediscovered that the price moved. Holding the price move fixed,
one sided flow still sorted the outcomes.
Then we lagged the measurement by ten seconds, because a signal you
cannot cancel on is not a signal. The whole thing collapsed. Essentially
all of the predictive power sits in the final ten seconds before the
fill, which is precisely the window in which no polling loop on earth
gets an order cancelled. The effect is real. It is also unreachable.
Quiet books. This one arrived as an accident. We had put trading
volume into the study as a control variable, purely to check we were not
rediscovering "busy markets hurt." It produced the strongest result in
the whole exercise: fills in the quietest quarter of books cost 3.62
cents against roughly zero for everything else, and unlike the flow
measure it held at ten seconds, sixty seconds and three minutes of lead
time. Liquidity is a regime that lasts for minutes. You can see it
before you quote.
It is also not a law. Split by strategy, it reverses. For a lane buying
favourites a quiet book is poison, and the story makes sense: if nobody
is trading a contract, the one person willing to sell you the favourite
picked you deliberately. But for a lane fishing for other people's
mistakes, a quiet book is the entire point, and there the same measure
runs the other way by a factor of four. One number, two opposite pieces
of advice depending on what you are doing.
Resting deeper, and resting longer. This was our best idea and it
was wrong. The reasoning felt solid: somebody who crosses one cent to
reach you may know something, but somebody who crosses twelve cents is
making a mistake, and a mistake carries no information. If that were
true, quoting further from fair value should buy a cleaner counterparty,
and there would be a depth at which the edge survives.
There is not. Across 2,460 live fills, sorting by how far out we chose
to quote, the results get worse as you go deeper, and the effect holds
in both halves of the sample independently. We then split the measure
into the part we chose and the part the market did to us, in case the
two were cancelling out. They were not. The part we chose is negative on
its own.
Patience failed the same way and more sharply. Sorted by how long an
order sat before somebody hit it, orders filled within five seconds cost
us about a cent, and orders that rested for one to five minutes cost
more than ten. That carries the largest t statistic in the study and it
survives the split in half. The longer we waited, the worse the fill
that eventually arrived.
Which is a fairly complete refutation of waiting for mistakes as a
strategy. If you sit still in a market that moves, you do not get filled
when somebody blunders. You get filled when the market runs through you.
What we think this means
We are not going to pretend this resolves into advice. It resolves into
a change of subject.
For five months we have treated finding an edge as the hard part and
collecting it as an implementation detail. The numbers say the opposite.
Our edge detection is good enough that its outputs survive sample sizes
in the thousands with t statistics above four. Our collection is bad
enough to erase all of it, twice, by two unrelated mechanisms.
Nobody publishes this half. The research literature is full of
predictive signals and almost empty of what happens when you try to get
paid for one at retail size on a real venue. We have looked hard for
anybody else's honest accounting of the gap between a backtest and a
brokerage statement on a prediction market, and mostly found silence.
So here is ours, with the unhappy conclusion attached. As of today we do
not have a strategy we can collect. We have several we can find, a
measured price for failing to collect each one, and three dead
hypotheses about why.
The next thing we test is whether the cost is a function of size, because
at one contract we are a rounding error on any book we touch, and there
is a reading of all of the above in which our problem is not that we are
uninformed but that we are too small to be worth trading against for any
reason except that we are wrong. We will publish that one too, whichever
way it comes out.
Every number in this piece is from settled live fills on our own
account, not from simulation. The paper figures are labelled as paper
wherever they appear.
Figures recomputed 3 September 2026 from settled fills. They move as
more fills settle, which is what a live ledger does; the paper means have
drifted about a tenth of a cent since this was drafted and the intervals
have tightened.
The three hypotheses above are summarised here and tested in full in the members edition: the lag analysis that killed the flow signal, the strategy split that reverses the quiet-book result, and the depth and patience tables.