Skip to main content
Market Intelligence helps the LLM decide which markets to trade, when to enter, and when to exit - the research layer that feeds the autonomous decision loop.

Market Fitness Scoring

Before deploying a strategy on a market, assess whether it’s a good fit.

Scoring Dimensions

DimensionWhat It MeasuresSource
LiquidityOrderbook depth, spread, daily volumeExchange orderbook + trade data
EdgeMispricing vs. LLM forecastLLM signal engine + oracle
Strategy FitIs this market suitable for MM / directional / arb?Microstructure analysis
RiskCorrelation with portfolio, tail riskPosition data + correlation matrix
Time ValueTime to resolution vs. capital lockup costResolution calendar + yield curve
# Rank markets by fitness
scores = market_scorer.rank(
    markets=discovered_markets,
    strategy_type="market_maker",
    portfolio=fund.positions(),
    top_n=10,
)
# [{"market": "will-x-win", "score": 0.87, "liquidity": 0.92, "edge": 0.75, ...}, ...]

Market Resolution Settlement

Prediction markets have a unique lifecycle: they resolve to 0 or 1. This system automates end-of-life handling.

Settlement Flow

1

Market Active

Strategy is trading the market normally.
2

Resolution Detected

Exchange confirms the market has resolved to an outcome.
3

P&L Booked

Position settles at 0 or 1. Realized P&L recorded.
4

Capital Freed

Released capital returns to the fund pool for reallocation.
5

Post-Analysis

Was the edge real? Update models for similar future markets.
StepWhat Happens
Resolution DetectionPoll exchange for resolved markets
P&L BookingPosition settles at 0 or 1, realized P&L recorded
Capital RecyclingFreed capital returns to fund pool
AttributionResolution P&L tracked separately from trading P&L
Post-AnalysisWas our edge real? Update models for future markets

Near-Resolution Handling

Markets approaching resolution need special treatment:
  • High confidence: hold to resolution (maximize edge capture)
  • Low confidence: exit early (reduce variance)
  • Liquidity drying up: exit before orderbook disappears
  • Cancel open orders: prevent getting filled at bad prices near resolution

Event Calendar Intelligence

Track catalysts that move markets and use them for timing.
# Upcoming catalysts
catalysts = calendar.upcoming(days=7)
# [
#   {"event": "FOMC Decision", "date": "2026-03-18", "markets_affected": 12},
#   {"event": "CPI Release", "date": "2026-03-20", "markets_affected": 8},
# ]

# Score markets by catalyst proximity
scored = calendar.catalyst_score(markets)

Market Universe Management

The set of markets the fund actively tracks and considers for trading.

Universe Lifecycle

1

All Markets

Full set of markets across all connected exchanges.
2

Discovery Filter

Apply minimum liquidity, volume, and fitness score thresholds.
3

Active Universe

Markets the fund is actively tracking and considering for strategies.
4

Strategy Assignment

Assign the best-fit strategy template to each market.
5

Trading

Deploy and run strategies. Remove markets that resolve, lose liquidity, or get restricted.
ActionTrigger
Add marketNew market discovered with fitness score above threshold
Remove marketMarket resolved, liquidity dropped, or compliance restricted
Promote marketFitness score improved, assign strategy
Demote marketFitness score declined, reduce exposure
# Configure market universe
universe = MarketUniverse(
    exchanges=["polymarket", "kalshi"],
    min_liquidity=1000,
    min_volume_24h=5000,
    excluded_categories=["adult"],
    max_markets=100,
)
universe.refresh()  # Scan and update

MCP Tools

ToolDescription
scan_opportunitiesScan all markets, return ranked by fitness
research_marketDeep analysis of a single market
resolution_statusCheck resolution status of active markets
market_universeCurrent universe with fitness scores