How EVPlus prices, sizes, and risk-caps every position.
This page is the reference. Every metric tooltip in the product links here. We'd rather over-explain the system than ask you to take it on faith.
Sharp consensus modeling
We pull moneyline and total prices from a panel of sharp US sportsbooks (Pinnacle and Circa as primary anchors, plus a weighted consensus of regulated regional books) for every Kalshi sports market that has an overlapping contract.
Each book's implied probabilities are no-vig adjusted: we strip the bookmaker's margin from the two-way (or n-way) market so the implied probabilities sum to 100%. The standard adjustment is multiplicative; we use a power-method de-vig to better handle longshot bias on lopsided markets.
Books are weighted by historical sharpness (calibration of their no-vig prices vs. settled outcomes over the trailing season) and by recency. Lines older than five minutes are excluded from the consensus to avoid stale-line contamination. The result is a single modeled fair probability per market, refreshed every minute.
Edge detection against Kalshi
Kalshi's order book is polled continuously. For each open contract, we compute the implied probability of the best ask (for YES) and best bid (for NO), and compare it against the modeled fair price.
Edge is defined as the absolute difference between modeled fair probability and the contract's implied probability. We surface positions where edge clears your configured threshold (default 1.5%). Markets are filtered for liquidity, time-to-resolution, and per-market caps. We do not surface signals on markets with thin enough order books that a single retail order would move the mid-price by more than the edge itself.
Every signal exposes its inputs: which books contributed, how recent each line is, the no-vig fair, the Kalshi quote, and the resulting edge. Hover any metric in the live product to see the breakdown.
Position sizing with fractional Kelly
Position sizing uses the Kelly Criterion, fractionally applied. Full Kelly on a 2% edge with even-money payout suggests sizing 4% of bankroll; over-betting Kelly is the textbook way to ruin a positive-EV system, so we default to 0.5× Kelly (Pro+) or let users select 0.25× / 0.5× / 1.0×.
Sizing is computed against your declared bankroll, not your Kalshi balance. This is intentional: bankroll should reflect the capital you're willing to lose without changing your behavior, which is rarely the same as what's sitting in any one venue.
Every sized position passes through hard caps before it can be placed: per-position contract limit, per-position notional limit, and a daily loss cap. A server-side kill switch flattens all open exposure in one click.
Why the edges persist
Kalshi sports liquidity is small relative to the global sportsbook market. That asymmetry produces four recurring inefficiencies:
- Information lag. Sharp books reprice on news in seconds; Kalshi's order book often lags by minutes to hours.
- Retail skew. Kalshi participation is heavy on team loyalty and primetime games; popular sides are systematically overpriced.
- Thin-book absorption. A single retail order can move the Kalshi mid 1–3¢ on lower-volume markets. Mean-reversion to fair is recurring.
- Cross-venue friction. Most retail bettors don't operate across Kalshi and sharp books simultaneously, and don't price no-vig. We do.
These edges are individually small (typically 1.5–4%) and collectively meaningful. EVPlus is built to capture them at scale.
Risk controls
Risk controls are enforced at the order layer, not as soft warnings. Every order placed through EVPlus must clear:
- Per-position contract cap. Hard upper bound on contracts per position.
- Per-position notional cap. Hard upper bound on dollars at risk per position.
- Daily loss cap. Cumulative daily realized + unrealized loss; once breached, no new positions.
- Kill switch. One click flattens all open positions and disables auto-execute until manually re-armed.