Skip to main content
Back to Blog

Prediction Market Order Book Analysis: Real Arbitrage Case Study

11 minPredictEngine TeamAnalysis
# Prediction Market Order Book Analysis: Real Arbitrage Case Study **Prediction market arbitrage** works by exploiting price discrepancies between related contracts — and a careful order book analysis is what separates disciplined traders from gamblers. In a live case study we tracked over 72 hours in early 2024, a single political event contract showed spreads wide enough to generate consistent, near-risk-free returns of 3–7% per trade cycle. Understanding the order book mechanics behind those opportunities is the key to replicating them reliably. --- ## What Is a Prediction Market Order Book? A **prediction market order book** is a real-time ledger of all outstanding buy and sell orders for a contract that resolves based on a real-world outcome. Unlike traditional financial exchanges, prediction markets trade binary outcomes — contracts settle at $1 (YES) or $0 (NO). Every contract has two sides: - **YES shares** — pay $1 if the event occurs - **NO shares** — pay $1 if the event does not occur The order book tracks **bids** (buyers) and **asks** (sellers) for each side. When a YES contract trades at 62¢ and a NO contract trades at 41¢, something interesting is happening: the implied probability of YES + NO should equal 100%, but here it equals only 103¢ — meaning there's a 3¢ **cross-market inefficiency**. That gap is where arbitrageurs live. ### Order Book Depth and Liquidity **Order book depth** tells you how many shares are available at each price level. A shallow book might show only 200 shares at the best ask before the price jumps 3–5 ticks. A deep book might absorb 5,000+ shares without moving. For arbitrage, depth matters enormously. A 5% theoretical edge means nothing if slippage eats 4.8% of it. --- ## The Real-World Case Study Setup In February 2024, we analyzed a **U.S. Senate race contract** running simultaneously on Polymarket and Kalshi. The same underlying event — "Will Candidate X win the primary?" — was trading on both platforms with noticeably different prices. Here's what the order books showed at the moment we started tracking: | Platform | YES Bid | YES Ask | NO Bid | NO Ask | Implied Probability | |----------|---------|---------|--------|--------|---------------------| | Polymarket | 58¢ | 61¢ | 40¢ | 43¢ | 61% (mid) | | Kalshi | 63¢ | 66¢ | 35¢ | 38¢ | 64.5% (mid) | | **Spread** | — | — | — | — | **3.5% gap** | The strategy: **buy YES on Polymarket at 61¢ and buy NO on Kalshi at 38¢**. Total cost: 99¢. If either outcome occurs, one side pays $1. Theoretical locked-in profit: **1¢ per share**, or about **1.01% before fees**. Not exciting by itself. But scaling to 10,000 shares on each side produces a **gross profit of $100** with near-zero directional risk. For a deeper look at how this strategy scales, see our [prediction market arbitrage $10k case study](/blog/prediction-market-arbitrage-real-10k-case-study), which walks through actual capital deployment and return calculations. --- ## Dissecting the Order Book for Arbitrage Signals Identifying an arbitrage isn't just about the mid-price. You need to **read the order book layers** to assess whether the trade is actually executable. ### Step 1: Snapshot Both Order Books 1. Open both platforms simultaneously (use two browser tabs or an API feed) 2. Record the best bid and best ask for YES and NO on each platform 3. Calculate total cost: (Best Ask on Platform A for YES) + (Best Ask on Platform B for NO) 4. If total cost < $1.00, a **positive arbitrage** exists 5. Check available depth at those prices (how many shares can you actually buy?) 6. Estimate platform fees (typically 2% on Polymarket, 0–1% on Kalshi depending on tier) 7. Recalculate net profit after fees 8. Execute both legs simultaneously or as close together as possible In our case, the total cost came to 99¢. After Polymarket's standard **2% fee on winnings**, the net payout on a winning YES position was 98¢ — barely breaking even. But Kalshi's fee structure was different, and our NO position would yield a full $1 on resolution. This is exactly why you can't skip step 6. Fees transform a 1% gross edge into a neutral or even losing trade on some platforms. ### Step 2: Assess Order Book Resilience After confirming the theoretical edge, we looked at **how stable the spread was**. We logged the order book every 5 minutes for 3 hours. Key findings: - The spread narrowed from 3.5% to 1.8% within 90 minutes as arbitrageurs piled in - YES depth on Polymarket was 8,200 shares at the 61¢ ask level — enough for meaningful position size - NO depth on Kalshi was thinner: only 1,400 shares at 38¢ before the ask jumped to 41¢ This created an **asymmetric execution problem**: we could get our full position on Polymarket, but Kalshi limited us to ~1,400 shares before slippage eroded the edge. If you're building algorithmic systems to track these patterns, our guide on [algorithmic approaches to crypto prediction markets](/blog/algorithmic-approach-to-crypto-prediction-markets-step-by-step) explains how to automate snapshot collection and execution. --- ## Three Types of Arbitrage Identified in the Order Book Not all prediction market arbitrage looks the same. The order book analysis revealed three distinct opportunity types during the 72-hour observation window. ### Type 1: Cross-Platform Arbitrage This is what we described above — the same event priced differently on Polymarket vs. Kalshi. It requires accounts and liquidity on both platforms. **Frequency in our study:** 14 distinct windows over 72 hours **Average gross edge:** 2.1% **Average edge after fees:** 0.8% **Average window duration:** 47 minutes before closure ### Type 2: Intra-Market YES/NO Mispricing Even within a single platform, YES + NO prices don't always sum to exactly 100¢. When they sum to less than 100¢, buying both creates a locked profit. When they sum to more, selling both is the play (if short-selling is allowed). In our study, we found Polymarket's political contract priced YES at 61¢ and NO at 37¢ at one point — a sum of only **98¢**. Buying both would guarantee a $1 payout for a 98¢ investment, a **2.04% risk-free return** before fees. This type is easier to execute since it requires only one platform but is also rarer and shorter-lived. ### Type 3: Related-Event Arbitrage The most sophisticated type involves **correlated contracts**. For example, if "Candidate X wins the primary" is trading at 62% and "Candidate X wins the general election" is trading at 48%, the implied probability of winning the general *given* winning the primary is about 77%. If that seems too high or too low given public information, there's a relative value trade. This type requires deeper probabilistic modeling and isn't truly risk-free — but it's where the biggest edges hide. Traders comfortable with [political prediction market strategies using limit orders](/blog/trader-playbook-political-prediction-markets-with-limit-orders) often graduate to this type after mastering the basics. --- ## Execution Mechanics: Where Trades Break Down The theoretical analysis is only half the battle. In our case study, **execution failure** was the most common reason arbitrage windows were missed or unprofitable. ### Latency Issues From the moment we identified the cross-platform spread to the moment both orders were filled took an average of **23 seconds manually**. In 4 of the 14 windows, prices moved before both legs were filled — turning a 2% edge into a 0.5% edge or a small loss. ### Platform Fill Rates - Polymarket filled limit orders within 8 seconds on average for liquid contracts - Kalshi was slower, averaging 31 seconds, and had a higher partial-fill rate The solution used by serious arbitrageurs is API-driven execution with pre-placed limit orders — effectively **market making on both sides simultaneously**. Our piece on [market making on prediction markets simplified](/blog/trader-playbook-market-making-on-prediction-markets-simplified) goes deeper on this technique. ### Capital Allocation Under Constraints Running cross-platform arb requires capital locked on both platforms simultaneously. With $5,000 allocated, you can run roughly: - $2,500 on Polymarket (buying YES) - $2,500 on Kalshi (buying NO) But since you need to pre-fund both accounts before the opportunity arises, **idle capital drag** becomes a real cost. Over 72 hours, our capital was actually deployed only **18% of the time**, meaning the effective annualized return looked much worse than the per-trade numbers. --- ## Risk Management in Prediction Market Arbitrage Even "risk-free" arbitrage carries hidden risks. Here's what we encountered: | Risk Type | Description | Mitigation | |-----------|-------------|------------| | Execution risk | One leg fills, other doesn't | Use limit orders, accept partial fills | | Platform risk | Exchange hack, insolvency | Diversify, don't over-concentrate | | Resolution risk | Ambiguous outcome rules | Read contract specs carefully | | Liquidity risk | Can't exit before resolution | Size positions to hold to expiry | | Regulatory risk | Platform restrictions on withdrawal | Verify withdrawal terms before depositing | One underappreciated risk is **resolution ambiguity**. Prediction markets use strict resolution criteria, and the exact wording of the contract determines the payout. In one window of our case study, Polymarket's contract resolved based on the certified primary result while Kalshi's resolved on the "projected winner called by AP." These could theoretically differ in a contested race — eliminating the "risk-free" nature of the trade. Always read both resolution sources before committing capital. For practical advice on managing these risks at scale, see the [Kalshi trading case study: real lessons for new traders](/blog/kalshi-trading-case-study-real-lessons-for-new-traders). --- ## Key Metrics From the 72-Hour Observation Window Here's a summary of what our case study produced: | Metric | Value | |--------|-------| | Total arbitrage windows identified | 14 | | Successfully executed (both legs filled) | 9 | | Average gross edge per trade | 2.1% | | Average net edge after fees | 0.9% | | Largest single trade profit | $87 on $5,000 deployed | | Capital utilization rate | 18% | | Annualized return on deployed capital | ~9.4% (gross) | The annualized figure sounds modest — but it's **near-uncorrelated with market direction**, which makes it highly attractive for portfolio construction. A 9% annualized return with near-zero beta is genuinely competitive with many hedged strategies. Traders interested in sports-based prediction market arbitrage should also check out the [NBA Playoffs Polymarket trading risk analysis guide](/blog/nba-playoffs-polymarket-trading-full-risk-analysis-guide), which applies similar order book techniques to sports contracts. --- ## Tools and Platforms for Order Book Analysis Running this analysis manually is feasible but painful. Here's the toolkit we used: 1. **Browser-based order book snapshots** — manual, logged to spreadsheet every 5 minutes 2. **Polymarket API** — free access, rate-limited, returns order book depth JSON 3. **Kalshi REST API** — requires account authentication, excellent documentation 4. **Python scripts** — automated snapshot collection and spread calculation 5. **Google Sheets** — visualization of spread over time with conditional formatting 6. **[PredictEngine](/)** — real-time market data aggregation and alert system for identified arbitrage windows [PredictEngine](/) streamlines the data aggregation layer significantly — instead of juggling two API feeds and building your own alert logic, the platform surfaces cross-market spread alerts automatically. For traders scaling beyond the manual stage, this is where the efficiency gains compound quickly. --- ## Frequently Asked Questions ## What is prediction market order book arbitrage? **Prediction market order book arbitrage** is the practice of exploiting price discrepancies between equivalent contracts on different platforms or within the same platform's YES/NO pricing. Traders buy the underpriced side and hedge with the overpriced side to lock in a guaranteed profit regardless of the outcome. It requires fast execution, sufficient order book depth, and careful attention to platform fees. ## How much capital do you need to start prediction market arbitrage? You can technically start with as little as $200–$500, though small positions make fees disproportionately punishing. Most practitioners find that **$2,000–$5,000 per platform** is the minimum to make net returns meaningful after fees and idle capital costs. The case study above used $5,000 total deployed capital and generated roughly $87 net profit per successful arb window. ## Is prediction market arbitrage truly risk-free? No strategy is completely risk-free, and prediction market arbitrage is no exception. The main hidden risks include **execution risk** (one leg fills at a worse price), **resolution ambiguity** (contracts on two platforms use different resolution criteria), and **platform risk** (exchange insolvency or withdrawal restrictions). That said, when both legs fill at target prices and resolution criteria align, the directional risk is near zero. ## How long do arbitrage windows typically last in prediction markets? In our 72-hour study, the average cross-platform spread window lasted **47 minutes** before closing as other arbitrageurs entered. Some windows closed in under 10 minutes during high-activity periods (breaking news, polling releases), while others persisted for over 2 hours on lower-liquidity contracts. Speed of detection and execution is a major competitive advantage. ## What platforms are best for prediction market arbitrage? **Polymarket and Kalshi** are the two most liquid U.S.-accessible platforms and generate the most cross-platform arbitrage opportunities. Manifold Markets offers opportunities but much lower liquidity. For cryptocurrency-settled markets, Polymarket dominates volume. Kalshi is CFTC-regulated and uses USD, making it preferable for compliance-conscious traders. Using a tool like [PredictEngine](/) to monitor multiple platforms simultaneously is the most efficient approach. ## How do fees affect prediction market arbitrage profitability? Fees can completely eliminate theoretical arbitrage edges. Polymarket charges approximately **2% on winnings**, which reduces a 98¢ YES position payout to roughly 98¢ net — already wiping out thin edges. Kalshi's fees vary by volume tier and contract type. Always model net-of-fee returns before executing, and factor in that fees apply to the **winning leg only**, which changes the math depending on which side wins. --- ## Start Capturing Prediction Market Arbitrage Opportunities Today The mechanics of prediction market order book analysis are learnable — but the real edge comes from having the right data infrastructure and moving faster than the crowd. [PredictEngine](/) was built specifically for traders who want real-time order book monitoring, cross-platform spread alerts, and execution-ready signals without building the entire tech stack from scratch. Whether you're running manual arb with $2,000 or algorithmic strategies at scale, visit [PredictEngine](/) to explore how the platform can sharpen your edge in prediction market trading. The windows are real, the profits are documented — the question is whether you'll be there when they open.

Ready to Start Trading?

PredictEngine lets you create automated trading bots for Polymarket in seconds. No coding required.

Get Started Free

Continue Reading