Most traders who attempt arbitrage in prediction markets lose money — not because they can't find the spreads, but because they don't have a framework to execute them. They spot a 4-cent discrepancy, buy both sides, and then watch liquidity dry up before the contracts converge. The alpha isn't in the discovery. It's in the execution.
This guide walks through the full statistical arbitrage workflow for prediction markets: how to identify valid opportunities, how to size positions to survive bad fills, and how to set exits that lock in the spread rather than wait and hope.
What exactly is statistical arbitrage in prediction markets?
True pure arbitrage — buying YES on one platform and NO on the same contract elsewhere for a combined cost below $1.00 — exists in prediction markets but closes within minutes. Statistical arbitrage is the more durable version: exploiting mean-reverting price relationships between correlated but not identical contracts over a defined time horizon.
Examples include:
- Cross-platform pricing gaps: The same Fed rate decision priced at 62¢ YES on Kalshi and 58¢ YES on Polymarket.
- Correlated event pairs: "Fed cuts in March" trading at 30¢ while "Fed cuts in Q1" trades at 55¢ — implying only a 25¢ probability of a cut in any other Q1 month, which may be mispriced.
- Complementary contract drift: A YES + NO pair on the same contract summing to $0.96 or $1.04 rather than $1.00, creating a risk-free spread if both sides are liquid enough to fill.
According to CFTC guidance on event contracts, prediction markets operate as designated contract markets where prices should theoretically reflect consensus probability — meaning persistent deviations are structural inefficiencies, not noise.
Key takeaway: Statistical arbitrage targets persistent, quantifiable price relationships — not one-off discrepancies that vanish before you can fill both legs.
How do you calculate whether a prediction market spread is actually worth trading?
Before touching a spread, you need to clear three filters. Skip any one of them and you're gambling on execution, not trading on edge.
Filter 1 — Gross spread vs. transaction costs
Your net edge must exceed round-trip transaction costs on both legs. On Kalshi, fees run approximately 1–2% of the contract value. On Polymarket, gas fees on Polygon are near zero but bid-ask spreads on thinner markets can be 3–5 cents wide.
The formula:
Net Edge = (Price_A_YES + Price_B_NO) − 1.00 − Total_Fees
If you're buying YES at 62¢ on Platform A and NO at 41¢ on Platform B, your gross edge is 3¢. Subtract 2¢ in combined fees and slippage, and you're trading for 1¢ per dollar — barely worth the capital lock-up unless you're deploying significant size.
Minimum threshold rule: Only execute if Net Edge ≥ 2× your estimated slippage on the thinner leg.
Filter 2 — Time-to-resolution decay
A 3-cent edge on a contract resolving in 14 days is worth more than the same edge on a contract resolving in 90 days. Calculate your annualized return:
Annualized Return = (Net Edge / Capital Deployed) × (365 / Days to Resolution)
A 2¢ net edge on $500 deployed with 10 days to resolution: (0.02/1.00) × (365/10) = 73% annualized. That's meaningful. The same edge with 120 days to resolution drops to ~6% annualized — below the opportunity cost of tied-up capital.
Filter 3 — Liquidity depth on both legs
Check order book depth before committing. If the best ask on the NO leg has only $50 available at your target price and you need $300 in exposure, your actual fill will move the price against you. Model your fill as a weighted average across the order book, not just the top-of-book quote.
Key takeaway: A spread is only tradeable when Net Edge exceeds 2× slippage AND your annualized return justifies the capital lock-up.
How do you size positions in statistical arbitrage to survive execution risk?
This is where most traders lose money. They calculate the expected value correctly but oversize the position, get a bad fill on one leg, and watch the trade turn from a 3¢ gain into a 5¢ loss.
The right framework borrows from the fractional Kelly logic covered in our post on Advanced Kelly Criterion: Fractional Kelly & Multi-Market Applications, but applies it specifically to two-legged execution risk.
Step 1 — Estimate your fill certainty on each leg. Call this F_A and F_B, expressed as the probability you can fill your full target size within 2% of the quoted price. In thin markets, this might be 70%. In liquid markets, 95%.
Step 2 — Calculate your worst-case scenario. If Leg A fills but Leg B doesn't, you now hold an outright directional position you didn't intend. Size the trade so that an unhedged position on either leg alone doesn't exceed your standard single-contract risk budget.
Step 3 — Apply the two-leg Kelly adjustment:
Adjusted Size = Standard_Kelly_Size × F_A × F_B
If your Kelly-optimal size is $400 and fill certainty on each leg is 85%, your adjusted size is $400 × 0.85 × 0.85 = $289. This isn't conservative — it's mathematically correct for the actual probability distribution you're trading.
For deeper position-sizing mechanics across multiple concurrent trades, see our guide on Dynamic Position Sizing: Beyond Kelly for Multi-Market Portfolios.
Key takeaway: Size arb legs using Kelly × fill certainty on both legs — never assume you'll get both fills at quoted prices.
How do you set exits that lock in the spread rather than waiting for full convergence?
The biggest mistake in prediction market arbitrage is waiting for 100% convergence. Contracts can stay mispriced for days, and resolution events sometimes introduce new information that permanently widens — rather than closes — the spread.
Use a two-tier exit system:
- Take-profit trigger: Close the position when 70% of the original spread has been captured. If you entered with a 4¢ edge, set a limit exit when the combined spread has compressed to 1.2¢. You leave 1.2¢ on the table but eliminate convergence risk.
- Time-stop: If the spread hasn't compressed by 50% within half the remaining time to resolution, exit both legs at market. The convergence thesis has likely failed — either new information changed the true probability, or liquidity won't support full convergence.
- Adverse divergence stop: If the spread widens by more than 1.5× your original entry spread, exit immediately. This signals the market is pricing in new information you don't have — not a temporary dislocation.
Research on market microstructure and mean reversion from Harvard's finance faculty consistently shows that capturing 60–80% of a statistical edge with early exits produces higher risk-adjusted returns than waiting for full convergence — a principle that applies directly to binary prediction contracts.
Key takeaway: Exit at 70% of captured spread or at your time-stop — full convergence is a bonus, not a requirement for a profitable arb trade.
What does a real execution look like from start to finish?
During the March 2026 Fed meeting cycle, "Fed holds in March" was quoted at 78¢ YES on one platform and 74¢ YES on another — a 4¢ gross spread on the same underlying event with 9 days to resolution.
- Net edge calculation: 4¢ gross − 1.8¢ estimated fees/slippage = 2.2¢ net
- Annualized return: (2.2¢ / 100¢) × (365/9) = 89% annualized ✓
- Fill certainty: ~90% on the liquid leg, ~80% on the thinner leg
- Adjusted size: $500 base × 0.90 × 0.80 = $360 deployed
- Take-profit target: When spread compresses to 0.66¢ (70% captured)
- Time-stop: Day 4 if less than 50% compression achieved
- Adverse stop: If spread widens to 6¢
The Fed held as expected. The spread compressed to 1¢ by day 3, triggering the take-profit. Net captured: 1.2¢ × $360 = $4.32 on a 3-day hold. Annualized, that's a 163% return on deployed capital — illustrating why execution discipline matters more than finding bigger spreads.
For a deeper look at how Kalshi-specific contract structures affect these execution mechanics, see Advanced Kalshi Strategies: Beyond Your First Trade.
Key takeaway: A 2¢ edge executed with discipline beats a 6¢ edge executed sloppily — always model the full execution chain before sizing up.
Frequently asked questions about prediction market statistical arbitrage
Is true risk-free arbitrage available in prediction markets?
Rarely and briefly. When it appears — typically as a YES + NO pair summing to less than $1.00 on the same platform — it closes within minutes. The durable opportunity is statistical arbitrage across correlated contracts or cross-platform pricing gaps, which requires execution skill rather than just speed.
How does liquidity affect arbitrage execution in low-volume periods?
In low-volume environments (fewer than 20 active events on a platform), bid-ask spreads widen and fill certainty drops significantly. Reduce your adjusted position size further by multiplying by a liquidity scalar of 0.6–0.7 during thin periods. The edge threshold should also rise — require at least 3¢ net edge instead of 2¢ when average daily volume is below 30% of normal.
Can you run statistical arbitrage across different event categories?
Yes, but correlation must be quantified, not assumed. A Fed rate decision and a treasury yield contract may seem correlated but can diverge sharply on timing. Only trade cross-category pairs where you can demonstrate at least a 0.7 historical price correlation over 30+ comparable events.
What's the biggest execution mistake traders make in prediction market arb?
Filling one leg and then chasing the second. If you fill Leg A and Leg B has already moved 2¢ against you, you no longer have the edge you calculated. Either accept a smaller edge and fill Leg B at the new price (if it still clears your threshold) or close Leg A and cancel the trade entirely. Never hold a partial arb open overnight hoping the other leg returns to your target price.
How do you handle a correlated event pair when one contract resolves early?
If one leg resolves before the other, you're now holding an outright position. Immediately evaluate it as a standalone bet: does it meet your standard entry criteria at the current price? If not, close it at market regardless of mark-to-market P&L. The original thesis — the spread — no longer exists.
What tools help identify statistical arbitrage opportunities faster?
Manual scanning across platforms is slow and error-prone. Systematic approaches involve monitoring price feeds across Kalshi and Polymarket simultaneously and flagging correlated contract pairs when their implied probabilities diverge beyond a threshold. Platforms like Prevayo are building toward this kind of cross-market analytics layer — surfacing the quantitative signals that manual traders miss in real time.