Treating Kalshi as a systematic trading problem approach, and where the edges actually are trading sports on Kalshi.

I went all-in this year building a systematic model that trades event contracts on Kalshi, and it's eaten my life for a couple months. Writing up how I'm actually approaching it and what the numbers look like so far mostly because I'd like people who know more than me to tell me where I'm being naive.

The stuff that's shaped how I build:

Thesis first, then test. I don't let myself run a backtest until I can explain why an edge should exist and what would make it stop working. If I can't articulate the mechanism before I see the numbers, I've learned not to trust the numbers. It's the main thing that's saved me from fooling myself.

Out-of-sample is the only number I believe. About six years of history to work with, but in-sample results mean basically nothing to me now. If something only looks good on the data it was built on, it dies. I've killed a lot of pretty backtests this way.

Win rate stopped mattering fast. A bunch of my profitable strategies win under half the time. The payoffs are lopsided wins bigger than losses — so optimizing for accuracy was actively making things worse. Took me a while to internalize because it feels so wrong.

CLV is my honesty check. Closing-line value whether my entries beat where the contract settles toward is what I trust most to tell me an edge is real vs. me getting lucky. Positive out-of-sample, I relax a little. If not, I assume I'm measuring variance.

Sizing turned out to be half the battle. Fractional Kelly, hard cap per position. Learned the hard way that a real edge still blows up if you bet too big into a normal drawdown and the drawdowns here are not gentle.

Results so far (live, ~2 months, so take it for what a 2-month sample is worth):

  • ~300 signals, 48.8% win rate deliberately sub-50, per the point above
  • Net positive, roughly +131% on starting bankroll, but with a ~40% peak-to-trough drawdown along the way that took ~2 weeks to recover
  • Positive expectancy per signal driven by the payoff asymmetry (avg win meaningfully larger than avg loss), not by hit rate
  • CLV positive across the sample, which is the result I actually care about — the rest could be variance

I want to be honest that a 2-month, 215-signal sample is small, the drawdown was real and could've been worse, and none of this is predictive of forward performance. I'm posting the numbers with the caveats attached rather than a clean equity curve for exactly that reason. Anyone in here build anything with prediction markets?

Posted Jul 7, 2026, 9:54 PM UTC

814
Loading comments…