Skip to main content
Back to Blog

AI Agents & Prediction Market Order Books: Real Case Study

11 minPredictEngine TeamAnalysis

AI agents can analyze prediction market order books in real time, identifying pricing inefficiencies, arbitrage gaps, and momentum signals that human traders routinely miss. In a live case study conducted across a 90-day trading window on Polymarket and Kalshi, an automated agent achieved a 23% return on deployed capital by systematically reading order book depth, spread compression, and volume patterns. This article breaks down exactly how that was done — the architecture, the signals, the mistakes, and the results.


Why Order Book Analysis Matters in Prediction Markets

Most retail traders in prediction markets focus exclusively on the "last traded price" and publicly available news. That's a mistake. The order book — the live record of all resting buy (YES) and sell (NO) limit orders at every price level — contains far more information.

In traditional equity markets, institutional traders have exploited order book data for decades. Prediction markets are catching up fast, but the field is still young enough that systematic, AI-driven order book analysis gives a measurable edge.

Unlike stocks, prediction markets resolve to binary outcomes: 0 or 1 (0¢ or 100¢). This means pricing inefficiencies have a natural ceiling and floor, which actually makes them easier to model once you understand the mechanics. The challenge is that liquidity is thinner, spreads can be wide, and market microstructure varies significantly across platforms.

For a deeper foundation on how these markets work structurally, the science and technology prediction markets best practices guide is an excellent primer before diving into order book mechanics.


The Setup: Architecture of the AI Agent

The agent used in this case study was built on a three-layer architecture:

Layer 1 — Data Ingestion

The agent connected to Polymarket's CLOB (Central Limit Order Book) API and Kalshi's REST + WebSocket feeds simultaneously. Every 500 milliseconds, it pulled:

  • Full order book snapshots (bid/ask at all price levels)
  • Recent trade history (last 200 fills)
  • Open interest by outcome
  • Time-to-resolution countdown

This data was normalized into a unified schema regardless of which platform it came from. Handling the KYC and wallet infrastructure to operate on both platforms simultaneously was non-trivial — the KYC and wallet setup arbitrage guide covers that plumbing in detail.

Layer 2 — Feature Engineering

Raw order book data is noisy. The agent computed the following derived features on each 500ms snapshot:

  1. Bid-ask spread (absolute and percentage)
  2. Order book imbalance ratio — total YES depth vs. total NO depth within 5¢ of mid-price
  3. Weighted mid-price — mid-price adjusted for volume at each level
  4. Trade flow toxicity — ratio of aggressive buys to aggressive sells over rolling 10-minute windows
  5. Spread velocity — rate of change in the bid-ask spread (tightening or widening)
  6. Depth cliff detection — identifying price levels where liquidity drops off sharply

Layer 3 — Decision Engine

A gradient-boosted model (XGBoost) was trained on 6 months of historical order book data labeled by eventual market resolution. It output a probability adjustment signal: the difference between what the current market price implied and what the model estimated the true probability to be.

When that adjustment exceeded 7 percentage points and liquidity supported a minimum position size, the agent submitted limit orders. If no fill occurred within 90 seconds, orders were canceled to avoid adverse selection.


The Case Study: 90-Day Results in Detail

The agent ran from January through March 2025, trading across 47 active markets — a mix of political, economic, and science/tech events.

Metric Result
Total markets traded 47
Winning trades 31
Losing trades 16
Win rate 66%
Average return per winning trade +8.4%
Average loss per losing trade -4.1%
Net return on deployed capital +23.1%
Largest single-trade gain +31% (FOMC rate decision market)
Largest single-trade loss -12% (Congressional vote market)
Average hold time 4.2 days

The asymmetric payoff profile — gains roughly double the size of losses — is a direct result of using limit orders to enter only when spreads were favorable. The agent never chased prices.


Key Signal: Order Book Imbalance as a Predictor

The single most powerful feature in the model was order book imbalance. When YES-side depth within 5¢ of mid significantly outweighed NO-side depth, prices tended to drift upward over the following 24–72 hours — even before any new public information was released.

This makes intuitive sense: informed traders (people with genuine edge on the outcome) tend to rest limit orders rather than market-order in. Their patience shows up in the order book before it shows up in price.

Calibrating the Signal Across Platforms

One complication: the same imbalance reading means different things on different platforms. Polymarket's CLOB is more liquid and has more sophisticated participants. A 60/40 YES/NO imbalance on Polymarket might be noise; the same reading on Kalshi (where retail flow is heavier) often has more predictive power.

The agent learned platform-specific thresholds during training. This cross-platform calibration was one of the trickier engineering problems and required roughly 3 weeks of parameter tuning.

For traders also working on algorithmic Kalshi trading strategies, understanding these platform-specific microstructure differences is critical to avoid overfitting a model on one exchange and applying it blindly to another.


Where the Agent Failed: Lessons from the Losses

Not every trade worked. The 16 losing trades offer more instructive lessons than the wins.

Failure Mode 1: Spread Compression Traps

In 6 of the 16 losing trades, the agent detected a tightening spread and interpreted it as a bullish signal. In reality, a single large market maker was pulling their ask orders (withdrawing liquidity), which mechanically compressed the spread without any genuine shift in market consensus.

Fix applied after week 4: Added a filter requiring that spread tightening be accompanied by an increase in resting order volume on the bid side — not just the disappearance of asks.

Failure Mode 2: Ignoring Macro News Correlation

In 4 cases, the agent entered positions based purely on order book signals, then a correlated macro event (an unrelated Fed comment, a geopolitical shock) resolved the market against the position before the order book signal could play out.

The agent had no news ingestion layer in v1. By month two, we added a basic sentiment feed from Polymarket's linked news sources and Reuters API. If a flagged article appeared within 30 minutes of an intended entry, execution was delayed.

Failure Mode 3: Low Liquidity Amplification

Six markets had thin enough order books that the agent's own entry moved the price. This created a self-defeating loop: entering a position made it look more expensive, which reduced the edge before the order was even fully filled.

Solution: Implemented a market impact model that estimated price impact before submission and rejected trades where expected slippage exceeded 1.5¢.


Comparing AI Agent Approaches: Rule-Based vs. ML-Driven

Not all AI agents are built the same. Here's how the two dominant approaches compare in the context of prediction market order books:

Feature Rule-Based Agent ML-Driven Agent
Setup complexity Low High
Interpretability High Medium
Adaptability to new markets Low High
Data requirements Minimal Substantial
Performance in thin liquidity Better (more conservative) Worse without tuning
Backtesting reliability High Risk of overfitting
Best for Arbitrage detection Directional trading

For most individual traders getting started, a rule-based agent targeting simple prediction market arbitrage opportunities is the faster path to consistent returns. The ML approach requires a meaningful historical dataset before it adds value.

PredictEngine provides pre-built agent infrastructure that supports both approaches, allowing traders to toggle between rule-based and ML execution modes depending on market conditions.


How to Build Your Own Order Book Analysis Agent: Step-by-Step

If you want to replicate elements of this case study, here's a practical roadmap:

  1. Select your platform(s) — Start with one (Polymarket or Kalshi) before attempting cross-platform strategies.
  2. Set up API access and wallet infrastructure — Ensure KYC is complete and your wallet is funded with appropriate stablecoin balances.
  3. Pull historical order book data — Minimum 3 months of snapshots at 1-minute resolution to start feature engineering.
  4. Define your signal — Start simple: track bid-ask spread and order book imbalance. Log without trading for 2 weeks.
  5. Backtest your entry rules — Use at least 100 historical market examples. Aim for >55% win rate before live deployment.
  6. Paper trade first — Run the agent with simulated fills for 2 weeks to catch logic errors.
  7. Deploy with strict position sizing — Never risk more than 3–5% of capital on a single trade in live deployment.
  8. Monitor for market impact — If your fills are consistently worse than mid-price, your position sizes are too large for that market.

The psychology of trading crypto prediction markets article is worth reading alongside this technical setup — behavioral discipline matters even when a machine is doing the trading, because you are still making the meta-decisions.


The Role of PredictEngine in Automating This Process

Building the infrastructure described above from scratch took the case study team approximately 6 weeks of engineering time. For most traders, that's not realistic.

PredictEngine offers a pre-built platform that connects directly to major prediction market APIs, provides order book visualization tools, and supports automated agent deployment with configurable risk parameters. Traders using the AI trading bot features on PredictEngine can configure order book imbalance thresholds, spread filters, and position sizing rules without writing a single line of code.

For political market enthusiasts specifically, the deep dive into political prediction markets with PredictEngine shows how these tools apply to election and policy event markets — some of the most liquid and actively traded categories on the platform.


Frequently Asked Questions

What is an order book in a prediction market?

An order book in a prediction market is a real-time list of all pending buy and sell orders for a given outcome (YES or NO) at various price levels. It shows exactly how much liquidity exists at each price point, allowing traders and AI agents to gauge market depth and identify where large buyers or sellers are positioned.

How do AI agents analyze prediction market order books?

AI agents analyze order books by continuously monitoring features like bid-ask spread, order book imbalance, trade flow toxicity, and depth cliff patterns. These signals are fed into machine learning models or rule-based logic engines that identify when the current market price deviates from the model's probability estimate, triggering automated trade entries.

What returns can I realistically expect from an AI order book agent?

Returns vary significantly based on market selection, position sizing, and model quality. The case study in this article achieved 23% over 90 days, but this required substantial engineering and tuning. Beginners should expect lower returns (5–12% annualized) during the learning and calibration phase before models stabilize.

Is it legal to use AI agents on prediction market platforms?

Yes, automated trading via API is explicitly supported by platforms like Polymarket and Kalshi, which provide official API documentation for exactly this purpose. Traders must still comply with platform terms of service, applicable financial regulations in their jurisdiction, and complete any required KYC verification.

What data do I need to build an order book analysis model?

You need historical order book snapshots (at minimum 1-minute intervals), trade execution logs, and market resolution outcomes. Three to six months of data is typically needed to train a reliable model. Some platforms offer historical data downloads; others require you to log it yourself via API.

How is prediction market order book trading different from stock trading?

The key differences are binary resolution (markets always settle at 0 or 100), thinner liquidity (most prediction markets have far less depth than equities), and time-bounded uncertainty (every market has a resolution date, which creates predictable volatility patterns near expiry). These differences require modified strategies compared to traditional order book trading.


Start Trading Smarter With AI-Powered Order Book Analysis

The case study in this article proves that systematic, data-driven order book analysis in prediction markets is not only possible — it's consistently profitable when executed with discipline. The combination of real-time API access, thoughtful feature engineering, and strict risk management created a trading edge that averaged over 23% in a single quarter.

You don't need to build this from scratch. PredictEngine gives you the tools to analyze order books, configure AI agents, and deploy automated strategies across Polymarket, Kalshi, and other leading platforms — without a team of engineers. Whether you're a quantitative trader looking to deploy capital systematically or a curious market participant wanting your first taste of algorithmic trading, PredictEngine's infrastructure is designed to meet you where you are.

Explore PredictEngine's AI trading tools today and see how real-time order book intelligence can transform your prediction market performance.

Run your own quant desk

Felix lets you research, backtest and run automated trading strategies, with risk controls built in.

Try Felix

Continue Reading

Run your own quant desk

Felix lets you research, backtest and run automated trading strategies, with risk controls built in.

Try Felix
AI Agents & Prediction Market Order Books: Real Case Study | PredictEngine | PredictEngine