Find Profitable Prediction Market Trades
Screen prediction-market questions in bulk with binary forecasts, compare to live prices, and sort by expected profit. The same workflow applies to Polymarket, Kalshi, or any market that exposes question text and a price you can pull.
The pattern has three steps: assemble the questions (with current prices), run a single binary forecast call across the batch, then compute expected value against the prices.
Add FutureSearch to Claude Code if you haven't already:
claude mcp add futuresearch --scope project --transport http https://mcp.futuresearch.ai/mcp
Tell Claude what to screen:
Find 100 interesting prediction-market questions where there might be
profit opportunity. Focus on politics, AI, economics, and geopolitics.
Skip sports and crypto.
Claude calls futuresearch_agent to compile the list, then futuresearch_forecast in binary mode:
Tool: futuresearch_forecast
├─ data: [{"question": "Will the Fed cut rates before July 2027?", ...}, ...]
├─ forecast_type: "binary"
└─ context: "These are prediction-market questions. Forecast the probability of YES resolution."
→ Submitted: 55 rows for probability forecasting.
Tool: futuresearch_progress
→ Completed: 55/55 (0 failed) in 590s.
Tool: futuresearch_results
→ Saved 55 rows with probability and rationale columns.
Finally, compare against live prices:
Use the prediction-market API to fetch order books for these questions.
Compute expected profit if these forecasts are right, and sort by
annualized ROI.
Claude writes and runs a script that pulls live order book data and computes expected returns.
Add the FutureSearch connector if you haven't already. Then ask Claude in sequence:
Find 100 interesting prediction-market questions where there might be profit opportunity. Focus on politics, AI, economics, and geopolitics.
Then:
Forecast these questions.
Then:
Use the prediction-market API to fetch live order books and compute expected value, sorted by annualized ROI.
Go to futuresearch.ai/app and enter:
Find 100 interesting prediction-market questions where there might be profit opportunity. Focus on politics, AI, economics, and geopolitics.
After the list is compiled, follow up with:
Forecast these questions.
pip install futuresearch
export FUTURESEARCH_API_KEY=your_key_here # Get one at futuresearch.ai/app/api-key
import asyncio
import pandas as pd
from futuresearch.ops import forecast
# Step 1: Collect questions and live prices.
# (Pull these from the prediction-market API, or load a CSV you've curated.)
questions = pd.DataFrame([
{
"question": "Will the US Federal Reserve cut rates by at least 25bp before July 1, 2027?",
"resolution_criteria": "Resolves YES if the Fed announces at least one rate cut of 25bp or more.",
"market_url": "https://example-prediction-market.com/event/...",
"current_price": 0.62,
"resolution_date": "2027-07-01",
},
{
"question": "Will the EU AI Act enforcement begin before January 2027?",
"resolution_criteria": "Resolves YES if EU AI Act enforcement actions are publicly documented.",
"market_url": "https://example-prediction-market.com/event/...",
"current_price": 0.45,
"resolution_date": "2027-01-01",
},
# ... more questions
])
async def main():
# Step 2: Forecast all questions.
result = await forecast(
input=questions,
forecast_type="binary",
context="These are prediction-market questions. Forecast the probability of YES resolution.",
)
# Step 3: Compute edge and expected value.
df = result.data
df["forecast_price"] = df["probability"] / 100
df["edge"] = df["forecast_price"] - df["current_price"]
profitable = df[df["edge"].abs() > 0.05].sort_values("edge", ascending=False)
print(profitable[["question", "current_price", "forecast_price", "edge"]])
asyncio.run(main())
For production use, fetch live order book data to compute actual expected returns accounting for available volume and slippage. Annualizing the ROI is important: a small edge in a market resolving next week is usually better than a large edge in one resolving a year from now.
Effort. Batches default to LOW effort ($0.09 to $0.20 per row). For a single high-stakes question or a small set you really care about, set $1.20 per row).effort_level="HIGH" for more accuracy per row (
Even high-quality forecasts aren't enough to trade blindly. The value is in identifying promising markets where additional research is productive. After identifying a high-EV question (say, an FDA approval), the next prompt is usually a deeper dive:
Research the FDA approval of Retatrutide further.
Find the 25 most similar drugs, and whether they were approved or not and why.
The most profitable strategies use the screen as a funnel into human research, not a fully automated trading loop.
For Polymarket-specific worked examples and a backtest narrative, see Forecasting Polymarket Questions with AI.
Built with FutureSearch. See the forecast documentation for all parameters and output formats. Related guides: Turn Claude into an Accurate Forecaster, Forecast Outcomes for a List of Entities, Value a Private Company.