← Projects

Kalshi prediction model

A quantitative model for federally-regulated event contracts, evaluated in paper trading.

Paper trading

Summary

A quantitative model that produces forecasts for federally-regulated event contracts traded on Kalshi. The project is purely a technical exercise: building, testing, and evaluating prediction models within this market structure. Currently running in paper trading; no real positions, no live signals shared.

Why it exists

Event contracts as a market structure are interesting on their own: clean binary or scalar outcomes, transparent rules, real-time price discovery. Most traders bet the headline; the model bets the fine print. Resolution criteria are often written with gaps between contract language and trader interpretation — that’s where the signal lives.

How it works

Two LLM-powered signal engines run in a cheap-first cascade. A fast model (Haiku) runs base-rate decomposition on every filtered market. If it finds a meaningful gap against the market price, a slower model (Sonnet) parses the resolution criteria word-by-word for ambiguities. Signals are combined, run through Kelly sizing and veto gates, and posted to Discord if they clear the minimum edge threshold.

Scan pipeline Runs automatically every 30 minutes
Kalshi API
~4,000 active markets
Attention filter
Skip headline events
Signal layer
Haiku · Niche Analyst ↓ edge gap? Sonnet · Rules Lawyer
Edge calc
Kelly + veto gates
Discord
Opportunities + audit log

Output

Each opportunity surfaces as a structured embed with the model’s estimate, the market price, net edge after fees and slippage, recommended position size, and the reasoning chain. Every signal — including ones that don’t pass — is written to a SQLite audit log.

Sample signal output Representative — not a real opportunity
YES
Will the Fed cut rates before September 2026? FEDRATE-SEP26 · Kalshi
Our Est 71%
Market 61%
Net Edge +6.5¢
Kelly Size 5.0% ($50)
Confidence 72%

Rules Lawyer flagged: contract resolves YES only on a vote at the Sept 17–18 meeting. FOMC minutes show 7 of 12 members cited September as their threshold — market is pricing pre-meeting uncertainty, not the vote itself.

Stack

  • Python 3.11
  • Anthropic Claude Haiku + Sonnet signal engines
  • Kalshi API CLOB + market data
  • discord.py bot + slash commands
  • SQLite signal audit log
  • Railway deployment

Status

Paper trading. No real positions. No public signals or returns shared.

Nothing on this page is investment advice, a recommendation, or a representation of returns. This project is technical research.